Skip to content

njh/madjack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MadJACK
=======
Nicholas J. Humfrey <njh@aelius.com>

For the latest version of MadJACK, please see:
http://www.aelius.com/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.

About

MadJACK is a MPEG Audio Deck for the Jack Audio Connection Kit with an OSC based control interface.

Resources

License

Stars

Watchers

Forks

Packages

No packages published