Google Chrome Playback Issues

If you're a Google Chrome user, you might have recently noticed that the music stops playing if you're not focused on the tab. Thanks to EclecticSonophile, we now know what's going on — unfortunately, there's not much we can do about this, as it's an official update to Google Chrome:

Google Chrome will now defer playback of autoplay media until the tab is foregrounded in the latest Dev Channel. This means no more "Where's that sound coming from?" moments when an ad for instance decides to autoplay in a tab you've specifically opened in the background.

We're hopeful that Google will reverse this decision, and either remove the feature or give us an option to disable it, as judging from the comments on that post there is a swathe of other applications that this breaks, including Google's own Google Music. It's a reasonable feature to have, especially in the interest of preventing user annoyance, but not when enabled by default at the expense of so many apps in so many different use-cases.

In the meantime, you can keep soundtrack.io in its own window and it should continue to play, so long as it is visible on your desktop.

TheXenocide: Besides that, each window has a foreground tab and non-foreground windows still seem to load as long as some small portion of the window is visible (even if the window isn’t focused) TheXenocide: I have a little sliver of my window visible behind a bunch of windows but I just keep stio in its own window now

So there's that. We hope this won't be a permanent issue for Chrome users, but we're already on our way back to Firefox. It crashes less often, anyway!

Better Controls for Room Hosts

delete from queue
Delete From Queue

tl;dr we've added a bunch of controls for room hosts to moderate their rooms. Read on for details!

It's been a fantastic month for the soundtrack.io community. More than 500 new users have joined the site in the past month, creating dozens of new, active rooms ranging from the upbeat "Classic" room by toriborealis to the broadly-themed "The Muffin Shed" by muffinboombox. We're now tracking over 570,000 tracks credited to over 90,000 unique artists.

With all of that new activity has come great new feedback, and a renewed surge of energy to resolve long-outstanding questions. Among those long-outstanding questions were many questions about queue management and host controls.

Delete from Queue
Today, we're excited to launch the "delete from queue" button for room hosts, which allows the creator of the room to better manage the tracks that play in their room. This feature makes it easy to remove a track queued accidentally, or even one that just simply doesn't belong.

Room Permissions
Furthermore, we've also added the ability to manage room permissions, such as toggling support for public queues or even skips. By clicking the "edit" button next to your room on soundtrack's home page, you can manage both these and other items, such as your room's description.

There will be many more updates to room configuration in the near future, so stay engaged with our upcoming feature list by commenting on your favorite ideas, sharing your new ideas, or even contributing directly.

We've also handed out editor rights to a number of people who have expressed interest, giving them the ability to manage the tags of tracks in the soundtrack.io library. This helps with making sure tracks always play, as correct tags help the machine find other places to source the audio from! Editors are an essential part of soundtrack's continued success, so make sure to thank them the next time you see one.

We've been very excited to continue improving our own little open-source corner of the music world, and we hope you like what we're doing. Feel free to come by the Maki Slack if you're interested in helping, and as always, thanks for being such a valuable part of the soundtrack.io community!

What is soundtrack.io?

soundtrack.io hosts the public instance of Soundtrack, a collaborative playlist manager with support for Windows, MacOS, Linux, Android, and more to come. Built with the Fabric Protocol, soundtrack runs "offline first" — once installed, applications can remain functional while disconnected from any network.

Heads Up

This is alpha software which makes no guarantees or transfers without external review. Proceed at your own risk.

Using Fabric for Distributed Systems

We built Soundtrack using Fabric, an object-oriented {@link API} for decentralized applications. Soundtrack is a demonstration of Swarm, a type of smart contract running on fabric. You can learn more through Grove.

Credits

soundtrack.io emerged from the Coding Soundtrack community on turntable.fm, which you might recall shut down in a manner not unfamiliar to the recently displaced. We too migrated to plug.dj, in our case when the turntable.fm team made it clear that our efforts to extend and enhance the platform (with useful plugins, automatic queue moderation bots, and statistics tracking tools) were unwanted and even actively discouraged. With the migration to plug.dj came the promise of a supportive administration, excited to expose APIs and embrace the things we built with them.

However, after a period of stagnation and the departure of key plug.dj admins, it became clear that this was not the case.

Almost immediately, we decided to hack together an alternative that did exactly what we wanted — a no-frills platform for listening to music with our friends. After a short weekend of experimentation and prototyping, we emerged with a basic skeleton of an application that supported YouTube video synchronization for a single room. It worked! It was sufficient for the most of us.

Over time, we wanted more features. Except this time, rather than having to write bots to add the functionality we wanted, we could simple edit the source code directly, and have it be part of the overall experience for everyone! Ah, the benefits and joys of open source.

soundtrack eventually evolved abilities well beyond the initial scope — sets & playlists, multiple audio sourcing mechanisms (including SoundCloud, BandCamp, and soon BitTorrent), and even the more recent addition of user-created rooms. We are now a strong community who use the platform on a regular basis, a network of friends who've known each other, in some cases, for the better part of a decade. We're generally pretty happy with our quiet-but-music-filled corner of the internet, but we know we can do better.

You might've noticed the rigid design of our prototype. Certain things only half work, and some not at all. Sometimes the audio unmutes randomly. Sometimes the music doesn't play, and when it does, the video has been deleted or otherwise removed! Sometimes, the site gets slow as we try to track down audio sources for obscure remixes...

The cobwebs that develop in the innards of a codebase that was never really intended to be shipped to production are likely familiar to us engineers. We're all too familiar with technical debt, and soundtrack.io is no exception. We've never intended to make money from soundtrack, and so it's simply been a side project with a small number of contributors who participate for one reason — because we love music. The work that's gone into soundtrack has inspired an entire host of other projects, some that've gone on to become funded and successful companies.

In fact, one of those projects is the very platform you're reading this post on. The foundations of soundtrack made their way into a new framework we've affectionately named Maki, a hand-rolled architecture for crafting applications faster than ever before. We have lofty goals for Maki, and soundtrack.io is our first major application that uses the Maki infrastructure design.

We need help, though. Specifically, we're looking for people with experience with technologies like React and RethinkDB, or knowledge on the architecture of distributed systems, to help build out the next layer that will let us take soundtrack.io to the next level. We are and always will be open source, and have some lofty aspirations about the future of the music industry and application infrastructure alike. If you're interested in helping, make sure to join our Slack and our GitHub repository.

We've got a lot of updates to soundtrack.io to share in the coming weeks. Make sure to hang around, and as always, submit feedback if you're feeling constructive.

‡ in our experience, a platform being unwelcoming to developers is an extremely strong indicator to the eventual failure of that platform.

Get Connected

Twitter

@soundtrackio

GitHub

martindale/soundtrack.io

Contact Us

Built with Maki.