Skip to content

Multi Channel File Mixing

Sean M. Pappalardo edited this page Jan 25, 2012 · 18 revisions

Multiple-channel file mixing

OGG and FLAC files support up to eight channels. It would be interesting to extend Mixxx to allow DJs to work with these channels individually within a virtual deck so as to be able to create live remixes from stems. Doing this from a single multi-channel file greatly simplifies the workflow and eliminates synchronization problems.

Things that need to change for this to be implemented:

  • FLAC and OGG SoundSources need to find out how many channels the loaded file offers, get meta-data for each (whether any are stereo pairs/other groups,) and report this information to their parent Deck.
  • Decks need to:
  • Ask for this information
  • Manage the supplied number of channels
  • Offer additional controls for each mono channel or channel group: Mute, Solo, Volume, and Pan controls
  • CachingReader needs to be extended to support up to eight channels
  • The GUI needs to:
  • Include additional parallel summary waveforms for each mono channel or stereo pair
  • Display Mute, Solo, Volume, and Pan controls as the Deck reports
  • Overlap all (active) channels' waveforms in the detailed waveform display

SoundSource API changes

    int getNumberOfChannels(); // Number of mono channels in the loaded file
    QString[] getChannelNames(); // Name for each channel - from FLAC/OGG tags
    QList(int[]) getLinkedChannels(); // List of channel groups to treat as one unit (Stereo pairs, surround channels)
Clone this wiki locally