- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.5k
 
Gsoc2010 Sampler
- Student: Ryan Baker
 - Email: [email protected]
 - IRC Handle: ryan_baker
 - Skype Handle: baker1990
 - Mentor: Albert Santoni
 
For some people, myself included, mixing and DJ'ing is more than just playing one track after the other at the same speed. For my project, I will be writing a sampler for Mixxx that will allow users to play hits, loops, vocals, and other samples on command. This will allow users to add flair and creativity to their mixes. I believe this will be a major addition to Mixxx and feel that it is a feature that many users will appreciate.
- DJ Bill wants to send a sample bank to his friend, DJ Jane. Being able to export sample banks will make it easy for Bill to share his sample banks with his friends.
 - DJ Ryan wants to add drum loops and one-shots into mixes. You should be able to control whether each sample is looped or only played once through.
 - DJ Adam wants to create on the fly remixes using vocal and instrument samples. You should be able to time-stretch the samples to fit the tempo of the song.
 - DJ Awesome wants to sample directly from a playing song and use this to create on the fly remixes and loops. You should be able to sample directly from a playing song.
 
- Feature ideas:
 - Simple playback (start/stop)
 - Looping
 - Time stretch / pitch adjustment
 
    * How do we do tempo syncing?
* Waveform view
* Cue / Loop points (start/end)
* Saving / loading sample banks
* Sample bank management GUI (load/save/delete)
    * Reuse EngineBuffer for each sample in the bank
    * Are there any performance concerns about this?
    * Should we unify all the Reader threads?
* Sampling from playing decks
- User Interface
 - How do we deal with skinning?
 - Simple/Minimal Controls
 
Note: This work breakdown structure (WBS) will be refined as the scope of this project becomes better determined.
  - Sampler
    - Playback Engine
      - Sampler class (aggregates Player)
      - Simple playback (play/stop)
      - Looping
      - Tempo sync
    - Sample Bank Manager
      - GUI for loading, saving, deleting
      - Bank export
    - Sampler widget
      - Waveform
      - Playback control
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