First off, I'm very impressed with Pushtape. It would be awesome to leverage Soundcloud for playlists and tracks. The social aspect of SC would be key to allow artists to promote and share their music. Streaming from SC would remedy any file download issues. I'm happy to help with this.

Comments

zirafa’s picture

I believe discipolo has gotten something working with Soundcloud integration, hopefully he can comment with some details or a config recipe.

If you want to just embed Soundcloud's default widget, it should be pretty easy. Check out:

But if you want customization and tighter integration like allowing the Pushtape's SM2 360 player to play from SoundCloud sources, it is a bit trickier. Some resources that may help with this:

dww’s picture

Issue summary: View changes

I'm also impressed with Pushtape, thanks zirafa! And interested in this. Definitely can't be hosting the audio for DerekWrightMusic.com on that site. Considering SoundCloud (and also BandCamp, or for the teaser samples, even a YouTube playlist). If I get inspired and end up working on this I'll update again. Meanwhile, curious if anyone else has any luck with SC.

Cheers,
-Derek

zirafa’s picture

Thanks!

I think probably soundcloud has the greatest potential for backend integration - though the biggest challenge might be the sound playback itself. I did a little more work with this last year and made some progress...eventually I'd like to get SC support in the pushtape-player.js script directly to avoid having two separate playback methods depending on source.

https://developers.soundcloud.com/docs/api/guide#playing

dww’s picture

Cool, thanks. For now I'm concentrating on putting my 30-60 second teaser audio up as a YouTube playlist, since that's completely free (unlike Bandcamp or SoundCloud, which make more sense for hosting the full tracks, I think). I haven't even looked, but could pushtape-player.js handle launching the audio from YouTube, too?

Maybe I'll come find you in #pushtape to chat about some stuff in real time. I've got various questions on The Right Way(tm) to both customize my site and contribute back the changes you want upstream. What TZ are you in these days? I'm in PST for the most part.

Cheers,
-Derek

Leeteq’s picture

#4: The first extra module I missed in Pushtape was https://www.drupal.org/project/video_embed_field , which embeds videos from Youtube / Vimeo easily. This will be replaced with the Media module when it is stabilized, I guess, or it may be a lightweight specific module that is sufficient on its own.

Workflow-wise and structure-wise;
- how are you planning to deal with having a teaser variant on Youtube? How will you want to handle the posting and availability in practise? Using Field Permissions or the like? Have one field with a link to the Youtube teaser, and another field requiring purchase / role membership to access the whole track? Will you then have 2 separate track fields, the latter with an upload to Soundcloud (or alternatively "somewhere else") where you host the full audio or video track?

zirafa’s picture

@dww: I am in central time.

Just some background: my approach with Pushtape has been to not rely too much on third party APIs which typically require API keys to setup and evolve over time. Most likely anyone running Pushtape is already invested in the idea of self-hosting, so the focus (so far) has been on self hosted files. This is mostly a pragmatic decision for maintenance and architectural reasons, it's not that I'm against the idea of offloading bandwidth.

The ideal player would be able to handle seamless audio playback from a variety of sources...local files, soundcloud, bandcamp, youtube, vimeo, etc. Pitchfork.com (for example) does this very well, by having a meta playlist script that switches playback methods based on source type. Unfortunately to get this kind of elegant front-facing behavior requires a lot of hacking and cobbling on the backend to resolve various sources and playback methods - additionally a webdeveloper must configure multiple api keys, and it's a constant race to make sure third party api changes don't break the player. I think progress can be made, but it'll be slow :)

It's much easier if you want to go "all-in" with your media on one platform, since then you can just leverage embedding the native (soundcloud, youtube etc) widgets and be done with it, and the Media module has some good widget integration for doing that kind of thing. But if you start mixing media sources, things can get quickly get hairy.

gusaus’s picture

MediaFront already does this to a certain extent and there's a related request #1885558: Playing soundcloud content?. There are already StreamWrappers for many of the providers we're discussing. Possibly there's an opportunity to combine efforts?