Hello RJ,
Thanks for the updates and clarifications. I listed Jamendo because it was
the first service I managed to work with. Today, I managed to use
SoundCould’s Rest API to search and download music making GET requests, so
this will be part of my proposal too.
Going through the code, I've seen that SoundSource doesn’t provide a way to
stream from an online service. That is why I asked if I’m allowed to
download the audio file (and also because I didn’t know what to do from a
legal point of view).
The way that I see my proposal is: the user will be able to make queries
regardless the cloud service he is using. After the information is
collected from the user, a request, specific to each service, will be made
(using its API), and after a response is received (XML or JSON) it is
parsed. After this, the relevant information (artist name, track name,
download url, etc.) will be delivered to the user. This information
delivered to the user should be the same for each service. In this way, a
new cloud service will only need to implement how to make a request with
its API using the information provided by the user, and how to parse the
response in order to give the user the response in the desired format.
I was thinking that it will be useful for the user to also have the
possibility to download music from his personal cloud storage (for example
Google Drive). This would imply an additional authentication module, but
besides this, the searching and retrieving information mechanism will be
the same as for a cloud service like SoundCloud. What do you think about
this?
I’m working at my proposal as we speak and I’ll let you know when a first
version will be available.
Thank you,
Irina
On Wed, Apr 24, 2013 at 11:10 PM, RJ Ryan <[email protected]> wrote:
> Hey Irina,
>
> I just wrote some updates to the project description -- please take a look:
>
> http://www.mixxx.org/wiki/doku.php/gsoc2013ideas?&#cloud_library_support_soundcloud_spotify_etc
>
> I've written some comments inline:
>
> On Mon, Apr 22, 2013 at 9:56 AM, Irina Grosu <[email protected]>wrote:
>
>> Hello,
>>
>> I have a question regarding the Streaming Services Support GSoC idea. It
>> is wanted to stream directly from the web or the audio file can be
>> downloaded to the computer?
>>
>> For example, using Jamendo’s Rest API, I’m allowed to search files and
>> retrieve information in the JSON format. I’m able to parse the result and
>> retrieve the Url of the resource (besides other information). Using that
>> Url I’m able to receive its content over the network. Now, I don’t know if
>> I can save the file to the computer, and pass to the Mixxx classes the file
>> location and use it as a normal file, or I should only store the content as
>> a temporary object (I could use QTemporaryObject). If the file would be
>> permanently saved to the computer, the user will be allowed to play the
>> file everytime he wants, and will not need to make another query to Jamendo.
>>
>> Jamendo’s license says that the music can be downloaded as long it is for
>> non-commercial use.
>>
>
> I know the original description listed Jamendo but please don't make it
> the focus of your proposal. It is free culture music but the impact of
> including a service like that is pretty low while there is potentially huge
> benefit to going for something like SoundCloud.
>
> I've updated the original description to include some details on the issue
> of streaming or downloading the whole file -- as you may have discovered
> Mixxx does not support SoundSource's that do not know their length. This
> poses a problem for streams. You only need to deal with downloading the
> file in V1 but should leave room in your design such that we could
> transition to streaming in the future. If you end up with free time at the
> end of the summer you could begin working on the changes required to
> support a streaming SoundSource.
>
>
>> What method do you think I should follow in my proposal?
>>
>> Thank you,
>>
>> Irina
>>
>> On Thu, Apr 18, 2013 at 11:34 PM, Irina Grosu <[email protected]>wrote:
>>
>>> Hello,
>>>
>>> My name is Irina Grosu and I'm a first year Master student at the
>>> Faculty of Computer Science from Iasi, Romania. I’m interested in the
>>> “Streaming Services Support” GSoC project idea.
>>>
>>> I have already contacted RJ this week, but I wanted to introduce myself
>>> here, also. I took this week to get used to Mixxx and, as I learned more
>>> about it, I’ve become more interested and excited about collaborating with
>>> your organization.
>>>
>>> Last year, I was a GSoC student, working for The Outercurve Foundation
>>> and it was a great experience for me, from which I learned a lot. I was
>>> also happy that I was able to put my skills and knowledge into practice,
>>> working on something that it is used worldwide. If you want to find out
>>> more about the project that I worked on last year at GSoC, and about my
>>> professional experience, feel free to visit my website:
>>> http://students.info.uaic.ro/~irina.grosu
>>>
>>> As I have previously mentioned, I’m interested in the Streaming Services
>>> Support idea. It is my understanding that this project must consist in a
>>> modular system that will make it easy for developers to add new API support
>>> for streaming services.
>>>
>>> I was thinking that it would be interesting to also stream radio,
>>> besides music tracks. As a start, I could provide the user with the
>>> possibility to enter the URL of a radio stream and listen to it. Also, he
>>> would have the possibility to choose from the channels provided by popular
>>> streaming sites. I think that SomaFM could be a good fit, and I was able to
>>> retrieve information about the provided channels using this xml file:
>>> http://somafm.com/channels.xml. Another streaming media server worth
>>> considering is Icecast.
>>>
>>
> I think this isn't a good fit for Mixxx -- primarily Mixxx is for live DJ
> performances, so listening to radio streams isn't really within the scope
> of the project. Also, as I mentioned before there are serous architectural
> issues in Mixxx that prevent you from making a streaming SoundSource so I
> don't think this would work anyway until we solve those issues.
>
>
>
>> Another nice functionality would be the possibility to search music
>>> over two important sites: Jamendo and Last.fm. I could use multiple search
>>> criteria and retrieve the requested information using the REST API,
>>> provided by both mentioned streaming services.
>>>
>>
> The way I envision the project search is the primary interface to the
> cloud library providers. There's no reason to limit it to just one or two
> sites though -- it should support searching over all the enabled cloud
> library backends.
>
>
>> Please let me know your thoughts on these ideas. Could this be a start
>>> for my proposal? I would appreciate it if you pointed me in the right
>>> direction.
>>>
>>
> With the exception of the few clarifications I made above you seem to be
> on the right track -- feel free to write back with any questions and we
> look forward to reading your application.
>
> Best regards,
> RJ
>
>
>
>> Thank you,
>>>
>>> Irina
>>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Precog is a next-generation analytics platform capable of advanced
>> analytics on semi-structured data. The platform includes APIs for building
>> apps and a phenomenal toolset for data science. Developers can use
>> our toolset for easy data analysis & visualization. Get a free account!
>> http://www2.precog.com/precogplatform/slashdotnewsletter
>> _______________________________________________
>> Get Mixxx, the #1 Free MP3 DJ Mixing software Today
>> http://mixxx.org
>>
>>
>> Mixxx-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>>
>
>
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel