diff options
author | Robert Jonsson <spamatica@gmail.com> | 2009-12-27 11:30:35 +0000 |
---|---|---|
committer | Robert Jonsson <spamatica@gmail.com> | 2009-12-27 11:30:35 +0000 |
commit | b703eab295330e6f81564fbb39a10a1a2fdd2f54 (patch) | |
tree | e46b5c9a6bc22fd661c15d1d2123f5bf631cef80 /muse_qt4_evolution/doc/README.instruments | |
parent | 5d5fa0fdf913907edbc3d2d29a7548f0cb658c94 (diff) |
moved old qt4 branch
Diffstat (limited to 'muse_qt4_evolution/doc/README.instruments')
-rw-r--r-- | muse_qt4_evolution/doc/README.instruments | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/muse_qt4_evolution/doc/README.instruments b/muse_qt4_evolution/doc/README.instruments new file mode 100644 index 00000000..a2693b4e --- /dev/null +++ b/muse_qt4_evolution/doc/README.instruments @@ -0,0 +1,108 @@ +================================================ + MusE loadable Midi Instrument Definitions + (as of 10.09.2003) MusE 0.7.0 +================================================ + + - File Extension ".idf" + - searched in Subdirectory "instruments" + (/usr/share/muse/instruments on my system) + + All found instrument definitions are presented by MusE + in Config->MidiPorts in Pulldown in column "Instrument". + +------------------------------------------------- + Example of Instrument Definition File: +------------------------------------------------- + +<?xml version="1.0"?> +<muse version="1.0"> + <MidiInstrument name="GM"> + <Init> + ...MusE event list which initializes instrument + </Init> + <PatchGroup name="Piano"> + <Patch name="Grand Piano" prog="0"/> + <Patch name="Bright Piano" prog="1"/> + ... + </PatchGroup> + <PatchGroup name="Bass"> + <Patch name="Acoustic Bass" prog="32"/> + <Patch name="Fingered Bass" prog="33"/> + </PatchGroup> + ... + <Controller name="Brightness"> + <n>0x4a</n> + <min>0</min> + <max>127</max> + <init>0</init> + </Controller> + ... + </MidiInstrument> + </muse> + +------------------------------------------------- + Notes +------------------------------------------------- + + (1) PatchGroups are not mandatory; its valid to write: + + <MidiInstrument name="GM"> + <Patch name="Grand Piano" prog="0"/> + <Patch name="Bright Piano" prog="1"/> + <Patch name="Acoustic Bass" prog="32"/> + <Patch name="Fingered Bass" prog="33"/> + ... + </MidiInstrument> + + (2) An "Instrument Definition File" can define more than on + Instrument, but it is recommended to use one file for + one instrument + + (3) the "prog" parameter in a "Patch" is mandatory. Missing + "hbank" or "lbank" are treated as "don't care". + Missing "drum" is treated as drum="0". + + A XG-Patch looks like: + <Patch name="Electro" drum="1" hbank="127" lbank="0" prog="24"/> + + (5) A patch can be associated with a "mode" with one of + + 1 - GM + 2 - GS + 4 - XG + + Example: + <Patch name="Electro" mode="4" drum="1" hbank="127" lbank="0" prog="24"/> + + Mode id's can be ore'd together for patches which are valid + for more than one mode: + + <Patch name="Grand Piano" mode=7" hbank="0" lbank="0" prog="0"/> + + (4) example for MusE event (Sysex "XG-On"): + + <event tick="0" type="5" datalen="7"> + 43 10 4c 00 00 7e 00 + </event> + + (5) <Init> ... </Init> part can be omitted + + + (6) Controller have the following porperties: + + name: arbitrary unique (short) string describing the controller + n: controller number, defines also the controller type: + values from 0x0 - 0x7f are 7Bit controller + values from 0x1000 - 0x1ffff are 14 bit controller with + MSB/LSB value pairs + values from 0x20000 - 0x2ffff are RPN's + values from 0x30000 - 0x3ffff are NRPN's + + min: minimum value for controller + max: maximum value for controller + init: reset value for controller; when controller value is + undefined after instrument reset, use the ''undefined'' + value 0x10000 + + the min/max/init values can be ommited + |