diff options
| -rw-r--r-- | muse/ChangeLog | 2 | ||||
| -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 | ||||
| -rw-r--r-- | muse/muse/arranger/arranger.cpp | 4 | ||||
| -rw-r--r-- | muse/share/templates/CMakeLists.txt | 9 | ||||
| -rw-r--r-- | muse/share/templates/empty.med | 10 | 
7 files changed, 73 insertions, 30 deletions
diff --git a/muse/ChangeLog b/muse/ChangeLog index 6e0692ea..de998c1b 100644 --- a/muse/ChangeLog +++ b/muse/ChangeLog @@ -1,3 +1,5 @@ +25.5 (ws) +      * remove automation buttons from midi track in arranger  25.5 (rj)        * buckle up, bumpy road ahead        * partial support for MAC OS X 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 diff --git a/muse/muse/arranger/arranger.cpp b/muse/muse/arranger/arranger.cpp index 22aa631c..5f298319 100644 --- a/muse/muse/arranger/arranger.cpp +++ b/muse/muse/arranger/arranger.cpp @@ -62,9 +62,9 @@ const TrElement trElements[] = {        TrElement(TR_MONITOR,  3, "monitor",           Track::M_MIDI | Track::M_WAVE),        TrElement(TR_AREAD,    4, "automation read", -            -1 & ~Track::M_MIDI_IN), +            -1 & ~(Track::M_MIDI_IN | Track::M_MIDI)),        TrElement(TR_AWRITE,   4, "automation write", -            -1 & ~Track::M_MIDI_IN), +            -1 & ~(Track::M_MIDI_IN | Track::M_MIDI)),        TrElement(TR_OCHANNEL,   5, "output channel", Track::M_MIDI),        TrElement(TR_INSTRUMENT, 6, "instrument",     Track::M_MIDI_OUT),        TrElement(TR_PATCH,      7, "patch",          Track::M_MIDI_CHANNEL), diff --git a/muse/share/templates/CMakeLists.txt b/muse/share/templates/CMakeLists.txt index 30d0f3b4..2a8b3527 100644 --- a/muse/share/templates/CMakeLists.txt +++ b/muse/share/templates/CMakeLists.txt @@ -18,5 +18,12 @@  #  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  #============================================================================= -install_files ( /share/${MusE_INSTALL_NAME}/templates .*\\.med ) +install_files ( /share/${MusE_INSTALL_NAME}/templates .med +   audio.med +   empty.med  +   default.med +   midiGM.med +   monorecord.med +   synti.med  +   ) diff --git a/muse/share/templates/empty.med b/muse/share/templates/empty.med new file mode 100644 index 00000000..87b3901b --- /dev/null +++ b/muse/share/templates/empty.med @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<muse version="2.1"> +  <configuration> +    </configuration> +  <song> +    </song> +  <toplevels> +    </toplevels> +  </muse> +  | 
