summaryrefslogtreecommitdiff
path: root/muse_qt4_evolution/doc/README.instruments
diff options
context:
space:
mode:
authorRobert Jonsson <spamatica@gmail.com>2009-12-27 11:30:35 +0000
committerRobert Jonsson <spamatica@gmail.com>2009-12-27 11:30:35 +0000
commitb703eab295330e6f81564fbb39a10a1a2fdd2f54 (patch)
treee46b5c9a6bc22fd661c15d1d2123f5bf631cef80 /muse_qt4_evolution/doc/README.instruments
parent5d5fa0fdf913907edbc3d2d29a7548f0cb658c94 (diff)
moved old qt4 branch
Diffstat (limited to 'muse_qt4_evolution/doc/README.instruments')
-rw-r--r--muse_qt4_evolution/doc/README.instruments108
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
+