From: werner s. <wsc...@us...> - 2005-06-21 19:22:26
|
Update of /cvsroot/lmuse/muse/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2510/doc Modified Files: dimpl.tex Log Message: do not link plugins agains libawl and libaw Index: dimpl.tex =================================================================== RCS file: /cvsroot/lmuse/muse/doc/dimpl.tex,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** dimpl.tex 14 Jun 2005 21:15:30 -0000 1.4 --- dimpl.tex 21 Jun 2005 12:15:34 -0000 1.5 *************** *** 169,172 **** --- 169,178 ---- \completecontent + %% + %%======================================================================= + %% File Formats + %%======================================================================= + %% + \chapter{File Formats} \section{Instrument Definition Files} *************** *** 175,183 **** properties of external midi instruments. ! IDF-Files have the file extension \type{*.idf} and they are ! searched in the \M\ "instruments" subdirectory (which is on my system \type{/usr/share/muse-1.0/instruments}. ! An instrument is a property of the midi ouput port. All found instrument definitions are presented by MusE in the Instrument pulldown menu of the midi output port. --- 181,190 ---- properties of external midi instruments. ! IDF-Files have the file extension \type{*.idf} \index{idf} and ! they are searched in the \M\ "instruments" subdirectory (which is on my system \type{/usr/share/muse-1.0/instruments}. ! An instrument\index{Instrument definition} is a property of the ! midi ouput port \index{Midi output port}. All found instrument definitions are presented by MusE in the Instrument pulldown menu of the midi output port. *************** *** 214,218 **** \blank ! PatchGroups are not mandatory; its valid to write: \blank --- 221,225 ---- \blank ! PatchGroups\index{PatchGroups} are not mandatory; its valid to write: \blank *************** *** 282,286 **** ! Controller have the following properties: \starttabulate --- 289,293 ---- ! Controller\index{Controller} have the following properties: \starttabulate *************** *** 315,322 **** ! MidiPlugins have the file extension \type{*.so} and they are searched in the \M\ "\type{midiplugins}" subdirectory (which is on my system \type{/usr/lib/muse-1.0/midiplugins}. \subsection{Midi Filter} --- 322,334 ---- ! Midi plugins have the file extension \type{*.so} and they are searched in the \M\ "\type{midiplugins}" subdirectory (which is on my system \type{/usr/lib/muse-1.0/midiplugins}. + % + %----------------------------------- + % Midi Filter + %----------------------------------- + % \subsection{Midi Filter} *************** *** 385,388 **** --- 397,405 ---- + % + %----------------------------------- + % GUI interface + %----------------------------------- + % \subsection{GUI interface} Every midi plugin can implement a native graphical user *************** *** 413,416 **** --- 430,438 ---- \stoptyping + % + %----------------------------------- + % Persistent Parameters + %----------------------------------- + % \subsection{Persistent Parameters} *************** *** 433,438 **** --- 455,517 ---- which you can use to restore the last plugin state. + % + %----------------------------------- + % Host Access Functions + %----------------------------------- + % + + \subsection{Host Access Functions} + The plugin host supplies some functions which are + accessible through the \type{MempiHost*} in the + \type{Mempi} interface. + + The host supplies the following functions: + \starttyping + int division() const; + \stoptyping + \index{division()} + returns the midi \type{division} value which gives the number + of midi ticks per midi beat, typically 384. + + \starttyping + int tempo(unsigned tick) const; + \stoptyping + \index{tempo()} + returns the midi tempo value. + + \starttyping + unsigned tick2frame(unsigned tick) const; + \stoptyping + \index{tick2frame()} + This function converts a transport position given in midi ticks + to a audio frame position. + + \starttyping + unsigned frame2tick(unsigned frame) const; + \stoptyping + \index{frame2tick()} + This function converts a transport position given in audio frames + to midi ticks. + + \starttyping + void bar(int tick, int* bar, int* beat, unsigned* rest) const; + \stoptyping + \index{bar()} + This function return bar/beat and a tick rest for a given + tick position. + + \starttyping + unsigned bar2tick(int bar, int beat, int tick) const; + \stoptyping + This is the opposite to the \type{bar} function. It converts + a time position given in bar/beat/tick into a midi tick value. + + % + %----------------------------------- + % Midi Synthesizer + %----------------------------------- + % \subsection{Midi Synthesizer} As an example for a midi synthesizer plugin we use a midi |