User Tools

Site Tools


gsoc2014ideas

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
gsoc2014ideas [2014/01/19 17:33]
kain88 created
gsoc2014ideas [2014/02/26 06:35] (current)
daschuer [Enhanced Platform Integration]
Line 25: Line 25:
  
  
-===== Cloud Library Support (SoundCloud,​ Spotify, etc.) ===== 
- 
-There are many music discovery services which give users access to a broad library of music. Many of these services have APIs that allow 3rd-party clients to access the library and download music on the behalf of the user. We think these services will be a powerful tool for our users to explore how songs fit in their mixes. 
- 
-Your application should include details of which streaming services you plan to integrate and how you will make use of their download/​streaming APIs (if they exist). We are not looking for dedicated integration of a service (for example, we aren't looking for a SoundCloud or YouTube section of the Mixxx library) -- rather we envision a generic "​Internet Tracks"​ section of the library where users can search across all of their enabled cloud library services to find and play tracks. ​ 
- 
-In the very least, your proposal should define a modular system for plugging in new streaming services so that in the future all that is required to add more is defining how to search and download from the API of the new service. Also consider what will be most useful to a DJ and contact us on our mailing lists with your ideas. 
- 
-Note, that due to technical restrictions streaming music in the Mixxx engine is very difficult. Your proposal should leave room in the future for streaming but in the implementation you write it should support download of the music to a temporary storage location for playing. This has the added bonus that it ensures there are not hiccups in the audio due to a bad Internet connection. ​ 
- 
-Some related bugs on Mixxx'​s bug tracker can be found here: 
-  * [[https://​bugs.launchpad.net/​mixxx/​+bug/​938180]] 
-  * [[https://​bugs.launchpad.net/​mixxx/​+bug/​894652]] 
-  * [[https://​bugs.launchpad.net/​mixxx/​+bug/​669273]] 
-  * [[https://​bugs.launchpad.net/​mixxx/​+bug/​889898]] 
-  * [[https://​bugs.launchpad.net/​mixxx/​+bug/​918222]] 
  
 ===== Keyboard / MIDI Mapping GUI ===== ===== Keyboard / MIDI Mapping GUI =====
Line 48: Line 32:
 We suggest you check out the MIDI mapping GUI present in Mixxx 1.10.0 and think of ways to improve on it. For example, one very user-unfriendly aspect of it was that you had to know the ControlObject names of the controls you wanted to connect to a MIDI message. The point-and-click MIDI mapping wizard in 1.11.0 now includes a drop-down of all mappable controls. This is a much better way for users to decide on what control to map a message to. Another very useful exercise is checking out the various commercial DJ software offerings out there and examining how they allow users to map MIDI controllers. We suggest you check out the MIDI mapping GUI present in Mixxx 1.10.0 and think of ways to improve on it. For example, one very user-unfriendly aspect of it was that you had to know the ControlObject names of the controls you wanted to connect to a MIDI message. The point-and-click MIDI mapping wizard in 1.11.0 now includes a drop-down of all mappable controls. This is a much better way for users to decide on what control to map a message to. Another very useful exercise is checking out the various commercial DJ software offerings out there and examining how they allow users to map MIDI controllers.
  
-===== Enhanced Platform Integration ===== 
- 
-Thanks in large part to Qt and a number of other cross-platform libraries, Mixxx runs on Windows, Mac OS X, and Linux. Although we're able to provide a //​consistent//​ user experience on all three platforms, we'd like to provide a better //​integrated//​ experience. We want to take advantage of the unique features that each platform provides, like the new fullscreen mode in OS X Lion or the new jump list in Windows 7 or gvfs in Linux, so that Mixxx feels as //native// as possible. 
- 
-Qt already provides a [[http://​qt-project.org/​doc/​qt-4.8/​exportedfunctions.html|small number of platform integration features]], but to take advantage of other newer features that Qt doesn'​t have, platform-specific code for Windows, Mac OS X und Linux must be added to Mixxx. This project will involve figuring out which platform-specific features in Windows 7, Windows 8, Mac OS X Lion, and Mac OS X Mountain Lion would be the most useful for Mixxx users, and implementing several of those. (We don't expect students to have access to both Linux and Windows and Mac OS X, so a proposal focusing on one particular OS is OK, but an awareness of all platforms is a plus.) ​ 
- 
-This project could also include more basic polishing tasks, so if there'​s some little inconsistencies about Mixxx that have been bugging you, here's your chance to fix them. 
  
-For ideas, check out: 
-  * [[http://​www.strixcode.com/​q7goodies/​|Q7Goodies]] ​ 
-  * [[http://​en.wikipedia.org/​wiki/​Features_new_to_Windows_7|Features new to Windows 7 (Wikipedia)]] 
-  * [[http://​en.wikipedia.org/​wiki/​Features_new_to_Windows_8|Features new to Windows 8 (Wikipedia)]] 
-  * [[https://​codereview.qt-project.org/#​change,​48152]] 
  
  
gsoc2014ideas.1390170782.txt.gz ยท Last modified: 2014/01/19 17:33 by kain88