SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Sponsored Links

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

MadJACK

Nicholas J. Humfrey <njh@ecs.soton.ac.uk>

For the latest version of MadJACK, please see: http://www.ecs.soton.ac.uk/~njh/madjack/

What is MadJACK ?

MadJACK is a MPEG Audio Deck for the Jack Audio Connection Kit with an OSC based control interface. It was written as a backend for DJ music playback and is released under the GPL licence.

It aims to achieve the following:

  • Lightweight
  • Talk natively to JACK
  • Easy to script / remote control
  • High Quality audio
  • Skip free playback
  • Responsive / Low Latency
  • Reliable / Not Crash

It does not do the following:

  • Have pitch control on playback (yet!)
  • Decode metadata/ID3 tags
  • Queue up multiple tracks
  • Have playlists

In order to segue and cross-fade between tracks I have multiple copies of MadJACK running.

Terminal Interface

MadJACK accepts the following keys on

h: Display help message
p: Play/Pause Deck
l: Load a Track
e: Eject current track
s: Stop Deck
c: Cue deck to start of track
C: Cue to specified time
q: Quit MadJack

Command Line Interface

madjack_remote <command>

play, pause, stop, cue [<cuepoint>], eject, load <filename>, status, position, filepath, ping

OSC Interface

 /deck/play             - Start deck playing
 /deck/pause            - Pause deck
 /deck/stop             - Stop Deck playback
 /deck/cue [f]          - Cue deck, with optional cue point (in seconds)
 /deck/eject            - Eject the current track from deck
 /deck/load (s)         - Load <filename> into deck

 /deck/get_state        - Get deck state

replies with:
/deck/state (s)

State Strings:

     PLAYING            - Deck is playing
     PAUSED             - Deck is paused
     READY              - Deck is loaded and ready to play
     LOADING            - Starting to decode track
     STOPPED            - At end of track / Stopped
     ERROR              - Problem opening/decoding track
     EMPTY              - No track loaded in deck

 /deck/get_error                - Get description of error (when in state ERROR)

replies with:
/deck/error (s)

/deck/get_version - Get name and version number of MadJACK replies with:
/deck/version (ss)

/deck/get_position - Get deck position (in seconds) replies with:
/deck/position (f)

/deck/get_duration - Get track duration (in seconds) replies with:
/deck/duration (f)

/deck/get_filepath - Get path of track (as passed to/deck/load) replies with:
/deck/filepath (s)

/ping - Check deck is still there replies with:
/pong

Replies are send back to the port/socket that they were sent from.


Sponsored Links

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.