# Sample midicc config file. 04-28-04 AG

# NOTES: Lines with # in first column are comments. The remaining lines are
# partitioned into fields delimited with (one or more) tab characters. (Thus
# you can use blanks inside fields, but no tabs.)

##############################################################################

# AUTOSTART CLIENTS. These MidiShare clients are started automatically when
# running midicc and when clicking the Restart button. Each line has three
# fields: a brief description (currently unused); the name under which the
# client is known to MidiShare (this can also be pattern involving the shell
# wildcards *, ? etc.); and the shell command with which the client is to be
# invoked. Clients will only be started by midicc if they have not been
# started already (i.e., only if no client with a name matching the second
# field has already been registered).

# Comment		Client name		Shell command

# The MidiShare/ALSA driver msAlsaSeq(1). The following setup (external MIDI
# interface on MidiShare port #0, internal wavetable synth on port #1) should
# work if you have something like an SBLive as soundcard #1.

ALSA Sequencer		MidiShare/ALSA Bridge	msAlsaSeq -i 64:0/0 -o 64:0/0 -o 65:0/1

# The same with an additional entry for the ALSA network client, mapped to
# MidiShare port #2.

#ALSA Sequencer		MidiShare/ALSA Bridge	msAlsaSeq -i 64:0/0 -o 64:0/0 -o 65:0/1 -i 'Net Client':0/2 -o 'Net Client':0/2

# You can also omit the MidiShare port numbers. This lets you change the I/O
# connections dynamically. The given connections are only used as defaults.

#ALSA Sequencer		MidiShare/ALSA Bridge	msAlsaSeq -i 64:0 -o 64:0

# This is what I use on my laptop with an USB-Midi device (Edirol UM-1) as
# soundcard #2.

#ALSA Sequencer		MidiShare/ALSA Bridge	msAlsaSeq -i 72:0/0 -o 72:0/0

# Here are some sample entries for other MidiShare drivers. Usually you won't
# need these when running the ALSA driver.

# Comment		Client name	Shell command
#Raw MIDI		/dev/midi	msRawMidi /dev/midi 
#Network		msWANDriver	msInetDriver -lat 10 -g 10 -s localhost
#Fluidsynth		fluidsynth	fluidsynth -g 1 -m midishare /usr/share/sfbank/creative/default.sf2

##############################################################################

# PATCHES. The given connections will automatically be established when a new
# client is registered (no matter whether it is an autostart client or started
# manually by the user). Each line has two fields: the name of the source and
# the name of the destination client. Shell wildcards may be used to match
# multiple clients. Note that if different clients have the same name,
# connections will be established for each of them.

##############################################################################

# Source		Target

# Patches between the ALSA sequencer and various sample MidiShare clients, via
# msAlsaSeq. With these patches we automagically (re)establish MIDI I/O
# connections for these applications if we have to restart midicc.

MidiShare/ALSA Bridge	Playback
MidiShare/ALSA Bridge	Recorder
MidiShare/ALSA Bridge	MyQStep
MidiShare/ALSA Bridge	SuperCollider
MidiShare/ALSA Bridge	SuperCollider #?

Playback		MidiShare/ALSA Bridge
Recorder		MidiShare/ALSA Bridge
MyQStep			MidiShare/ALSA Bridge

# Connect midicc to various applications. This makes midicc send start and
# stop messages to these clients when clicking the transport buttons.

midicc			Playback
midicc			Recorder
midicc			MyQStep
midicc			SuperCollider
midicc			SuperCollider #?

# Connect a client to midicc. This means that MIDI output from the client will
# be printed in midicc's log window.

MyQStep			midicc

# Establish default connections to SuperCollider (scplay/scgui) clients from
# the forthcoming Q-Synth package.

Playback		SuperCollider
Playback		SuperCollider #?
Recorder		SuperCollider
Recorder		SuperCollider #?
MyQStep			SuperCollider
MyQStep			SuperCollider #?
