diff options
Diffstat (limited to 'muse/doc')
-rw-r--r-- | muse/doc/dimpl/dimpl.tex | 69 | ||||
-rw-r--r-- | muse/doc/man/de/CMakeLists.txt | 1 | ||||
-rw-r--r-- | muse/doc/man/de/man-de.tex | 8 |
3 files changed, 51 insertions, 27 deletions
diff --git a/muse/doc/dimpl/dimpl.tex b/muse/doc/dimpl/dimpl.tex index a0501a38..524d2222 100644 --- a/muse/doc/dimpl/dimpl.tex +++ b/muse/doc/dimpl/dimpl.tex @@ -184,13 +184,17 @@ they are searched in the \M\ "instruments" subdirectory (which is on my system \type{/usr/share/muse-1.0/instruments}. + An instrument definition file should only define one + instrument. + An instrument\index{Instrument definition} is a property of the - midi ouput channel \index{Midi output port}. + midi channel \index{Midi channel}. All found instrument definitions are presented by MusE in the Instrument pulldown menu of the midi output port. Example of an instrument definition file: \blank + \starttyping <?xml version="1.0"?> <muse version="1.0"> @@ -203,23 +207,41 @@ <Patch name="Bright Piano" prog="1"/> ... </PatchGroup> + <PatchGroup name="Drum Kits"> + <drummap name="PoweredStd" hbank="63" lbank="32" prog="0"> + <entry> + <name>Clave</name> + <enote>24</enote> + <anote>24</anote> + </entry> + <entry> + <name>SdBrMtSt</name> + <enote>25</enote> + <anote>25</anote> + </entry> + ... + </drummap> + </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> + <Controller name="Brightness" type="Control" l="74" init="64"> ... </MidiInstrument> </muse> \stoptyping + \blank + \subsection{Init Sequence} + The {\tt Init} section declares a list of midi events to initialize + the instrument. The section can be empty or absent. + + \subsection{Patch Groups} + Patch Groups are used to structure the list of patches. PatchGroups\index{PatchGroups} are not mandatory; its valid to write: \blank @@ -234,8 +256,7 @@ \stoptyping \blank - An instrument definition file should only define one - instrument. + \subsection{Patches} The "prog" parameter in a "Patch" is mandatory. Missing "hbank" or "lbank" are treated as "don't care". @@ -287,8 +308,13 @@ \type{<Init> ... </Init>} part can be omitted + \subsection{Drum Maps} + A drum map allows to define properties for every note in a patch. + The {\tt drummap} entry looks like the {\tt Patch} entry and defines + the banks and the program number for the drummap. - Controller\index{Controller} have the following properties: + \subsection{Controller} + Controller \index{Controller} have the following properties: \starttabulate \NC name:\NC @@ -322,7 +348,7 @@ Midi plugins have the file extension \type{*.so} and they are - searched in the \M\ "\type{midiplugins}" subdirectory (which is on + searched in the \M\ "{\tt midiplugins} subdirectory (which is on my system \type{/usr/lib/muse-1.0/midiplugins}. % @@ -608,12 +634,15 @@ class Mess { virtual bool processEvent(const MidiEvent&); virtual bool setController(int, int, int) { return false; } virtual bool playNote(int, int, int) { return false; } - virtual bool sysex(int, const unsigned char*) { return false; } + virtual bool sysex(int, const unsigned char*) { return false; } virtual void getInitData(int*, const unsigned char**) const {} - virtual int getControllerInfo(int, const char**, int*, int*, int*) const {return 0;} - virtual const char* getPatchName(int, int, int) const { return "?"; } - virtual const MidiPatch* getPatchInfo(int, const MidiPatch*) const { return 0; } + virtual int getControllerInfo(int, const char**, int*, int*, int*) + const { return 0; } + virtual const char* getPatchName(int, int, int) + const { return "?"; } + virtual const MidiPatch* getPatchInfo(int, const MidiPatch*) + const { return 0; } // synthesizer -> host communication void sendEvent(MidiEvent); // called from synti @@ -652,10 +681,8 @@ virtual void process(float** data, int offset, int len) = 0; processed, true if the synth was busy. \starttyping -virtual bool setController(int channel, int controller_no, int value) - +virtual bool setController(int channel, int ctrlNo, int value) virtual bool playNote(int channel, int pitch, int velo) - virtual bool sysex(int length, const unsigned char* data) \stoptyping @@ -665,7 +692,8 @@ virtual bool sysex(int length, const unsigned char* data) block where you store the data which will recreate the synths current state when the project is reopened. \starttyping -virtual void getInitData(int* nrofchars, const unsigned char** data) const {} +virtual void getInitData(int* nrofchars, const unsigned char** data) + const {} \stoptyping \subsection{getControllerInfo} @@ -709,7 +737,8 @@ virtual void showGui(bool show); to return the patchname for the particular channel and a program. \starttyping -virtual const char* SimpleSynth::getPatchName(int channel, int program, int unused) const +virtual const char* SimpleSynth::getPatchName(int channel, int program, + int unused) const \stoptyping getPatchInfo is called repeatedly until the synth returns 0. The synth must diff --git a/muse/doc/man/de/CMakeLists.txt b/muse/doc/man/de/CMakeLists.txt index d5e13e76..22619554 100644 --- a/muse/doc/man/de/CMakeLists.txt +++ b/muse/doc/man/de/CMakeLists.txt @@ -23,6 +23,7 @@ add_custom_command ( DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/man-de.tex ${CMAKE_CURRENT_SOURCE_DIR}/projekte.tex + ${CMAKE_CURRENT_SOURCE_DIR}/miditracks.tex COMMAND ${TEXEXEC_PATH}/texexec ARGS --language=en --verbose --batch --pdf --path=${CMAKE_CURRENT_SOURCE_DIR} diff --git a/muse/doc/man/de/man-de.tex b/muse/doc/man/de/man-de.tex index 2e8b537c..648f4f2c 100644 --- a/muse/doc/man/de/man-de.tex +++ b/muse/doc/man/de/man-de.tex @@ -84,13 +84,6 @@ before={\startnarrower[left]\setupblank[0pt]}, after={\stopnarrower\setupblank}] -\definedescription[Sc][ - location=left, - headstyle=bold, - width=4em, - before={\startnarrower[left]\setupblank[0pt]}, - after={\stopnarrower\setupblank}] - \definedescription[Filetype][ location=left, headstyle=bold, @@ -173,6 +166,7 @@ \M\ ist ein ein ''open source'' Programm, veröffentlicht unter der GNU General Public License (GPL) (siehe Anhang). +\component miditracks.tex \component projekte.tex \startappendices |