summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--muse/ChangeLog2
-rw-r--r--muse/doc/dimpl/dimpl.tex69
-rw-r--r--muse/doc/man/de/CMakeLists.txt1
-rw-r--r--muse/doc/man/de/man-de.tex8
-rw-r--r--muse/muse/arranger/arranger.cpp4
-rw-r--r--muse/share/templates/CMakeLists.txt9
-rw-r--r--muse/share/templates/empty.med10
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>
+