sonic-pi-net / sonic-pi

Code. Music. Live.
https://sonic-pi.net
Other
10.82k stars 922 forks source link

Enhancement - Add Cloud Based File Storage #760

Open sfradkin opened 9 years ago

sfradkin commented 9 years ago

Thinking about working with Sonic Pi in a class-based setting, it would be a nice feature to have a way for students to be able to store their creations during the class and be able to load them on a different computer at home. The Scratch project does something like this where kids need to create a user account and their projects are stored with their account.

I don't know if full blown user accounts are somewhere that Sonic Pi wants to go, but it would be great to have some way to do this.

xavriley commented 9 years ago

This is a good idea and one that we've been kicking around internally for quite some time, although it hasn't materialised yet probably due to lack of time :)

Up to now there's a sort of ad-hoc storage/sharing system using two free tools: Gist and Soundcloud.

Gist is run by Github and allows users to upload bits of text - this is where you'd copy and paste your code to e.g. https://gist.github.com/xavriley/c3e79c8b3fa4c1d85aac

Soundcloud lets you upload the audio (which you can make using the "Record" button in Sonic Pi) e.g. https://soundcloud.com/xavriley/humanized-house

Whilst it would be much better to have a dedicated online community space, this is where we're at so far. Lots of people are sharing and tagging with #SonicPi https://soundcloud.com/tags/sonicpi and I hear that the kids like hashtags or something...

I have some ideas about how we can streamline this stuff but it would involve being able to "render" the audio files by running Sonic Pi on a webserver, which is tricky because most webservers don't have sound cards. Once I've cracked that problem I might be able to throw something together but I've got no idea what kind of time frame that will take. Hopefully the ad-hoc approach might work for you in a classroom setting - what do you think?

hzulla commented 9 years ago

Wouldn't it be more obvious to implement loading local files first?

sfradkin commented 9 years ago

@xavriley I really just wanted to get this out there as a "nice to have" thing that would really help. I'll be teaching a Sonic Pi class this winter so I'm starting to think about things that would be helpful in that setting using a school computer lab. @samaaron thought it would be good to discuss this and perhaps come up with some high level approaches and if someone has time to implement it, then maybe it'll be pushed up the priority list.

@hzulla :+1: Another nice thing to have.

ivar commented 8 years ago

@sfradkin - what would you imagine as an ideal cloud repository ? With the existing git backend, how crazy would it be to have an open sonic-pi organization on github that is integrated right into sonic-pi and acts as a collection of published sonic-pi repos/compositions ? Or perhaps sonic-pi.net becomes a gitorious fork that hosts compositions itself with a beautiful UI? Is it even fair to expect sonic-pi could connect to the internet?

Sorry if I'm going way out into left field here, I'm just keen to blue-sky what an "ideal" sonic-pi community would look like..

samaaron commented 8 years ago

@ivar totally want that. Fancy working on it?

sfradkin commented 8 years ago

@ivar - I don't really have anything particular in mind as to the "ideal" repository. Anything we can have in Sonic Pi to lower the barrier to sharing files across computers would be helpful. Remember, this needs to be easy for kids to use as well as adults. In my case, I want something that will allow a kid using a school computer lab to be able to easily share his or her files between that school computer and a home computer. I can get around the issue by just providing USB sticks, but it would be nice to have some kind of online solution as well.