-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Gsoc2008 Internet Broadcasting
- Student: Wesley Stessens
- Mentor: Adam Davison
Implementing Shoutcast, Icecast and Icecast2 integration will allow users to broadcast their mix in real-time over the world wide web on any platform. At the moment this is only possible on Linux by using JACK (Jack Audio Connection Kit), but this has a lot of limitations. By implementing this functionality into Mixxx itself it will make tighter integration between Shoutcast/Icecast and Mixxx possible. Think about features like advanced metadata tagging or multiple streams. What’s more important is that this will make it possible for users to broadcast their mix over the internet on any platform supported by Mixxx. An MP3 and Ogg Vorbis encoder will have to be written for this project as well. Metadata for the tracks will be sent separately for MP3 tracks or merged into the Ogg-container for Ogg Vorbis-tracks.
A detailed application is available in Portable Document Format here: http://85.17.105.113/~wesley/mixxx_gsoc2008_broadcast_application.pdf
- This document contains an implementation analysis, information about my experience, my ideas about community interaction and personal information about myself.
- May 18th: Skype conversation with mentors: project planning, discuss milestones
- May 26th: Start of coding (note: not full-time because of exams until June 19th)
- End of May: Skype conversation with mentors: revise planning, discuss progress
- July 7th: Start of mid-term evaluation
- July 14th: Mid-term evaluation deadline
- August 18th: Start of final evaluation
- September 1st: Final evaluation deadline
- milestone 1: user interface
- milestone 2: encoding (as much as time permits)
- milestone 2: encoding (remaining)
- milestone 3: broadcasting
- milestone 4: release
These milestones will keep track of the development process.
- Bold items are items that have been implemented for the most part.
- Italic/Bold items are items that are currently being worked on.
- create a user interface for this project (probably in the Options menu for now)
- develop MP3 encoder using liblame
- abstract a generic encoder class for both encoders
- finish up the encoders
- tweak and clean up code
- write API documentation
- find out why libshout is messing up
- if we can't fix libshout: write own implementation instead
- tweak and clean up code
- write API documentation
- put everything in broadcast/ subdir
- enable by default (if code is stable)
- write user documentation
- Test, Analyze, Fix, Test again...
Mixxx is a free and open-source DJ software.
Manual
Hardware Compatibility
Reporting Bugs
Getting Involved
Contribution Guidelines
Coding Guidelines
Using Git
Developer Guide
Creating Skins
Contributing Mappings
Mixxx Controls
MIDI Scripting
Components JS
HID Scripting