Klassen | Namensbereiche | Makrodefinitionen | Typdefinitionen | Aufzählungen | Aufzählungswerte | Funktionen | Variablen
Route

Klassen

class  ERoute
 linked list of routes Mehr ...
class  EDevice
 linked list of devices Mehr ...
class  ChannelData
class  Device
class  OutDevice
class  InDevice
class  CurrentTimer
class  OutGis
class  InGis
class  GisToken
class  GisSequenz
class  GisSegment
class  GisTag
class  GisTagBegin
class  GisTagEnd
class  GisNote
class  GisParaInt
class  GisParaReal
class  GisParaStr
class  GisComma
class  GisReadHead
struct  TagListData
class  GisReadArtHead
class  GisWriteHead
class  ChordNote
class  Track
struct  TAK1
class  OutMidiFile
class  InMidiFile
struct  TAK
class  OutMidiPort
class  InMidiPort
class  Route
class  BoxDlg
class  MutIconShape
 An icon control with static text. Mehr ...
class  InputDevDlg
class  OutputDevDlg
class  MutBoxChannelShape
class  MutaborBoxSettings
class  InputFilterPanel
class  OutputFilterPanel
class  RoutePanel
class  RouteRemoveButton
class  MutBoxIconShape
class  MutBoxShape
class  MutDeviceShape
class  MutInputDeviceShape
class  GisInputFilterPanel
class  MutInputGuidoFileDeviceShape
class  MidiInputFilterPanel
class  MutInputMidiDeviceShape
class  MidiFileInputFilterPanel
class  MutInputMidiFileDeviceShape
class  NewMutBoxShape
class  MutNewInputDeviceShape
class  MutNewOutputDeviceShape
class  MutOutputGuidoFileDeviceShape
class  MidiOutputFilterPanel
class  MutOutputMidiDeviceShape
class  MidiFileOutputFilterPanel
class  MutOutputMidiFileDeviceShape

Namensbereiche

namespace  compat30

Makrodefinitionen

#define INIT_BENDINGRANGE   2
#define NoBox   -2
 defind two box types;
#define GmnBox   -1
#define DRUMCHANNEL   9
#define DeviceMaxType   DTGis+1
#define MMSYSTEM_H
#define ROUND_FACTOR   1000000
#define ROUND(x)   x = (floor(x*ROUND_FACTOR+0.5)) / ROUND_FACTOR
#define printHeadChain(a, b)
#define GISDEBUG(para)
#define FOR_MUTWIN
 ##################################################################
#define CHECKDUP(target, source)
#define NTAGS   52
#define NTAGSHORTS   6
#define TTintens   1
#define TTslur   2
#define TTtempo   12
#define TTinstr   19
#define TTtie   20
#define TTstacc   21
#define TTaccent   22
#define TTten   23
#define TTkey   36
#define TToct   37
#define TTalter   50
#define TTmutabor   51
#define NO_KEY   -32000
#define CNAlter   1
#define CNNoteOn   2
#define NEW_LINE   mutT("\n")
#define uchar   unsigned char
#define CHAR0   CurrentLine[CurrentPos]
#define CHAR1   CurrentLine[CurrentPos+1]
#define TAKESEP   takesep()
#define GSP_MAX_SEP   8000
#define GSP_MAX_LINE   1000
#define H_MMSYSTEM
#define GET_INDEX(taste, tonsystem)
#define GET_ABSTAND(taste, tonsystem)
#define GET_FREQ(taste, tonsystem)
#define ZWZ   1.059463094
#define LONG_TO_HERTZ(x)   (440.0*pow(ZWZ,((((float)x)/(double)16777216.0))-69))
#define LONG_TO_CENT(x)   ( ((float)x)/(double)167772.13 )
#define MIDI_OUT3(code1, code2, code3)   Tracks.MidiOut3(code1, code2, code3)
#define MIDI_OUT2(code1, code2)   Tracks.MidiOut2(code1, code2)
#define zugriff   ((unsigned char*) &freq)
#define zgf   ((unsigned char*) &pb)
#define MIDI_PITCH(i)
#define MIDI_SOUND(i, sound)   if ( sound != -1 ) MIDI_OUT2(0xC0+i, sound)
#define MAKE_ID(route, box, taste, channel)   ((((DWORD)channel) << 24) + (((DWORD)route->GetId()) << 16) + ((DWORD)box << 8) + taste)
#define NO_DELTA   0x7fffffffl
#define MIDICODE(i)   (0xff & (midiCode >> (8*i)))
#define H_MMSYSTEM
#define READCONFIGSTR(config, name, variable, defval)
#define READCONFIGINT(config, name, variable, defval)
#define ID_MYDIALOG3   10034
#define SYMBOL_BOXDLG_STYLE   wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_BOXDLG_TITLE   _("Mutabor-Box")
#define SYMBOL_BOXDLG_IDNAME   ID_MYDIALOG3
#define SYMBOL_BOXDLG_SIZE   wxSize(400, 300)
#define SYMBOL_BOXDLG_POSITION   wxDefaultPosition
#define ID_RADIOBUTTON   10036
#define ID_TEXTCTRL10   10037
#define ID_RADIOBUTTON1   10038
#define ID_RADIOBUTTON2   10039
#define ID_RADIOBOX1   10035
#define wxCLOSE_BOX   0x1000
#define wxFIXED_MINSIZE   0
#define MutIcon   wxIcon
#define MutICON(x)   x
#define MutNullIcon   wxNullIcon;
#define MMSYSTEM_H
#define xd   32
#define yd   32
#define xb   24
#define yb   24
#define ydt   4
#define yt   16
#define yh   12
#define yr   (yd+ydt+yt+yz)
#define BACKGROUND   *wxLIGHT_GREY
#define RT_INDEVICE   0
#define RT_INFILTER   1
#define RT_BOX   2
#define RT_OUTFILTER   3
#define RT_OUTDEVICE   4
#define RT_PLAYBUTTON   5
#define RT_STOPBUTTON   6
#define FILENAMELENGTH   200
#define POINT_IN(p, x1, y1, xl, yl)   (x1 <= p.x && p.x < x1+xl && y1 < p.y && p.y < y1+yl)
#define max(a, b)   ((a) < (b) ? (b) : (a))
#define ID_MYDIALOG   10017
#define SYMBOL_OUTPUTDEVDLG_STYLE   wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_OUTPUTDEVDLG_TITLE   _("Output Device")
#define SYMBOL_OUTPUTDEVDLG_IDNAME   ID_MYDIALOG
#define SYMBOL_OUTPUTDEVDLG_SIZE   wxSize(400, 300)
#define SYMBOL_OUTPUTDEVDLG_POSITION   wxDefaultPosition
#define ID_CHOICE2   10018
#define ID_CHOICE3   10019
#define ID_TEXTCTRL4   10024
#define ID_TEXTCTRL2   10020
#define ID_BUTTON2   10022
#define ID_TEXTCTRL5   10025
#define ID_TEXTCTRL3   10021
#define ID_BUTTON3   10023
#define wxCLOSE_BOX   0x1000
#define wxFIXED_MINSIZE   0
#define _BOXDLG_H_
#define DebugCheckRoutes()

Typdefinitionen

typedef void GisReadProceed (GisReadHead *, char)
typedef struct TagListData TagList
typedef void GisReadArtProceed (GisReadArtHead *token, char turn)
typedef TArray< BYTE > TByteArray
typedef struct TAK1 TonAufKanal1
typedef struct TAK TonAufKanal
typedef NoBoxSettingsBase NoBoxSettings
typedef GuidoFileBoxSettingsBase GuidoFileBoxSettings
typedef std::map< wxString
*, MutDeviceShape
*, strptrless > 
MutDeviceShape::stringmaptype
typedef stringmaptype::iterator MutDeviceShape::stringmapiterator
typedef GisOutputFilterPanelBase GisOutputFilterPanel

Aufzählungen

enum  MutaborModeType {
  MutaborDeviceUnregistered = -1, MutaborDeviceStop, MutaborDevicePlay, MutaborDevicePause,
  MutaborDeviceCompileError, MutaborDeviceTimingError
}
enum  DevType {
  DTNotSet = -1, DTUnknown, DTMidiPort, DTMidiFile,
  DTGis
}
enum  GisType {
  GTNull, GTUnknown, GTSequenz, GTSegment,
  GTTag, GTTagBegin, GTTagEnd, GTNote,
  GTParaInt, GTParaReal, GTParaStr, GTComma
}
enum  ARType {
  ARNormal, ARSlur, ARTenuto, ARPortato,
  ARStaccatto
}
enum  BoxType { NewBox = -3, NoBox, GmnBox, Box0 }
enum  RouteType { RTall, RTelse, RTchannel, RTstaff }
 Type of route input filter. Mehr ...

Funktionen

EDeviceNewDevice (EDevice **List, DevType dt, const wxString &name, int devId, EDevice *oldPos=0, EDevice *newPos=0)
 create a new device.
void ScanRoutes (char *config)
 read the routes from the configuration
void ScanRoutes (const wxString &config)
 read the routes from the configuration
void ScanRoutes (wxConfigBase *config)
 read the routes from the configuration
void WriteRoutes (char **config)
 write the routes to the configuration
void WriteRoutes (wxString &config)
 write the routes to the configuration
void WriteRoutes (wxConfigBase *config)
 write the routes to the configuration
void CheckBoxesUsed ()
 synchronizes BoxUsed with the routes
void ScanDevices ()
 translate the GUI routing information to mutabor
void StartCurrentTime ()
void StopCurrentTime ()
void OutNotesCorrect (int box)
bool OutOpen ()
void OutClose ()
void OutAddTime (frac time)
bool InOpen ()
void InClose ()
bool NeedsRealTime ()
void MidiOut (int box, DWORD data, char n)
void NotesCorrect (int box)
int GetChannel (int box, int taste)
 ChannelData::ChannelData (int sound=-1, char sustain=0)
void ChannelData::Reset ()
bool ChannelData::operator== (ChannelData &cd)
 Device::Device ()
 Device::Device (int id, int devid, mutString name=mutEmptyString)
virtual Device::~Device ()
virtual void Device::Save (tree_storage &config)=0
 Save current device settings in a tree storage.
virtual void Device::Save (tree_storage &config, const Route *route)=0
 Save route settings (filter settings) for a given route.
virtual void Device::Load (tree_storage &config)=0
 Load current device settings from a tree storage.
virtual void Device::Load (tree_storage &config, Route *route)=0
 Loade route settings (filter settings) for a given route.
void Device::setUserData (void *data)
void * Device::getUserData () const
const wxString & Device::GetName () const
virtual void Device::SetName (const wxString &s)
int Device::GetDevId () const
virtual void Device::SetDevId (int id)
int Device::GetId () const
virtual void Device::ReadData (wxConfigBase *config)
virtual void Device::WriteData (wxConfigBase *config)
virtual mutString Device::GetTypeName () const
void Device::SetId (int id)
static OutDevice::WATCHEDPTR (OutDevice, routing, OutDevice) deviceList
 OutDevice::OutDevice ()
 OutDevice::OutDevice (int devId, mutString name, int id=-1)
virtual OutDevice::~OutDevice ()
static OutDeviceOutDevice::CreateDevice (DevType type)
static OutDeviceOutDevice::CreateDevice (DevType type, const mutString &name, int id)
virtual bool OutDevice::Open ()=0
virtual void OutDevice::Close ()=0
virtual void OutDevice::NoteOn (int box, int taste, int velo, Route *r, int channel, ChannelData *cd)=0
virtual void OutDevice::NoteOff (int box, int taste, int velo, Route *r, int channel)=0
virtual void OutDevice::NotesCorrect (int box)=0
virtual void OutDevice::Sustain (char on, int channel)=0
virtual int OutDevice::GetChannel (int taste)=0
virtual void OutDevice::Gis (GisToken *token, char turn)=0
virtual void OutDevice::AddTime (frac time)=0
virtual void OutDevice::MidiOut (DWORD data, char n)=0
virtual void OutDevice::MidiOut (BYTE *p, char n)=0
virtual void OutDevice::Quite (Route *r)=0
virtual void OutDevice::Panic ()
virtual bool OutDevice::NeedsRealTime ()
virtual DevType OutDevice::GetType () const
static OutDeviceOutDevice::GetDeviceList ()
void OutDevice::SetNext (OutDevice *N)
OutDeviceOutDevice::GetNext () const
virtual mutString OutDevice::GetTypeName () const
void OutDevice::Destroy ()
static OutDeviceOutDevice::Get (int devid)
static void OutDevice::InitializeIds ()
 Initialize the internal device identifiers.
static void OutDevice::SaveDevices (tree_storage &config)
static void OutDevice::LoadDevices (tree_storage &config)
 Load the current devices from a tree based storage.
static OutDeviceOutDevice::GetDevice (int id)
 Scan the list of input devices for a given id.
static void OutDevice::AppendToDeviceList (OutDevice *dev)
static void OutDevice::RemoveFromDeviceList (OutDevice *dev)
static void OutDevice::TruncateDeviceList (OutDevice *dev)
static OutDeviceOutDevice::GetInDeviceList (int devid)
static InDevice::WATCHEDPTR (InDevice, routing, InDevice) deviceList
 InDevice::WATCHEDPTR (Route, routing, InDevice) Routes
 InDevice::InDevice ()
 InDevice::InDevice (int devId, mutString name=mutEmptyString, MutaborModeType mode=MutaborDeviceStop, int id=-1)
virtual InDevice::~InDevice ()
static InDeviceInDevice::CreateDevice (DevType type)
static InDeviceInDevice::CreateDevice (DevType type, const mutStringRef name, int id)
RouteInDevice::GetMoveRoutes ()
RouteInDevice::GetRoute (int nr)
int InDevice::nRoutes ()
virtual bool InDevice::Open ()=0
virtual void InDevice::Close ()=0
virtual void InDevice::Stop ()=0
virtual void InDevice::Play ()=0
virtual void InDevice::Pause ()=0
virtual void InDevice::AddRoute (Route *route)
virtual void InDevice::SetRoute (Route *route)
RouteInDevice::GetRoutes ()
void InDevice::Quite ()
virtual bool InDevice::NeedsRealTime ()
virtual DevType InDevice::GetType () const
virtual RouteInDevice::ReplaceDevice (InDevice *dev)
void InDevice::SetMode (MutaborModeType m)
MutaborModeType InDevice::GetMode ()
static InDeviceInDevice::GetDeviceList ()
InDeviceInDevice::GetNext () const
void InDevice::SetNext (InDevice *n)
virtual mutString InDevice::GetTypeName () const
void InDevice::Destroy ()
static void InDevice::InitializeIds ()
 Initialize the internal device identifiers.
static void InDevice::SaveDevices (tree_storage &config)
 Save the current devices in a tree based storage.
static void InDevice::LoadDevices (tree_storage &config)
 Load the current devices from a tree based storage.
static InDeviceInDevice::GetDevice (int id)
 Scan the list of input devices for a given id.
static void InDevice::AppendToDeviceList (InDevice *dev)
static void InDevice::RemoveFromDeviceList (InDevice *dev)
static void InDevice::TruncateDeviceList (InDevice *dev)
virtual CurrentTimer::~CurrentTimer ()
void CurrentTimer::Set (long t=0)
CurrentTimerCurrentTimer::operator= (long t)
virtual void CurrentTimer::Notify ()
 CurrentTimer::operator unsigned int ()
 CurrentTimer::operator long ()
void GetKeyPitch (int taste, tone_system *tonsystem, int &key, double &pitch)
void MutaborTag (GisReadArtHead *h, GisToken *Para, int box)
int Name2Key (const mutString name)
int Acc2Int (const mutString acc)
charstrdupchr (char a)
void Clear (char **s)
charAddStr (char **s1, const char *s2, const char *s3)
int BuildTag ()
int StartSep ()
int BeginSegment ()
int EndSegment ()
int BeginSequenz ()
int EndSequenz ()
int BeginParameter ()
int EndParameter ()
int BeginRange ()
int EndRange ()
int NextSequenz ()
int Note (const mutString name, const mutString accedentials, int octave, frac duration)
int Tag (const mutString tagName)
int TagParaInt (long i)
int TagParaReal (double x)
int TagParaStr (mutString s)
int Comma ()
void UnRavel ()
GisType GetGisType (GisToken *token)
int GetTagId (const mutString &name, mutString &registered)
GisTokenCopyPara (GisToken *para)
GisTokenGisParse (const mutString FileName)
frac GisReadHeadOn (GisReadHead **Head, frac dTime=frac(0, 1), GisReadProceed *proceed=GisReadDummy)
TagListCopy (TagList *tag)
void Erase (TagList *tag)
frac GisReadArtHeadOn (GisReadArtHead **Head, frac dTime=frac(0, 1), GisReadArtProceed *proceed=GisReadArtDummy)
int GisWriteHeadGis (GisWriteHead **head, mutString id, GisToken *token, char turn)
GisWriteHeadGetMatchingHeader (GisWriteHead **head, mutString id)
void CloseAllSubs (GisWriteHead *head)
void AddStr (char *Target, int &Pos, char *Source)
int CharIn (mutChar c, const mutString s)
int IsLetter (mutChar c)
int IsNumber (mutChar c)
int DoError (int nr, int pos=-1)
int CheckError (int nr)
void SavePos ()
wxString & takesep ()
int GetSep ()
long ReadLong (int SignAllowed)
int ReadParaNumber ()
int ReadParaStr ()
int ReadTag ()
int ReadNote ()
int DoParse ()
int GspParse (const mutString &FileName)
int OpenFile (const mutString &Name)
int CloseFile ()
int ReadNewLine ()
DWORD ReadLength (mutIFstream &is)
void WriteLength (mutOFstream &os, DWORD l)
long LongAbs (long x)
long ReadDelta (BYTE *data, DWORD *i)
void MidiInit ()
void MidiUninit ()
void LoadRoutes (tree_storage &config)
 load the routes from a tree based configuration
void SaveRoutes (tree_storage &config)
 write the routes to the configuration
 Route::WATCHEDPTR (Route, routing, Route) Next
 Route::WATCHEDPTR (OutDevice, routing, Route) Out
 Route::WATCHEDPTR (InDevice, routing, Route) In
 Route::Route (InDevice *in=NULL, OutDevice *out=NULL, RouteType type=RTall, int iFrom=-1, int iTo=-1, int box=-1, bool active=false, int oFrom=-1, int oTo=-1, bool oNoDrum=true, Route *next=0)
virtual Route::~Route ()
virtual void Route::Save (tree_storage &config)
 Write the route settings into a tree based configuration.
virtual void Route::Load (tree_storage &config)
 Read the route into from a tree based configuration.
static unsigned int Route::NextRouteId ()
char Route::Check (int i)
void Route::setUserData (void *data)
void * Route::getUserData () const
OutDeviceRoute::GetOutDevice () const
void Route::SetOutDevice (OutDevice *out)
InDeviceRoute::GetInDevice () const
void Route::SetInDevice (InDevice *in)
void Route::SetInputId (int Id)
bool Route::GetActive () const
void Route::SetActive (bool active)
int Route::GetBox () const
void Route::SetBox (int box)
RouteType Route::GetType () const
void Route::SetType (RouteType type)
const mutString & Route::GetTypeName ()
int Route::GetInputFrom () const
void Route::SetInputFrom (int i)
int Route::GetOutputFrom () const
void Route::SetOutputFrom (int o)
int Route::GetInputTo () const
void Route::SetInputTo (int i)
int Route::GetOutputTo () const
void Route::SetOutputTo (int o)
bool Route::OutputAvoidDrumChannel () const
void Route::OutputAvoidDrumChannel (bool avoid)
RouteRoute::GetNext () const
void Route::SetNext (Route *route)
int Route::GetId () const
static RouteRoute::GetRouteList ()
RouteRoute::GetGlobalNext ()
static void Route::InitializeIds ()
 Initialize the internal device identifiers.
static void Route::SaveRoutes (tree_storage &config)
 Save the current routes in a tree storage.
static void Route::LoadRoutes (tree_storage &config)
 Load the current routes from a tree storage.
static void Route::AppendToRouteList (Route *route)
static void Route::RemoveFromRouteList (Route *route)
void compat30::SaveRoutes (mutStringRef)
 write the routes to the given string
 IMPLEMENT_DYNAMIC_CLASS (BoxDlg, wxDialog) BEGIN_EVENT_TABLE(BoxDlg
wxDialog EVT_RADIOBUTTON (ID_RADIOBUTTON, BoxDlg::UpdateEnable) EVT_RADIOBUTTON(ID_RADIOBUTTON1
wxDialog BoxDlg::UpdateEnable EVT_RADIOBUTTON (ID_RADIOBUTTON2, BoxDlg::UpdateEnable) END_EVENT_TABLE() BoxDlg
 IMPLEMENT_DYNAMIC_CLASS (MutIconShape, MutPanel) BEGIN_EVENT_TABLE(MutIconShape
 MutIconShape::MutIconShape ()
 MutIconShape::MutIconShape (wxWindow *parent, wxWindowID id)
bool MutIconShape::Create (wxWindow *parent, wxWindowID id=wxID_ANY)
virtual MutIconShape::~MutIconShape ()
void MutIconShape::SetIcon (const MutIcon &icon)
const MutIcon & MutIconShape::GetIcon () const
void MutIconShape::SetLabel (const wxString &st)
virtual MutIcon & MutIconShape::GetMutIcon ()
 Calculates the Icon to be used.
virtual wxSize MutIconShape::DoGetBestSize () const
void MutIconShape::OnGetFocus (wxFocusEvent &event)
virtual void MutIconShape::SetFocus ()
void MutIconShape::OnKillFocus (wxFocusEvent &event)
void MutIconShape::OnPaint (wxPaintEvent &event)
virtual void MutIconShape::OnDraw (wxDC &dc)
virtual wxPoint MutIconShape::GetPerimeterPoint (const wxPoint &i, const wxPoint &o) const
virtual wxRect MutIconShape::GetIconRect () const
virtual void MutIconShape::LineTo (wxDC &dc, const wxPoint &p) const
virtual bool MutIconShape::Recompute ()
virtual bool MutIconShape::Layout ()
void MutIconShape::DeleteSelf ()
void MutIconShape::DeleteSelfEvent (wxCloseEvent &event)
 IMPLEMENT_DYNAMIC_CLASS (InputDevDlg, InputDevDlgBase) BEGIN_EVENT_TABLE(InputDevDlg
InputDevDlgBase EVT_CHOICE (XRCID("DeviceChoice"), InputDevDlg::OnChoiceSelected) EVT_BUTTON(
int GetTextWidth (wxDC &dc, const wxString &s)
void TextPin (wxDC &dc, int xm, int y, int xl, const wxString &s, char withBox)
wxString sRange (int from, int to)
void PrintBox (wxDC &dc, int xm, int ym, int nr, char active, int x3)
 BEGIN_EVENT_TABLE (MutRouteWnd, wxScrolledWindow) END_EVENT_TABLE() wxFont RouteFont(10
void testdialog ()
 IMPLEMENT_DYNAMIC_CLASS (OutputDevDlg, wxDialog) BEGIN_EVENT_TABLE(OutputDevDlg
wxDialog EVT_CHOICE (ID_CHOICE2, OutputDevDlg::OnChoice2Selected) EVT_BUTTON(ID_BUTTON2
wxDialog
OutputDevDlg::OnButton2Click 
EVT_BUTTON (ID_BUTTON3, OutputDevDlg::OnButton3Click) EVT_BUTTON(wxID_REMOVE
wxDialog
OutputDevDlg::OnButton2Click
OutputDevDlg::OnRemoveClick 
END_EVENT_TABLE () OutputDevDlg
 WX_DEFINE_LIST (MutBoxChannelShapeList)
virtual MutIcon & MutBoxChannelShape::GetMutIcon ()
 Calculates the Icon to be used.
 MutBoxChannelShape::MutBoxChannelShape (wxWindow *p=NULL, wxWindowID id=wxID_ANY, Route *r=NULL)
bool MutBoxChannelShape::Create (wxWindow *p=NULL, wxWindowID id=wxID_ANY, Route *r=NULL)
virtual MutBoxChannelShape::~MutBoxChannelShape ()
void MutBoxChannelShape::SetInput (MutInputDeviceShape *device)
MutInputDeviceShapeMutBoxChannelShape::GetInput ()
RouteMutBoxChannelShape::GetRoute () const
void MutBoxChannelShape::SetOutput (MutOutputDeviceShape *device, bool changeRoute=false)
MutOutputDeviceShapeMutBoxChannelShape::GetOutput ()
void MutBoxChannelShape::AddPossibleOutput (MutOutputDeviceShape *device)
static void MutBoxChannelShape::CreateRoutePanel (MutBoxChannelShape *channel, MutRouteWnd *parentwin, wxWindow *routeWindow, int selectBox)
static void MutBoxChannelShape::InitializeInputFilter (InputFilterPanel *panel, MutRouteWnd *par, MutBoxChannelShape *shape=NULL)
static void MutBoxChannelShape::InitializeRoute (RoutePanel *panel, MutRouteWnd *par, MutBoxChannelShape *shape=NULL, int selectBox=NoBox)
static void MutBoxChannelShape::InitializeOutputFilter (OutputFilterPanel *panel, MutRouteWnd *par, MutBoxChannelShape *shape=NULL)
virtual void MutBoxChannelShape::ReadPanel (RoutePanel *panel)
virtual void MutBoxChannelShape::DrawLines (wxDC &dc, const wxPoint &parentPosition) const
virtual wxPoint MutBoxChannelShape::GetPerimeterPoint (const wxPoint &i, const wxPoint &o, const wxPoint &parentPosition) const
virtual void MutBoxChannelShape::Refresh (bool eraseBackground=true, const wxRect *rect=NULL)
void MutBoxChannelShape::DetachChannel ()
 Detaches the channel from a box shape.
 WX_DECLARE_LIST (MutBoxChannelShape, MutBoxChannelShapeList)
 IMPLEMENT_DYNAMIC_CLASS (RoutePanel, RoutePanelBase) MutBoxShape *RoutePanel
 BEGIN_EVENT_TABLE (RouteRemoveButton, wxButton) EVT_BUTTON(wxID_REMOVE
 BEGIN_EVENT_TABLE (BoxDlg, BoxDlgBase) EVT_BUTTON(
 MutBoxIconShape::MutBoxIconShape (wxWindow *parent, wxWindowID id=wxID_ANY)
virtual MutBoxIconShape::~MutBoxIconShape ()
bool MutBoxIconShape::Create (wxWindow *parent=NULL, wxWindowID id=wxID_ANY)
void MutBoxIconShape::GetBordersForSizer (int &borderTop, int &borderOther) const
virtual void MutBoxIconShape::OnDraw (wxDC &dc)
virtual bool MutBoxIconShape::Layout ()
MutIcon & MutBoxIconShape::GetMutIcon ()
 Calculates the Icon to be used.
void initBoxColors ()
wxColour BoxColor (int nr)
static wxSize GetStaticBoxSize (MutBoxIconShape *box)
 IMPLEMENT_CLASS (MutBoxShape, MutBoxIconShape) BEGIN_EVENT_TABLE(MutBoxShape
 WX_DEFINE_LIST (MutBoxShapeList)
 MutBoxShape::MutBoxShape ()
 MutBoxShape::MutBoxShape (wxStaticBox *box, int orient)
 MutBoxShape::MutBoxShape (wxWindow *parent, wxWindowID wid, int Id=NoBox)
virtual MutBoxShape::~MutBoxShape ()
bool MutBoxShape::Create (wxWindow *parent, wxWindowID wid, int Id=NoBox)
 TODO: fix tab order.
static void MutBoxShape::SetSizerFlags (wxSizerFlags flags)
static const wxSizerFlags & MutBoxShape::GetSizerFlags ()
virtual void MutBoxShape::DoLeftDblClick ()
void MutBoxShape::LeftDblClickEvent (wxMouseEvent &event)
BoxDlgMutBoxShape::ShowBoxDialog () const
 Constructs the box configuration dialog.
virtual void MutBoxShape::InitializeDialog (BoxDlg *dlg) const
virtual MutBoxChannelShapeMutBoxShape::AddChannel (MutBoxChannelShape *channel)
virtual MutBoxChannelShapeMutBoxShape::AddChannel (Route *route)
virtual MutBoxChannelShapeMutBoxShape::AddChannel (RoutePanel *panel)
virtual bool MutBoxShape::HasChannel (Route *route)
virtual void MutBoxShape::AddPossibleOutput (MutOutputDeviceShape *device)
virtual void MutBoxShape::DrawLines (wxDC &dc)
virtual bool MutBoxShape::Detach (wxWindow *window)
virtual bool MutBoxShape::Detach (wxSizer *sizer)
virtual bool MutBoxShape::Detach (int index)
virtual bool MutBoxShape::replaceSelfBy (MutBoxShape *newshape)
virtual bool MutBoxShape::DetachBox ()
virtual bool MutBoxShape::readDialog (BoxDlg *box)
virtual bool MutBoxShape::CanHandleType (int type)
int MutBoxShape::GetBoxId () const
void MutBoxShape::SetBoxId (int Id, bool layout=true)
 MutBoxShape::DECLARE_CLASS (MutBoxShape) DECLARE_EVENT_TABLE()
 WX_DECLARE_LIST (MutBoxShape, MutBoxShapeList)
 IMPLEMENT_ABSTRACT_CLASS (MutDeviceShape, MutIconShape) BEGIN_EVENT_TABLE(MutDeviceShape
 WX_DEFINE_LIST (MutDeviceShapeList)
 MutDeviceShape::MutDeviceShape ()
 MutDeviceShape::MutDeviceShape (wxWindow *parent, wxWindowID id, const wxString &name=wxEmptyString)
virtual MutDeviceShape::~MutDeviceShape ()
bool MutDeviceShape::Create (wxWindow *parent, wxWindowID id, const wxString &name=wxEmptyString)
virtual bool MutDeviceShape::Recompute ()
virtual RouteMutDeviceShape::getRoutes ()=0
virtual void MutDeviceShape::DoLeftDblClick ()=0
void MutDeviceShape::LeftDblClickEvent (wxMouseEvent &event)
 MutDeviceShape::DECLARE_DYNAMIC_CLASS (MutIconShape)
 MutDeviceShape::DECLARE_EVENT_TABLE ()
 WX_DECLARE_LIST (MutDeviceShape, MutDeviceShapeList)
 MutInputDeviceShape::MutInputDeviceShape ()
 MutInputDeviceShape::MutInputDeviceShape (wxWindow *parent, wxWindowID id, const wxString &name)
 MutInputDeviceShape::MutInputDeviceShape (wxWindow *parent, wxWindowID id, InDevice *d)
virtual MutInputDeviceShape::~MutInputDeviceShape ()
bool MutInputDeviceShape::Create (wxWindow *parent, wxWindowID id, const wxString &name)
bool MutInputDeviceShape::Create (wxWindow *parent, wxWindowID id, InDevice *d)
static MutInputDeviceShapeMutInputDeviceShape::CreateShape (wxWindow *parent, wxWindowID id, InDevice *d)
MutInputDeviceShapeMutInputDeviceShape::CreateShape (InDevice *d)
static void MutInputDeviceShape::SetSizerFlags (wxSizerFlags flags)
static const wxSizerFlags & MutInputDeviceShape::GetSizerFlags ()
void MutInputDeviceShape::SetLabel (const wxString &st)
MutIcon & MutInputDeviceShape::GetMutIcon ()
 Calculates the Icon to be used.
RouteMutInputDeviceShape::getRoutes ()
virtual void MutInputDeviceShape::AddRoute (Route *route)
virtual void MutInputDeviceShape::RemoveRoute (Route *route)
void MutInputDeviceShape::SetDevice (InDevice *d)
InDeviceMutInputDeviceShape::GetDevice ()
virtual void MutInputDeviceShape::DoLeftDblClick ()
InputDevDlgMutInputDeviceShape::ShowDeviceDialog ()
virtual wxPanel * MutInputDeviceShape::GetInputFilterPanel (wxWindow *parent, Route *route) const
virtual void MutInputDeviceShape::ReadInputFilterPanel (wxWindow *panel, Route *route)
virtual void MutInputDeviceShape::ReadPanel (InputFilterPanel *panel, MutBoxChannelShape *channel)
virtual void MutInputDeviceShape::InitializeDialog (InputDevDlg *in) const
virtual bool MutInputDeviceShape::readDialog (InputDevDlg *in)
virtual bool MutInputDeviceShape::DetachDevice ()
 detach device
virtual bool MutInputDeviceShape::replaceSelfBy (MutInputDeviceShape *newshape)
virtual bool MutInputDeviceShape::CanHandleType (DevType type)
 MutInputDeviceShape::DECLARE_DYNAMIC_CLASS (MutDeviceShape)
void GisInputFilterPanel::SetFromBox (int current, int min, int max)
 TODO: set limits according to changes: min.max = max.value and max.min = min.value.
int GisInputFilterPanel::GetFromBox () const
void GisInputFilterPanel::SetToBox (int current, int min, int max)
int GisInputFilterPanel::GetToBox () const
void GisInputFilterPanel::SetFromStaff (int current, int min, int max)
int GisInputFilterPanel::GetFromStaff () const
void GisInputFilterPanel::SetToStaff (int current, int min, int max)
int GisInputFilterPanel::GetToStaff () const
void GisInputFilterPanel::SetRouteType (RouteType routetype)
RouteType GisInputFilterPanel::GetRouteType ()
 MutInputGuidoFileDeviceShape::MutInputGuidoFileDeviceShape (wxWindow *parent, wxWindowID id, InDevice *d)
bool MutInputGuidoFileDeviceShape::Create (wxWindow *parent, wxWindowID id, InDevice *d)
virtual MutIcon & MutInputGuidoFileDeviceShape::GetMutIcon ()
 Calculates the Icon to be used.
void MutInputGuidoFileDeviceShape::SetLabel (const wxString &st)
virtual wxPanel * MutInputGuidoFileDeviceShape::GetInputFilterPanel (wxWindow *parent, Route *route) const
virtual void MutInputGuidoFileDeviceShape::ReadInputFilterPanel (wxWindow *panel, Route *route)
virtual void MutInputGuidoFileDeviceShape::InitializeDialog (InputDevDlg *in) const
virtual bool MutInputGuidoFileDeviceShape::readDialog (InputDevDlg *in)
virtual bool MutInputGuidoFileDeviceShape::CanHandleType (DevType type)
 MutInputGuidoFileDeviceShape::DECLARE_DYNAMIC_CLASS (MutInputGuidoFileDeviceShape)
void MidiInputFilterPanel::SetFromChannel (int current, int min, int max)
 TODO: set limits according to changes: min.max = max.value and max.min = min.value.
int MidiInputFilterPanel::GetFromChannel () const
void MidiInputFilterPanel::SetToChannel (int current, int min, int max)
int MidiInputFilterPanel::GetToChannel () const
void MidiInputFilterPanel::SetFromKey (int current, int min, int max)
int MidiInputFilterPanel::GetFromKey () const
void MidiInputFilterPanel::SetToKey (int current, int min, int max)
int MidiInputFilterPanel::GetToKey () const
void MidiInputFilterPanel::SetRouteType (RouteType routetype)
RouteType MidiInputFilterPanel::GetRouteType () const
 MutInputMidiDeviceShape::MutInputMidiDeviceShape (wxWindow *parent, wxWindowID id, InDevice *d)
bool MutInputMidiDeviceShape::Create (wxWindow *parent, wxWindowID id, InDevice *d)
virtual MutIcon & MutInputMidiDeviceShape::GetMutIcon ()
 Calculates the Icon to be used.
virtual wxPanel * MutInputMidiDeviceShape::GetInputFilterPanel (wxWindow *parent, Route *route) const
virtual void MutInputMidiDeviceShape::ReadInputFilterPanel (wxWindow *panel, Route *route)
virtual void MutInputMidiDeviceShape::InitializeDialog (InputDevDlg *in) const
virtual bool MutInputMidiDeviceShape::readDialog (InputDevDlg *in)
virtual bool MutInputMidiDeviceShape::CanHandleType (DevType type)
 MutInputMidiDeviceShape::DECLARE_DYNAMIC_CLASS (MutInputMidiDeviceShape)
void MidiFileInputFilterPanel::SetFromChannel (int current, int min, int max)
 TODO: set limits according to changes: min.max = max.value and max.min = min.value.
int MidiFileInputFilterPanel::GetFromChannel () const
void MidiFileInputFilterPanel::SetToChannel (int current, int min, int max)
int MidiFileInputFilterPanel::GetToChannel () const
void MidiFileInputFilterPanel::SetFromTrack (int current, int min, int max)
int MidiFileInputFilterPanel::GetFromTrack () const
void MidiFileInputFilterPanel::SetToTrack (int current, int min, int max)
int MidiFileInputFilterPanel::GetToTrack () const
void MidiFileInputFilterPanel::SetRouteType (RouteType routetype)
RouteType MidiFileInputFilterPanel::GetRouteType () const
 MutInputMidiFileDeviceShape::MutInputMidiFileDeviceShape (wxWindow *parent, wxWindowID id, InDevice *d)
bool MutInputMidiFileDeviceShape::Create (wxWindow *parent, wxWindowID id, InDevice *d)
virtual MutIcon & MutInputMidiFileDeviceShape::GetMutIcon ()
 Calculates the Icon to be used.
void MutInputMidiFileDeviceShape::SetLabel (const wxString &st)
virtual wxPanel * MutInputMidiFileDeviceShape::GetInputFilterPanel (wxWindow *parent, Route *route) const
virtual void MutInputMidiFileDeviceShape::ReadInputFilterPanel (wxWindow *panel, Route *route)
virtual void MutInputMidiFileDeviceShape::InitializeDialog (InputDevDlg *in) const
virtual bool MutInputMidiFileDeviceShape::readDialog (InputDevDlg *in)
virtual bool MutInputMidiFileDeviceShape::CanHandleType (DevType type)
 MutInputMidiFileDeviceShape::DECLARE_DYNAMIC_CLASS (MutInputMidiFileDeviceShape)
 IMPLEMENT_CLASS (NewMutBoxShape, MutBoxShape) MutIcon &NewMutBoxShape
 NewMutBoxShape::NewMutBoxShape (wxWindow *parent, wxWindowID wid)
bool NewMutBoxShape::Create (wxWindow *parent, wxWindowID wid)
virtual NewMutBoxShape::~NewMutBoxShape ()
virtual bool NewMutBoxShape::CanHandleType (int type)
virtual bool NewMutBoxShape::replaceSelfBy (MutBoxShape *newshape)
virtual void NewMutBoxShape::InitializeDialog (BoxDlg *dlg) const
virtual bool NewMutBoxShape::readDialog (BoxDlg *box)
 MutNewInputDeviceShape::MutNewInputDeviceShape (wxWindow *parent, wxWindowID id)
bool MutNewInputDeviceShape::Create (wxWindow *parent, wxWindowID id)
MutIcon & MutNewInputDeviceShape::GetMutIcon ()
 Calculates the Icon to be used.
virtual void MutNewInputDeviceShape::InitializeDialog (InputDevDlg *in) const
virtual bool MutNewInputDeviceShape::replaceSelfBy (MutInputDeviceShape *newshape)
 MutNewInputDeviceShape::DECLARE_DYNAMIC_CLASS (MutInputDeviceShape)
 MutNewOutputDeviceShape::MutNewOutputDeviceShape (wxWindow *parent, wxWindowID id)
bool MutNewOutputDeviceShape::Create (wxWindow *parent, wxWindowID id)
MutIcon & MutNewOutputDeviceShape::GetMutIcon ()
 Calculates the Icon to be used.
virtual void MutNewOutputDeviceShape::InitializeDialog (OutputDevDlg *out) const
virtual bool MutNewOutputDeviceShape::replaceSelfBy (MutOutputDeviceShape *newshape)
virtual bool MutNewOutputDeviceShape::CanHandleType (DevType type)
 MutNewOutputDeviceShape::DECLARE_DYNAMIC_CLASS (MutOutputDeviceShape)
 IMPLEMENT_DYNAMIC_CLASS (OutputDevDlg, OutputDevDlgBase) BEGIN_EVENT_TABLE(OutputDevDlg
OutputDevDlgBase EVT_CHOICE (XRCID("DeviceChoice"), OutputDevDlg::OnChoiceSelected) EVT_BUTTON(
 MutOutputGuidoFileDeviceShape::MutOutputGuidoFileDeviceShape (wxWindow *parent, wxWindowID id, OutDevice *d)
bool MutOutputGuidoFileDeviceShape::Create (wxWindow *parent, wxWindowID id, OutDevice *d)
virtual MutIcon & MutOutputGuidoFileDeviceShape::GetMutIcon ()
 Calculates the Icon to be used.
void MutOutputGuidoFileDeviceShape::SetLabel (const wxString &st)
virtual wxPanel * MutOutputGuidoFileDeviceShape::GetOutputFilterPanel (wxWindow *parent, Route *route) const
virtual void MutOutputGuidoFileDeviceShape::ReadOutputFilterPanel (wxWindow *panel, Route *route)
virtual void MutOutputGuidoFileDeviceShape::InitializeDialog (OutputDevDlg *out) const
virtual bool MutOutputGuidoFileDeviceShape::readDialog (OutputDevDlg *out)
virtual bool MutOutputGuidoFileDeviceShape::CanHandleType (DevType type)
 MutOutputGuidoFileDeviceShape::DECLARE_DYNAMIC_CLASS (MutOutputGuidoFileDeviceShape)
void MidiOutputFilterPanel::SetFromChannel (int current, int min, int max)
 TODO: set limits according to changes: min.max = max.value and max.min = min.value.
int MidiOutputFilterPanel::GetFromChannel () const
void MidiOutputFilterPanel::SetToChannel (int current, int min, int max)
int MidiOutputFilterPanel::GetToChannel () const
void MidiOutputFilterPanel::SetAvoidDrumChannel (bool avoid)
bool MidiOutputFilterPanel::GetAvoidDrumChannel () const
 MutOutputMidiDeviceShape::MutOutputMidiDeviceShape (wxWindow *parent, wxWindowID id, OutDevice *d)
bool MutOutputMidiDeviceShape::Create (wxWindow *parent, wxWindowID id, OutDevice *d)
virtual MutIcon & MutOutputMidiDeviceShape::GetMutIcon ()
 Calculates the Icon to be used.
virtual wxPanel * MutOutputMidiDeviceShape::GetOutputFilterPanel (wxWindow *parent, Route *route) const
virtual void MutOutputMidiDeviceShape::ReadOutputFilterPanel (wxWindow *panel, Route *route)
virtual void MutOutputMidiDeviceShape::InitializeDialog (OutputDevDlg *out) const
virtual bool MutOutputMidiDeviceShape::readDialog (OutputDevDlg *out)
virtual bool MutOutputMidiDeviceShape::CanHandleType (DevType type)
 MutOutputMidiDeviceShape::DECLARE_DYNAMIC_CLASS (MutOutputMidiDeviceShape)
void MidiFileOutputFilterPanel::SetFromChannel (int current, int min, int max)
 TODO: set limits according to changes: min.max = max.value and max.min = min.value.
int MidiFileOutputFilterPanel::GetFromChannel () const
void MidiFileOutputFilterPanel::SetToChannel (int current, int min, int max)
int MidiFileOutputFilterPanel::GetToChannel () const
void MidiFileOutputFilterPanel::SetAvoidDrumChannel (bool avoid)
bool MidiFileOutputFilterPanel::GetAvoidDrumChannel () const
 MutOutputMidiFileDeviceShape::MutOutputMidiFileDeviceShape (wxWindow *parent, wxWindowID id, OutDevice *d)
bool MutOutputMidiFileDeviceShape::Create (wxWindow *parent, wxWindowID id, OutDevice *d)
virtual MutIcon & MutOutputMidiFileDeviceShape::GetMutIcon ()
 Calculates the Icon to be used.
void MutOutputMidiFileDeviceShape::SetLabel (const wxString &st)
virtual wxPanel * MutOutputMidiFileDeviceShape::GetOutputFilterPanel (wxWindow *parent, Route *route) const
virtual void MutOutputMidiFileDeviceShape::ReadOutputFilterPanel (wxWindow *panel, Route *route)
virtual void MutOutputMidiFileDeviceShape::InitializeDialog (OutputDevDlg *out) const
virtual bool MutOutputMidiFileDeviceShape::readDialog (OutputDevDlg *out)
virtual bool MutOutputMidiFileDeviceShape::CanHandleType (DevType type)
 MutOutputMidiFileDeviceShape::DECLARE_DYNAMIC_CLASS (MutOutputMidiFileDeviceShape)
static void initMutIcon (MutIcon &icon, const wxString &filename, const wxBitmapType type)
bool initMutIconShapes ()
RouteERoute::newRoute ()
 create a new Route containing our data.
virtual void OutGis::Gis (GisToken *token, char turn)
virtual void OutGis::Save (tree_storage &config)
 Save current device settings in a tree storage.
virtual void OutGis::Save (tree_storage &config, const Route *route)
 Save route settings (filter settings) for a given route.
virtual void OutGis::Load (tree_storage &config)
 Load current device settings from a tree storage.
virtual void OutGis::Load (tree_storage &config, Route *route)
 Loade route settings (filter settings) for a given route.
virtual void InGis::Save (tree_storage &config)
 Save current device settings in a tree storage.
virtual void InGis::Save (tree_storage &config, const Route *route)
 Save route settings (filter settings) for a given route.
virtual void InGis::Load (tree_storage &config)
 Load current device settings from a tree storage.
virtual void InGis::Load (tree_storage &config, Route *route)
 Loade route settings (filter settings) for a given route.
virtual bool InGis::Open ()
virtual void InGis::Close ()
virtual void InGis::Stop ()
virtual void InGis::Play ()
virtual void InGis::Pause ()
void InGis::IncDelta ()
void InGis::Proceed (GisReadArtHead *h, char turn, Route *route)
void InGis::ProceedRoute (GisReadArtHead *h, char turn)
virtual long InGis::ReadOn (long delta)
GisType GisTag::GetParaType (int nr)
GisTokenGisTag::GetPara (int nr)
 GisNote::GisNote (int key, int octave, int acc, const mutString sep=mutEmptyString, GisToken *next=0)
int GisNote::GetKey ()
void Track::WriteDelta ()
void Track::Save (mutOFstream &os)
virtual void OutMidiFile::Save (tree_storage &config)
 Save current device settings in a tree storage.
virtual void OutMidiFile::Save (tree_storage &config, const Route *route)
 Save route settings (filter settings) for a given route.
virtual void OutMidiFile::Load (tree_storage &config)
 Load current device settings from a tree storage.
virtual void OutMidiFile::Load (tree_storage &config, Route *route)
 Loade route settings (filter settings) for a given route.
virtual bool OutMidiFile::Open ()
virtual void OutMidiFile::Close ()
virtual void OutMidiFile::NoteOn (int box, int taste, int velo, Route *r, int channel, ChannelData *cd)
virtual void OutMidiFile::NoteOff (int box, int taste, int velo, Route *r, int channel)
virtual void OutMidiFile::NotesCorrect (int box)
virtual void OutMidiFile::Sustain (char on, int channel)
virtual void OutMidiFile::MidiOut (DWORD data, char n)
virtual void OutMidiFile::MidiOut (BYTE *p, char n)
virtual void OutMidiFile::Quite (Route *r)
virtual void OutMidiFile::ReadData (wxConfigBase *config)
virtual void OutMidiFile::WriteData (wxConfigBase *config)
virtual void InMidiFile::Save (tree_storage &config)
 Save current device settings in a tree storage.
virtual void InMidiFile::Save (tree_storage &config, const Route *route)
 Save route settings (filter settings) for a given route.
virtual void InMidiFile::Load (tree_storage &config)
 Load current device settings from a tree storage.
virtual void InMidiFile::Load (tree_storage &config, Route *route)
 Loade route settings (filter settings) for a given route.
virtual bool InMidiFile::Open ()
virtual void InMidiFile::Close ()
virtual void InMidiFile::Stop ()
virtual void InMidiFile::Play ()
virtual void InMidiFile::Pause ()
void InMidiFile::IncDelta ()
long InMidiFile::ReadMidiProceed (size_t nr, long time)
void InMidiFile::ProceedRoute (DWORD midiCode, Route *route)
void InMidiFile::Proceed (DWORD midiCode, int track)
bool BoxDlg::Create (wxWindow *parent, wxWindowID id=SYMBOL_BOXDLG_IDNAME, const wxString &caption=SYMBOL_BOXDLG_TITLE, const wxPoint &pos=SYMBOL_BOXDLG_POSITION, const wxSize &size=SYMBOL_BOXDLG_SIZE, long style=SYMBOL_BOXDLG_STYLE)
 Creation.
void BoxDlg::CreateControls ()
 Creates the controls and sizers.
static bool BoxDlg::ShowToolTips ()
 Should we show tooltips?
wxBitmap BoxDlg::GetBitmapResource (const wxString &name)
 Retrieves bitmap resources.
wxIcon BoxDlg::GetIconResource (const wxString &name)
 Retrieves icon resources.
void BoxDlg::UpdateEnable (wxCommandEvent &event)
 wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RADIOBUTTON
void BoxDlg::UpdateLayout (int type)
void MutTag::OnPaint (wxPaintEvent &WXUNUSED(event))
static bool InputDevDlg::ShowToolTips ()
 Should we show tooltips?
wxBitmap InputDevDlg::GetBitmapResource (const wxString &name)
 Retrieves bitmap resources.
wxIcon InputDevDlg::GetIconResource (const wxString &name)
 Retrieves icon resources.
void InputDevDlg::OnChoiceSelected (wxCommandEvent &event)
 wxEVT_COMMAND_CHOICE_SELECTED event handler for ID_CHOICE
void InputDevDlg::UpdateLayout (DevType type)
void InputDevDlg::OnRemoveClick (wxCommandEvent &event)
 wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON
void InputDevDlg::OnFileChanged (wxFileDirPickerEvent &event)
int InputDevDlg::FindType (DevType t)
 MutRouteWnd::MutRouteWnd (wxWindow *parent, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize)
void MutRouteWnd::InitShapes ()
 fills the window with the corresponding shapes.
void MutRouteWnd::InitDevices ()
void MutRouteWnd::ClearDevices ()
void MutRouteWnd::createInputDevices (wxSizerFlags flags)
void MutRouteWnd::ClearInputDevices ()
 Clears all input device shapes.
void MutRouteWnd::createBoxes (wxSizerFlags flags)
void MutRouteWnd::ClearBoxes ()
 Clears all box shapes.
void MutRouteWnd::createOutputDevices (wxSizerFlags flags)
void MutRouteWnd::ClearOutputDevices ()
 Clears all output device shapes.
static void MutRouteWnd::CmRouteLoad (wxCommandEvent &event)
 interactive route loading
static void MutRouteWnd::CmRouteSave (wxCommandEvent &event)
 save routes to disk.
static void MutRouteWnd::CmRouteSaveAs (wxCommandEvent &event)
 save routes with a new file name
virtual void MutRouteWnd::OnDraw (wxDC &dc)
 OutputDevDlg::OutputDevDlg (wxWindow *parent=NULL)
 Constructors.
bool OutputDevDlg::Create (wxWindow *parent, wxWindowID id=SYMBOL_OUTPUTDEVDLG_IDNAME, const wxString &caption=SYMBOL_OUTPUTDEVDLG_TITLE, const wxPoint &pos=SYMBOL_OUTPUTDEVDLG_POSITION, const wxSize &size=SYMBOL_OUTPUTDEVDLG_SIZE, long style=SYMBOL_OUTPUTDEVDLG_STYLE)
 Creation.
void OutputDevDlg::CreateControls ()
 Creates the controls and sizers.
static bool OutputDevDlg::ShowToolTips ()
 Should we show tooltips?
wxBitmap OutputDevDlg::GetBitmapResource (const wxString &name)
 Retrieves bitmap resources.
wxIcon OutputDevDlg::GetIconResource (const wxString &name)
 Retrieves icon resources.
void OutputDevDlg::OnChoice2Selected (wxCommandEvent &event)
 wxEVT_COMMAND_CHOICE_SELECTED event handler for ID_CHOICE2
void OutputDevDlg::UpdateLayout (int type)
void OutputDevDlg::OnRemoveClick (wxCommandEvent &event)
 wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_REMOVE
void OutputDevDlg::OnButton2Click (wxCommandEvent &event)
 wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON2
void OutputDevDlg::OnButton3Click (wxCommandEvent &event)
 wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON3
void MutaborBoxSettings::SetBoxNumber (int nr)
void InputFilterPanel::AddPage (wxPanel *panel, const wxString &label, bool selected, MutInputDeviceShape *shape)
wxWindow * InputFilterPanel::GetCurrentDevicePage ()
MutInputDeviceShapeInputFilterPanel::GetCurrentSelection ()
void OutputFilterPanel::AddPage (wxPanel *panel, const wxString &label, bool selected, MutOutputDeviceShape *shape)
wxWindow * OutputFilterPanel::GetCurrentDevicePage ()
MutOutputDeviceShapeOutputFilterPanel::GetCurrentSelection ()
int RoutePanel::AddBox (MutBoxShape *boxShape, bool selected=false)
void RoutePanel::EnableRoute (bool enable=true)
bool RouteRemoveButton::Create (RoutePanel *route, wxWindow *parent, wxWindowID id=wxID_REMOVE, const wxString &label=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxButtonNameStr)
void RouteRemoveButton::EnableRoute (bool enable=true)
void RouteRemoveButton::RemoveButtonPressed (wxCommandEvent &event)
void BoxDlg::InitializeBoxTypes ()
virtual wxSize BoxDlg::DoGetBestSize () const
int BoxDlg::GetBoxType () const
void BoxDlg::SetBoxType (int value)
void BoxDlg::AddButtonPressed (wxCommandEvent &event)
void BoxDlg::OnRemoveClick (wxCommandEvent &event)
 wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON
void OutputDevDlg::OnChoiceSelected (wxCommandEvent &event)
 wxEVT_COMMAND_CHOICE_SELECTED event handler for ID_CHOICE
void OutputDevDlg::UpdateLayout (DevType type)
void OutputDevDlg::OnFileChanged (wxFileDirPickerEvent &event)
int OutputDevDlg::FindType (DevType t)
static MutOutputDeviceShapeMutOutputDeviceShape::CreateShape (wxWindow *parent, wxWindowID id, OutDevice *d)
void MutOutputDeviceShape::SetLabel (const wxString &st)
virtual void MutOutputDeviceShape::AddRoute (Route *route)
virtual void MutOutputDeviceShape::RemoveRoute (Route *route)
virtual void MutOutputDeviceShape::DoLeftDblClick ()
OutputDevDlgMutOutputDeviceShape::ShowDeviceDialog ()
virtual bool MutOutputDeviceShape::DetachDevice ()
 detach device
virtual bool MutOutputDeviceShape::replaceSelfBy (MutOutputDeviceShape *newshape)
virtual void MutOutputDeviceShape::ReadPanel (OutputFilterPanel *panel, MutBoxChannelShape *channel)

Variablen

EDeviceInEDevices
 input devices for GUI
EDeviceOutEDevices
 output devices for GUI
bool BoxUsed [MAX_BOX]
 which mutabor boxes are used at all?
WATCHEDPTR(OutDevice, routing,
OutDevice) OutDevice char 
InDevChanged = 0
CurrentTimer CurrentTime
char InDevChanged
char ChannelData::Sustain
int ChannelData::BankSelectMSB
int ChannelData::BankSelectLSB
long ChannelData::Pitch
int Device::Id
int Device::DevId
mutString Device::Name
enum MutaborModeType InDevice::Mode
CurrentTimer CurrentTime
mutString CurrentId
mutString CurrentSep
ChannelData Cd (0, 0)
mutString CurrentId
mutString CurrentSep
const mutChar * Tags [NTAGS]
const mutChar * TagShorts [NTAGSHORTS]
GisTokenRoot
GisToken ** Current
GisTokenLastOpenBracket
GisTagBeginLastOpenRange
char TagMode
mutString TagName
mutString TagSep
GisTokenPara
GisTokenLastPara
int LastOctave
frac LastDuration
const mutChar * Tags [NTAGS]
const mutChar * TagShorts [NTAGSHORTS]
GisReadProceed GisReadDummy
GisReadArtProceed GisReadArtDummy
int GspCurrentLineNr
int GspErrorLineNr
int GspErrorPos
mutString GspErrorLine
int GspError
int PossibleErrorLineNr
int PossibleErrorPos
mutString PossibleErrorLine
char Sep [GSP_MAX_SEP]
int SepPos
char ParaMode
char Komma
int NumberLength
int BracketDeep
char Brackets [200]
char LastTag
static int octave
static mutString accedentials
static frac duration
mutChar SepChars [] = mutT(" \t\r\n")
mutChar DelimitChars [] = mutT("{}[]()")
bool minus
int GspCurrentLineNr
int GspErrorLineNr
int GspErrorPos
mutString GspErrorLine
int GspError
 char [GSP_MAX_SEP]
int SepPos
const mutTranslationChar * GspErrorText []
const mutTranslationChar * GspErrorText []
mutChar CurrentLine [GSP_MAX_LINE]
size_t CurrentPos
int Eof
mutTextStream * File
mutString CurrentLine
size_t CurrentPos
int Eof
int lMidiCode [8] = { 3, 3, 3, 3, 2, 2, 3, 1 }
BYTE * pData
int nData
long NRT_Speed
RtMidiOutrtmidiout
RtMidiInrtmidiin
WATCHEDPTR(Route, routing,
Route) Route const mutString 
RTName []
const mutString DevTypeName []
const mutString RTName []
int Route::Id
int Route::inputid
int Route::outputid
RouteType Route::Type
int Route::IFrom
int Route::ITo
int Route::Box
bool Route::Active
int Route::OFrom
int Route::OTo
bool Route::ONoDrum
static int Route::maxRouteId = 1
const mutString DevTypeName []
MutPanel EVT_PAINT (MutIconShape::OnPaint) EVT_SET_FOCUS(MutIconShape
wxStaticText * MutIconShape::staticText
DevType IsDT
int curBox
 wxFONTFAMILY_SWISS
 wxFONTSTYLE_NORMAL
 wxFONTWEIGHT_NORMAL
MutInputDeviceShapeMutBoxChannelShape::input
MutOutputDeviceShapeMutBoxChannelShape::output
wxColour BoxColors [MAX_BOX]
wxSizer * MutBoxShape::channels
static wxSizerFlags MutBoxShape::sizerFlags
int MutBoxShape::boxId
static int MutBoxShape::maxBoxId
MutIconShape EVT_LEFT_DCLICK (MutDeviceShape::LeftDblClickEvent) END_EVENT_TABLE() bool MutDeviceShape = Box0 - 1
static wxSizerFlags MutInputDeviceShape::sizerFlags
wxFileName MutInputGuidoFileDeviceShape::fileName
wxFileName MutInputMidiFileDeviceShape::fileName
wxFileName MutOutputGuidoFileDeviceShape::fileName
wxFileName MutOutputMidiFileDeviceShape::fileName
MutIcon DevUnknownBitmap
MutIcon MidiInputDevBitmap
MutIcon NewInputDevBitmap
MutIcon MidiOutputDevBitmap
MutIcon NewOutputDevBitmap
MutIcon MidiFileBitmap
MutIcon GuidoFileBitmap
MutIcon BoxBitmap
MutIcon NewBoxBitmap
MutIcon ActiveChannelBitmap
MutIcon PassiveChannelBitmap
MutIcon NewInputDevBitmap
MutIcon MidiInputDevBitmap
MutIcon NewOutputDevBitmap
MutIcon MidiOutputDevBitmap
MutIcon MidiFileBitmap
MutIcon GuidoFileBitmap
MutIcon BoxBitmap
MutIcon NewBoxBitmap
MutIcon ActiveChannelBitmap
MutIcon PassiveChannelBitmap
static MurFileDataType MutRouteWnd::MurFileData

Makro-Dokumentation

#define _BOXDLG_H_

Definiert in Zeile 72 der Datei BoxDlg.h.

#define BACKGROUND   *wxLIGHT_GREY

Definiert in Zeile 120 der Datei MutRouteWnd.cpp.

Wird benutzt von MutRouteWnd::MutRouteWnd() und PrintBox().

#define CHAR0   CurrentLine[CurrentPos]

Definiert in Zeile 203 der Datei GSP.cpp.

Wird benutzt von DoParse(), GetSep(), GspParse(), ReadLong(), ReadNote(), ReadParaNumber(), ReadParaStr() und ReadTag().

#define CHAR1   CurrentLine[CurrentPos+1]

Definiert in Zeile 204 der Datei GSP.cpp.

Wird benutzt von GetSep() und ReadParaStr().

#define CHECKDUP (   target,
  source 
)
Wert:
if ( source )                  \
         target = mutStrdup(source);     \
  else                           \
         target = 0

Definiert in Zeile 47 der Datei GIS.h.

Wird benutzt von GisNote::GisNote(), GisParaStr::GisParaStr(), GisTag::GisTag(), GisToken::GisToken() und GisWriteHead::GisWriteHead().

#define CNAlter   1

Definiert in Zeile 404 der Datei GIS_Head.h.

Wird benutzt von ChordNote::CheckCloseAlter(), ChordNote::MutNoteOff() und ChordNote::MutNoteOn().

#define CNNoteOn   2
#define DebugCheckRoutes ( )
#define DeviceMaxType   DTGis+1

Definiert in Zeile 133 der Datei Device.h.

#define DRUMCHANNEL   9

Definiert in Zeile 104 der Datei Device.h.

#define FILENAMELENGTH   200

Definiert in Zeile 130 der Datei MutRouteWnd.cpp.

#define FOR_MUTWIN

##################################################################

Definiert in Zeile 33 der Datei GIS.h.

#define GET_ABSTAND (   taste,
  tonsystem 
)
Wert:
( (int)((taste)-( (tonsystem)->anker % (tonsystem)->breite ))  \
           / (tonsystem)->breite -((int) (tonsystem)->anker         \
           / (tonsystem)->breite ))

Definiert in Zeile 123 der Datei DevMidF.cpp.

#define GET_FREQ (   taste,
  tonsystem 
)
Wert:
( ( (tonsystem)->ton[GET_INDEX(taste,(tonsystem))]==0) ?       \
          (long) 0 :                                       \
     (long)( (tonsystem)->periode *                   \
              GET_ABSTAND(taste,(tonsystem))  +                         \
                   (tonsystem)->ton[GET_INDEX(taste,(tonsystem))]))

Definiert in Zeile 129 der Datei DevMidF.cpp.

Wird benutzt von OutMidiFile::NoteOn() und OutMidiFile::NotesCorrect().

#define GET_INDEX (   taste,
  tonsystem 
)
Wert:
((int)((taste)-( (tonsystem)->anker % (tonsystem)->breite )) \
                          % (tonsystem)->breite )

Definiert in Zeile 117 der Datei DevMidF.cpp.

#define GISDEBUG (   para)
#define GmnBox   -1

Definiert in Zeile 102 der Datei EDevice.h.

#define GSP_MAX_LINE   1000

Definiert in Zeile 36 der Datei GSP.h.

Wird benutzt von ReadNewLine(), ReadNote() und ReadParaStr().

#define GSP_MAX_SEP   8000

Definiert in Zeile 35 der Datei GSP.h.

#define H_MMSYSTEM

Definiert in Zeile 104 der Datei DevMidF.cpp.

#define H_MMSYSTEM

Definiert in Zeile 42 der Datei DevMidi.h.

#define ID_BUTTON2   10022

Definiert in Zeile 65 der Datei OutputDevDlg.h.

Wird benutzt von OutputDevDlg::CreateControls().

#define ID_BUTTON3   10023

Definiert in Zeile 68 der Datei OutputDevDlg.h.

Wird benutzt von OutputDevDlg::CreateControls().

#define ID_CHOICE2   10018

Definiert in Zeile 61 der Datei OutputDevDlg.h.

Wird benutzt von OutputDevDlg::CreateControls().

#define ID_CHOICE3   10019

Definiert in Zeile 62 der Datei OutputDevDlg.h.

Wird benutzt von OutputDevDlg::CreateControls().

#define ID_MYDIALOG   10017

Control identifiers

Definiert in Zeile 55 der Datei OutputDevDlg.h.

#define ID_MYDIALOG3   10034

Includes

Forward declarations

Control identifiers

Definiert in Zeile 49 der Datei BoxDlg.h.

#define ID_RADIOBOX1   10035

Definiert in Zeile 59 der Datei BoxDlg.h.

Wird benutzt von BoxDlg::CreateControls().

#define ID_RADIOBUTTON   10036

Definiert in Zeile 55 der Datei BoxDlg.h.

Wird benutzt von BoxDlg::CreateControls().

#define ID_RADIOBUTTON1   10038

Definiert in Zeile 57 der Datei BoxDlg.h.

Wird benutzt von BoxDlg::CreateControls().

#define ID_RADIOBUTTON2   10039

Definiert in Zeile 58 der Datei BoxDlg.h.

Wird benutzt von BoxDlg::CreateControls().

#define ID_TEXTCTRL10   10037

Definiert in Zeile 56 der Datei BoxDlg.h.

Wird benutzt von BoxDlg::CreateControls().

#define ID_TEXTCTRL2   10020

Definiert in Zeile 64 der Datei OutputDevDlg.h.

Wird benutzt von OutputDevDlg::CreateControls().

#define ID_TEXTCTRL3   10021

Definiert in Zeile 67 der Datei OutputDevDlg.h.

Wird benutzt von OutputDevDlg::CreateControls().

#define ID_TEXTCTRL4   10024

Definiert in Zeile 63 der Datei OutputDevDlg.h.

Wird benutzt von OutputDevDlg::CreateControls().

#define ID_TEXTCTRL5   10025

Definiert in Zeile 66 der Datei OutputDevDlg.h.

Wird benutzt von OutputDevDlg::CreateControls().

#define INIT_BENDINGRANGE   2

Definiert in Zeile 96 der Datei EDevice.h.

Wird benutzt von EDevice::EDevice().

#define LONG_TO_CENT (   x)    ( ((float)x)/(double)167772.13 )

Definiert in Zeile 138 der Datei DevMidF.cpp.

#define LONG_TO_HERTZ (   x)    (440.0*pow(ZWZ,((((float)x)/(double)16777216.0))-69))

Definiert in Zeile 137 der Datei DevMidF.cpp.

#define MAKE_ID (   route,
  box,
  taste,
  channel 
)    ((((DWORD)channel) << 24) + (((DWORD)route->GetId()) << 16) + ((DWORD)box << 8) + taste)

Definiert in Zeile 161 der Datei DevMidF.cpp.

Wird benutzt von OutMidiFile::NoteOff() und OutMidiFile::NoteOn().

#define max (   a,
 
)    ((a) < (b) ? (b) : (a))

Definiert in Zeile 143 der Datei MutRouteWnd.cpp.

Wird benutzt von MutRouteWnd::OnDraw().

#define MIDI_OUT2 (   code1,
  code2 
)    Tracks.MidiOut2(code1, code2)

Definiert in Zeile 144 der Datei DevMidF.cpp.

#define MIDI_OUT3 (   code1,
  code2,
  code3 
)    Tracks.MidiOut3(code1, code2, code3)
#define MIDI_PITCH (   i)
Wert:
int pb = ( (((int)zugriff[2])<<6) + (zugriff[1]>>2) ) / bending_range; \
        MIDI_OUT3(0xE0+i, zgf[0] >> 1 , 64+(ton_auf_kanal[i].fine=(zgf[1])))

Definiert in Zeile 152 der Datei DevMidF.cpp.

Wird benutzt von OutMidiFile::NoteOn().

#define MIDI_SOUND (   i,
  sound 
)    if ( sound != -1 ) MIDI_OUT2(0xC0+i, sound)

Definiert in Zeile 157 der Datei DevMidF.cpp.

Wird benutzt von OutMidiFile::NoteOn().

#define MIDICODE (   i)    (0xff & (midiCode >> (8*i)))

Definiert in Zeile 970 der Datei DevMidF.cpp.

Wird benutzt von InMidiFile::ProceedRoute().

#define MMSYSTEM_H

Definiert in Zeile 73 der Datei MutRouteWnd.cpp.

#define MMSYSTEM_H

Definiert in Zeile 39 der Datei DevGIS.cpp.

#define MutIcon   wxIcon

Definiert in Zeile 171 der Datei MutIcon.h.

#define MutICON (   x)    x

Definiert in Zeile 172 der Datei MutIcon.h.

Wird benutzt von initMutIconShapes().

#define MutNullIcon   wxNullIcon;

Definiert in Zeile 178 der Datei MutIcon.h.

Wird benutzt von MutIconShape::GetMutIcon().

#define NEW_LINE   mutT("\n")

Definiert in Zeile 83 der Datei GSP.cpp.

Wird benutzt von GetSep() und ReadParaStr().

#define NO_DELTA   0x7fffffffl

Definiert in Zeile 164 der Datei DevMidF.cpp.

Wird benutzt von InMidiFile::IncDelta(), InMidiFile::ReadMidiProceed() und InMidiFile::Stop().

#define NO_KEY   -32000
#define NoBox   -2

defind two box types;

Definiert in Zeile 101 der Datei EDevice.h.

#define NTAGS   52

Definiert in Zeile 57 der Datei GIS.h.

Wird benutzt von GetTagId().

#define NTAGSHORTS   6

Definiert in Zeile 58 der Datei GIS.h.

Wird benutzt von GetTagId().

#define POINT_IN (   p,
  x1,
  y1,
  xl,
  yl 
)    (x1 <= p.x && p.x < x1+xl && y1 < p.y && p.y < y1+yl)

Definiert in Zeile 131 der Datei MutRouteWnd.cpp.

#define printHeadChain (   a,
 
)

Definiert in Zeile 557 der Datei DevGIS.cpp.

#define READCONFIGINT (   config,
  name,
  variable,
  defval 
)
Wert:
variable = config.Read(_T(name),defval); \
        DEBUGLOG2(config,_T("Read " name " = %d"),variable);

Definiert in Zeile 187 der Datei Route.cpp.

#define READCONFIGSTR (   config,
  name,
  variable,
  defval 
)
Wert:
variable = config.Read(_T(name),defval); \
        DEBUGLOG2(config,_T("Read " name " = %s"),variable.c_str());

Definiert in Zeile 183 der Datei Route.cpp.

#define ROUND (   x)    x = (floor(x*ROUND_FACTOR+0.5)) / ROUND_FACTOR

Definiert in Zeile 52 der Datei DevGIS.cpp.

Wird benutzt von GetKeyPitch().

#define ROUND_FACTOR   1000000

Definiert in Zeile 51 der Datei DevGIS.cpp.

#define RT_BOX   2

Definiert in Zeile 124 der Datei MutRouteWnd.cpp.

#define RT_INDEVICE   0

Definiert in Zeile 122 der Datei MutRouteWnd.cpp.

#define RT_INFILTER   1

Definiert in Zeile 123 der Datei MutRouteWnd.cpp.

#define RT_OUTDEVICE   4

Definiert in Zeile 126 der Datei MutRouteWnd.cpp.

#define RT_OUTFILTER   3

Definiert in Zeile 125 der Datei MutRouteWnd.cpp.

#define RT_PLAYBUTTON   5

Definiert in Zeile 127 der Datei MutRouteWnd.cpp.

#define RT_STOPBUTTON   6

Definiert in Zeile 128 der Datei MutRouteWnd.cpp.

#define SYMBOL_BOXDLG_IDNAME   ID_MYDIALOG3

Definiert in Zeile 52 der Datei BoxDlg.h.

#define SYMBOL_BOXDLG_POSITION   wxDefaultPosition

Definiert in Zeile 54 der Datei BoxDlg.h.

#define SYMBOL_BOXDLG_SIZE   wxSize(400, 300)

Definiert in Zeile 53 der Datei BoxDlg.h.

#define SYMBOL_BOXDLG_STYLE   wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX

Definiert in Zeile 50 der Datei BoxDlg.h.

#define SYMBOL_BOXDLG_TITLE   _("Mutabor-Box")

Definiert in Zeile 51 der Datei BoxDlg.h.

#define SYMBOL_OUTPUTDEVDLG_IDNAME   ID_MYDIALOG

Definiert in Zeile 58 der Datei OutputDevDlg.h.

#define SYMBOL_OUTPUTDEVDLG_POSITION   wxDefaultPosition

Definiert in Zeile 60 der Datei OutputDevDlg.h.

#define SYMBOL_OUTPUTDEVDLG_SIZE   wxSize(400, 300)

Definiert in Zeile 59 der Datei OutputDevDlg.h.

#define SYMBOL_OUTPUTDEVDLG_STYLE   wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX

Definiert in Zeile 56 der Datei OutputDevDlg.h.

#define SYMBOL_OUTPUTDEVDLG_TITLE   _("Output Device")

Definiert in Zeile 57 der Datei OutputDevDlg.h.

#define TAKESEP   takesep()

Definiert in Zeile 212 der Datei GSP.cpp.

Wird benutzt von GetSep().

#define TTaccent   22

Definiert in Zeile 70 der Datei GIS.h.

Wird benutzt von GisReadArtHead::Read().

#define TTalter   50

Definiert in Zeile 74 der Datei GIS.h.

Wird benutzt von ChordNote::MutNoteOn(), InGis::Proceed() und GisReadArtHead::Read().

#define TTinstr   19

Definiert in Zeile 67 der Datei GIS.h.

Wird benutzt von GisReadArtHead::Read().

#define TTintens   1

Definiert in Zeile 64 der Datei GIS.h.

Wird benutzt von GisReadArtHead::Read().

#define TTkey   36

Definiert in Zeile 72 der Datei GIS.h.

Wird benutzt von GisWriteHead::ProceedGis().

#define TTmutabor   51

Definiert in Zeile 75 der Datei GIS.h.

Wird benutzt von InGis::Proceed().

#define TToct   37

Definiert in Zeile 73 der Datei GIS.h.

Wird benutzt von GisWriteHead::ProceedGis() und GisReadArtHead::Read().

#define TTslur   2

Definiert in Zeile 65 der Datei GIS.h.

#define TTstacc   21

Definiert in Zeile 69 der Datei GIS.h.

Wird benutzt von GisReadArtHead::Read().

#define TTtempo   12

Definiert in Zeile 66 der Datei GIS.h.

Wird benutzt von GisReadArtHead::Read().

#define TTten   23

Definiert in Zeile 71 der Datei GIS.h.

Wird benutzt von GisReadArtHead::Read().

#define TTtie   20

Definiert in Zeile 68 der Datei GIS.h.

Wird benutzt von ChordNote::CheckCloseTie().

#define uchar   unsigned char

Definiert in Zeile 88 der Datei GSP.cpp.

#define wxCLOSE_BOX   0x1000

Compatibility

Definiert in Zeile 67 der Datei BoxDlg.h.

#define wxCLOSE_BOX   0x1000

Compatibility

Definiert in Zeile 76 der Datei OutputDevDlg.h.

#define wxFIXED_MINSIZE   0

Definiert in Zeile 70 der Datei BoxDlg.h.

#define wxFIXED_MINSIZE   0

Definiert in Zeile 79 der Datei OutputDevDlg.h.

#define xb   24

Definiert in Zeile 110 der Datei MutRouteWnd.cpp.

Wird benutzt von PrintBox().

#define xd   32

Definiert in Zeile 107 der Datei MutRouteWnd.cpp.

Wird benutzt von MutRouteWnd::OnDraw().

#define yb   24

Definiert in Zeile 111 der Datei MutRouteWnd.cpp.

Wird benutzt von PrintBox().

#define yd   32

Definiert in Zeile 108 der Datei MutRouteWnd.cpp.

Wird benutzt von MutRouteWnd::OnDraw().

#define ydt   4

Definiert in Zeile 113 der Datei MutRouteWnd.cpp.

Wird benutzt von MutRouteWnd::OnDraw().

#define yh   12

Definiert in Zeile 116 der Datei MutRouteWnd.cpp.

Wird benutzt von MutRouteWnd::OnDraw().

#define yr   (yd+ydt+yt+yz)

Definiert in Zeile 118 der Datei MutRouteWnd.cpp.

Wird benutzt von MutRouteWnd::OnDraw() und PrintBox().

#define yt   16

Definiert in Zeile 114 der Datei MutRouteWnd.cpp.

Wird benutzt von MutRouteWnd::OnDraw() und TextPin().

#define zgf   ((unsigned char*) &pb)

Definiert in Zeile 149 der Datei DevMidF.cpp.

#define zugriff   ((unsigned char*) &freq)
#define ZWZ   1.059463094

Definiert in Zeile 136 der Datei DevMidF.cpp.


Dokumentation der benutzerdefinierten Typen

typedef GisOutputFilterPanelBase GisOutputFilterPanel

Definiert in Zeile 70 der Datei OutputGuidoFileDeviceShape.h.

typedef void GisReadArtProceed(GisReadArtHead *token, char turn)

Definiert in Zeile 283 der Datei GIS_Head.h.

typedef void GisReadProceed(GisReadHead *, char)

Definiert in Zeile 117 der Datei GIS_Head.h.

typedef GuidoFileBoxSettingsBase GuidoFileBoxSettings

Definiert in Zeile 75 der Datei BoxDlg.h.

typedef NoBoxSettingsBase NoBoxSettings

Definiert in Zeile 74 der Datei BoxDlg.h.

typedef stringmaptype::iterator MutDeviceShape::stringmapiterator

Definiert in Zeile 99 der Datei DeviceShape.h.

typedef std::map<wxString *, MutDeviceShape *, strptrless> MutDeviceShape::stringmaptype

Definiert in Zeile 98 der Datei DeviceShape.h.

typedef struct TagListData TagList
typedef TArray<BYTE> TByteArray

Definiert in Zeile 41 der Datei DevMidF.h.

typedef struct TAK TonAufKanal
typedef struct TAK1 TonAufKanal1

Dokumentation der Aufzählungstypen

enum ARType
Aufzählungswerte:
ARNormal 
ARSlur 
ARTenuto 
ARPortato 
ARStaccatto 

Definiert in Zeile 39 der Datei GIS_Head.h.

enum BoxType
Aufzählungswerte:
NewBox 
NoBox 
GmnBox 
Box0 

Definiert in Zeile 127 der Datei Route.h.

{
        NewBox = -3,
        NoBox,
        GmnBox,
        Box0
};
enum DevType
Aufzählungswerte:
DTNotSet 
DTUnknown 
DTMidiPort 
DTMidiFile 
DTGis 

Definiert in Zeile 128 der Datei Device.h.

enum GisType
Aufzählungswerte:
GTNull 
GTUnknown 
GTSequenz 
GTSegment 
GTTag 
GTTagBegin 
GTTagEnd 
GTNote 
GTParaInt 
GTParaReal 
GTParaStr 
GTComma 

Definiert in Zeile 88 der Datei GIS.h.

Aufzählungswerte:
MutaborDeviceUnregistered 
MutaborDeviceStop 
MutaborDevicePlay 
MutaborDevicePause 
MutaborDeviceCompileError 
MutaborDeviceTimingError 

Definiert in Zeile 106 der Datei Device.h.

enum RouteType

Type of route input filter.

Aufzählungswerte:
RTall 
RTelse 
RTchannel 
RTstaff 

Definiert in Zeile 136 der Datei Route.h.


Dokumentation der Funktionen

int Acc2Int ( const mutString  acc)

Definiert in Zeile 274 der Datei GIS.cpp.

Wird benutzt von GisNote::GetKey().

{
        if ( !acc ) return 0;

        int i = 0;

#ifdef WX
        for (size_t j = 0; j < mutLen(acc); j++)
#else
        for (int j = 0; acc[j]; j++)
#endif
        {

                if ( acc[j] == '&' )
                        i--;
                else if ( acc[j] == '#' )
                        i++;
        }
        return i;
}
int RoutePanel::AddBox ( MutBoxShape boxShape,
bool  selected = false 
)

Definiert in Zeile 232 der Datei BoxDlg.cpp.

Benutzt DEBUGLOG und MutBoxShape::GetBoxId().

Wird benutzt von MutBoxChannelShape::InitializeRoute().

                                                            {
        int number;
        if (boxShape)
                number = box->Append(boxShape->GetLabel(), new BoxShapeData(boxShape));
        else number = box->Append(_T("New Box"), new BoxShapeData(NULL));
#ifdef DEBUG
        if (boxShape) {
                DEBUGLOG(dialog,_T("Entry box Id %d at Entry No. %d"),boxShape->GetBoxId(),number);
        } else {
                DEBUGLOG(dialog,_T("Entry 'new box' at Entry No. %d"),number);
        }
#endif
        if (selected) box->SetSelection(number);
        return number;
}
void BoxDlg::AddButtonPressed ( wxCommandEvent &  event) [protected]

Definiert in Zeile 390 der Datei BoxDlg.cpp.

Benutzt Box0, MutBoxChannelShape::CreateRoutePanel(), BoxDlg::GetBoxNumber(), BoxDlg::GetBoxType() und UNREACHABLEC.

{
        MutRouteWnd * parentwin = dynamic_cast<MutRouteWnd *> (m_parent);
        if (!parentwin || !routeWindow) UNREACHABLEC;
        MutBoxChannelShape::CreateRoutePanel(NULL, parentwin, routeWindow, GetBoxType()==Box0?GetBoxNumber():GetBoxType());
        routeWindow->Layout();
        routeWindow->InvalidateBestSize();
// routeWindow->GetSizer()->SetSizeHints(routeWindow);
//      routeWindow->FitInside();
        Layout();
        InvalidateBestSize();
        GetSizer()->SetSizeHints(this);
        Fit();
}
MutBoxChannelShape * MutBoxShape::AddChannel ( MutBoxChannelShape channel) [virtual]

Definiert in Zeile 274 der Datei BoxShape.cpp.

Benutzt MutBoxShape::channels und DEBUGLOG.

Wird benutzt von MutBoxShape::AddChannel(), MutRouteWnd::createBoxes(), MutBoxShape::readDialog() und MutBoxChannelShape::ReadPanel().

                                                                         {
        if (channel) {
                channels->Add(channel,0,wxALIGN_CENTER_HORIZONTAL | wxEXPAND);
#ifdef DEBUG
                wxSize s = channel->GetBestSize();
                DEBUGLOG (other, _T("channel best size: %dx%d"),s.x,s.y);
#endif          
                InvalidateBestSize();
                SetInitialSize(wxDefaultSize);
                m_parent->Layout();
        }
        return channel;
}
MutBoxChannelShape * MutBoxShape::AddChannel ( Route route) [virtual]

Definiert in Zeile 288 der Datei BoxShape.cpp.

Benutzt MutBoxShape::AddChannel() und DEBUGLOG.

{
        DEBUGLOG (other, _T("Adding route %p to window %p"),route, m_parent);
        MutBoxChannelShape * channel = 
                new MutBoxChannelShape(this, wxID_ANY, route);
        
        return AddChannel(channel);
}
MutBoxChannelShape * MutBoxShape::AddChannel ( RoutePanel panel) [virtual]

Definiert in Zeile 297 der Datei BoxShape.cpp.

Benutzt MutBoxShape::AddChannel(), MutBoxShape::boxId, MutBoxChannelShape::ReadPanel() und RTall.

                                                               {
        Route * route  = new Route (NULL,NULL, RTall, -1,-1, boxId, false);
        
# if 0
        MutBoxChannelShape * channel = new MutBoxChannelShape(this, wxID_ANY, route);
        channel -> ReadPanel(panel);


        return AddChannel(channel);
# endif
        MutBoxChannelShape * channel = AddChannel(route);
        if (channel) channel->ReadPanel(panel);
        return channel;
}
void OutputFilterPanel::AddPage ( wxPanel *  panel,
const wxString &  label,
bool  selected,
MutOutputDeviceShape shape 
)

Definiert in Zeile 173 der Datei BoxDlg.cpp.

Benutzt UNREACHABLEC.

{
        outputDevice->InvalidateBestSize();
        int n = outputDevice->GetPageCount();
        if(outputDevice -> InsertPage(n,panel, label, selected)) {
                wxChoice * choice = outputDevice->GetChoiceCtrl();
                choice->SetClientObject(n, new OutputShapeData(shape));
        } else UNREACHABLEC;
}
void InputFilterPanel::AddPage ( wxPanel *  panel,
const wxString &  label,
bool  selected,
MutInputDeviceShape shape 
)

Definiert in Zeile 136 der Datei BoxDlg.cpp.

Benutzt UNREACHABLEC.

Wird benutzt von MutBoxChannelShape::InitializeInputFilter().

{
        inputDevice->InvalidateBestSize();
        int n = inputDevice->GetPageCount();
        if(inputDevice -> InsertPage(n,panel, label, selected)) {
                wxChoice * choice = inputDevice->GetChoiceCtrl();
                choice->SetClientObject(n,new InputShapeData(shape));
        } else UNREACHABLEC;
}
void MutBoxChannelShape::AddPossibleOutput ( MutOutputDeviceShape device)

Definiert in Zeile 181 der Datei BoxChannelShape.cpp.

Benutzt MutOutputDeviceShape::AddRoute(), MutOutputDeviceShape::GetDevice(), Route::GetOutDevice(), MutBoxChannelShape::route und MutBoxChannelShape::SetOutput().

Wird benutzt von MutBoxShape::AddPossibleOutput().

                                                                        {
        OutDevice * out;
        if (route) out = route->GetOutDevice(); else out = NULL;
        if (!out) return;
        if (device->GetDevice() == out) {
                SetOutput(device);
                device->AddRoute(route);
        }
}
void MutBoxShape::AddPossibleOutput ( MutOutputDeviceShape device) [virtual]

Definiert in Zeile 323 der Datei BoxShape.cpp.

Benutzt MutBoxChannelShape::AddPossibleOutput() und MutBoxShape::channels.

Wird benutzt von MutRouteWnd::createOutputDevices().

                                                                 {
        wxSizerItemList list = channels->GetChildren();
        for (wxSizerItemList::iterator i = list.begin(); 
             i != (list.end()); i++)
        {
      
                MutBoxChannelShape * channel = (MutBoxChannelShape *) ((*i)->GetWindow());
                wxASSERT(dynamic_cast<MutBoxChannelShape *>(channel));
                wxASSERT(dynamic_cast<MutBoxChannelShape *>((*i)->GetWindow()));
                channel->AddPossibleOutput(device);
        }
}
void MutOutputDeviceShape::AddRoute ( Route route) [virtual]

Definiert in Zeile 154 der Datei OutputDeviceShape.cpp.

Benutzt MutOutputDeviceShape::device, Route::GetOutDevice(), Route::getUserData(), MutOutputDeviceShape::routes und UNREACHABLEC.

Wird benutzt von MutBoxChannelShape::AddPossibleOutput(), MutOutputDeviceShape::AddRoute(), MutOutputDeviceShape::ReadPanel(), MutBoxChannelShape::ReadPanel() und MutOutputDeviceShape::replaceSelfBy().

{
        wxASSERT(route);
        wxASSERT(device);
        wxASSERT(route->GetOutDevice() == device);
        MutBoxChannelShape * channel = (MutBoxChannelShape *) route->getUserData();
        wxASSERT(dynamic_cast<MutIconShape *>(channel));

        // Check for duplicate route insertion.
        for (MutBoxChannelShapeList::const_iterator i = routes.begin() ; i != routes.end() ; i++) {
                if ((*i)->GetRoute() == route) {
                        UNREACHABLEC; // maybe just STUB?
                        return;
                }
        }

        if (channel) {
                wxASSERT(channel->GetRoute()==route);
                channel->SetOutput(this);
                routes.push_back(channel);
        }
}
void MutInputDeviceShape::AddRoute ( Route route) [virtual]

Definiert in Zeile 175 der Datei InputDeviceShape.cpp.

Benutzt MutInputDeviceShape::device, Route::GetNext(), InDevice::GetRoutes(), Route::SetNext(), InDevice::SetRoute() und UNREACHABLEC.

Wird benutzt von MutInputDeviceShape::ReadPanel().

{
        if (!device) return;
        if (!route) {
                UNREACHABLEC;
                return;
        }
        wxASSERT(!route->GetNext());
        route->SetNext(device->GetRoutes());
        device->SetRoute(route);
}
void InDevice::AddRoute ( Route route) [virtual]

Definiert in Zeile 303 der Datei Device.cpp.

Benutzt Route::GetInDevice(), InDevice::GetNext(), umstimmung::next, Route::SetInDevice() und InDevice::SetNext().

Wird benutzt von compat30::LoadRoutes(), Route::LoadRoutes() und ScanDevices().

{

        if (!Routes) {
                Routes = route;
                route->SetInDevice(this);
                return;
        }
        
        Route *R = Routes;
        wxASSERT(R->GetInDevice() == this);
        Route * next;
        while ( (next = R -> GetNext()) )
                R = next;

        R -> SetNext(route);
}
void AddStr ( char Target,
int &  Pos,
char Source 
)

Definiert in Zeile 124 der Datei GSP.cpp.

{
        for (int i = 0; Source[i]; i++) {
                Target[Pos++] = Source[i];
        }

        Target[Pos] = 0;
}
char* AddStr ( char **  s1,
const char s2,
const char s3 
)

Definiert in Zeile 474 der Datei GIS.cpp.

Benutzt Clear().

Wird benutzt von BeginParameter(), BeginRange(), EndParameter(), GetSep() und ReadParaStr().

{
        int l = strlen(*s1) + strlen(s2) + strlen(s3) + 1;
        char *s = (char*) malloc(l);
        s[0] = 0;

        if ( *s1 ) strcat(s, *s1);

        if ( s2 ) strcat(s, s2);

        if ( s3 ) strcat(s, s3);

        Clear(s1);

        *s1 = s;

        return *s1;
}
virtual void OutDevice::AddTime ( frac  time) [pure virtual]

Implementiert in OutGis, OutMidiFile und OutMidiPort.

void OutDevice::AppendToDeviceList ( OutDevice dev) [static, protected]

Definiert in Zeile 171 der Datei Device.cpp.

Benutzt OutDevice::GetDeviceList(), OutDevice::GetNext() und OutDevice::SetNext().

Wird benutzt von OutDevice::OutDevice().

{
        if (!deviceList) {
                deviceList = dev; 
                return;
        }
        
        OutDevice * d = GetDeviceList() ;
        OutDevice * d2;
        while ((d2 = d->GetNext())) d = d2;
        d->SetNext(dev);
}
void InDevice::AppendToDeviceList ( InDevice dev) [static, protected]

Definiert in Zeile 399 der Datei Device.cpp.

Benutzt InDevice::GetDeviceList(), InDevice::GetNext(), umstimmung::next und InDevice::SetNext().

Wird benutzt von InDevice::InDevice().

{
        if (!GetDeviceList()) {
                deviceList = dev; 
                return;
        }

        InDevice * d = deviceList ;
        InDevice * next;
        while ( (next = d->GetNext()) ) d = next;
        d->SetNext(dev);
}
void Route::AppendToRouteList ( Route route) [static, protected]

Definiert in Zeile 141 der Datei Route.cpp.

Wird benutzt von Route::Route().

{
        if (!routeList) {
                routeList = route; 
                return;
        }
        
        Route * r = routeList ;
        Route * r2;
        while ((r2 = r->globalNext)) {
                wxASSERT(r != route);
                r = r2;
        }
        r->globalNext = route;
}
BEGIN_EVENT_TABLE ( MutRouteWnd  ,
wxScrolledWindow   
)
BEGIN_EVENT_TABLE ( RouteRemoveButton  ,
wxButton   
)
BEGIN_EVENT_TABLE ( BoxDlg  ,
BoxDlgBase   
)

Definiert in Zeile 301 der Datei BoxDlg.cpp.

                               :BoxDlgBase(parent) {
        if (boxType)
                boxTypeChoice = boxType -> GetChoiceCtrl();
        else
                boxTypeChoice = NULL;
        InitializeBoxTypes();
}
int BeginParameter ( )

Definiert in Zeile 588 der Datei GIS.cpp.

Benutzt AddStr(), GISDEBUG, mutT und TagSep.

Wird benutzt von ReadTag().

{
        GISDEBUG("<")
        AddStr(TagSep, mutT("<"), Sep);
        return 0;
};
int BeginRange ( )

Definiert in Zeile 607 der Datei GIS.cpp.

Benutzt AddStr(), Clear(), GisTagBegin::End, GISDEBUG, LastOpenRange, mutT, GisToken::Next, GisToken::Sep, Tag(), TagMode, TagName und TagSep.

Wird benutzt von DoParse().

{
        GISDEBUG("( ")

        if ( LastPara )
                AddStr(LastPara->Sep, mutT("("), Sep);
        else if ( Para )
                AddStr(Para->Sep, mutT("("), Sep);
        else
                AddStr(TagSep, mutT("("), Sep);

        GisTagBegin *Tag = new GisTagBegin(TagName, Para, TagSep, 0);

        *Current = Tag;

        Current = &(Tag->Next);

        Tag->End = LastOpenRange;

        LastOpenRange = Tag;

        Clear(&TagName);

        Clear(&TagSep);

        Para = 0;

        LastPara = 0;

        TagMode = 0;

        return 0;
};
int BeginSegment ( )

Definiert in Zeile 520 der Datei GIS.cpp.

Benutzt BuildTag(), GisSegment::Contents, GISDEBUG und TagMode.

Wird benutzt von DoParse().

{
        GISDEBUG("{")

        if ( TagMode ) BuildTag();

        GisSegment *Seg = new GisSegment(0, Sep, LastOpenBracket);

        LastOpenBracket = Seg;

        *Current = Seg;

        Current = &(Seg->Contents);

        return 0;
};
int BeginSequenz ( )

Definiert in Zeile 554 der Datei GIS.cpp.

Benutzt BuildTag(), GisSequenz::Contents, GISDEBUG und TagMode.

Wird benutzt von DoParse().

{
        GISDEBUG("[")

        if ( TagMode ) BuildTag();

        GisSequenz *Seq = new GisSequenz(0, Sep, LastOpenBracket);

        LastOpenBracket = Seq;

        *Current = Seq;

        Current = &(Seq->Contents);

        return 0;
};
wxColor BoxColor ( int  nr)

Definiert in Zeile 188 der Datei BoxShape.cpp.

Benutzt BoxColors, DEBUGLOG2, GmnBox, MAX_BOX und NoBox.

Wird benutzt von PrintBox(), MutBoxShape::SetBoxId() und MutLogicWnd::UpDate().

{

        DEBUGLOG2(other,_T("Color for box %d requested"),nr);
        if ( nr == GmnBox )
                return wxNullColour;
        else if (nr == NoBox) 
                return wxNullColour;
        //      nr %= 11;
        nr %= MAX_BOX;
        if (nr < 0) nr += MAX_BOX;
        DEBUGLOG2(other,_T("Returning Color for Box number %d"),nr);
        return BoxColors[nr];

}
int BuildTag ( )

Definiert in Zeile 495 der Datei GIS.cpp.

Benutzt Clear(), DEBUGLOG2, Tag(), TagMode, TagName und TagSep.

Wird benutzt von BeginSegment(), BeginSequenz(), Comma(), EndRange(), EndSegment(), EndSequenz(), NextSequenz(), Note() und Tag().

{
        DEBUGLOG2(other,_T("TagName.len %d, '%s'"),TagName.Len(),TagName.c_str());
        GisTag *Tag = new GisTag(TagName, Para, TagSep);
        *Current = Tag;
        Current = &(Tag->Next);
        Clear(&TagName);
        Clear(&TagSep);
        Para = 0;
        LastPara = 0;
        TagMode = 0;
        return 0;
}
virtual bool MutBoxShape::CanHandleType ( int  type) [inline, virtual]

Erneute Implementation in NewMutBoxShape.

Definiert in Zeile 213 der Datei BoxShape.h.

Wird benutzt von MutBoxShape::DoLeftDblClick().

{ return true; }
virtual bool MutInputDeviceShape::CanHandleType ( DevType  type) [inline, protected, virtual]

Erneute Implementation in MutInputGuidoFileDeviceShape, MutInputMidiDeviceShape und MutInputMidiFileDeviceShape.

Definiert in Zeile 194 der Datei InputDeviceShape.h.

Wird benutzt von MutInputDeviceShape::DoLeftDblClick().

{ return false; }
virtual bool MutInputGuidoFileDeviceShape::CanHandleType ( DevType  type) [inline, protected, virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 107 der Datei InputGuidoFileDeviceShape.h.

Benutzt DTGis.

{ return type == DTGis; }
virtual bool MutInputMidiDeviceShape::CanHandleType ( DevType  type) [inline, protected, virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 165 der Datei InputMidiDeviceShape.h.

Benutzt DTMidiPort.

{ return type == DTMidiPort; }
virtual bool MutInputMidiFileDeviceShape::CanHandleType ( DevType  type) [inline, protected, virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 181 der Datei InputMidiFileDeviceShape.h.

Benutzt DTMidiFile.

{ return type == DTMidiFile; }
virtual bool NewMutBoxShape::CanHandleType ( int  type) [inline, virtual]

Erneute Implementation von MutBoxShape.

Definiert in Zeile 137 der Datei NewBoxShape.h.

{ return false; }
virtual bool MutNewOutputDeviceShape::CanHandleType ( DevType  type) [inline, protected, virtual]

Implementiert MutOutputDeviceShape.

Definiert in Zeile 100 der Datei NewOutputDeviceShape.h.

{ return false; }
virtual bool MutOutputGuidoFileDeviceShape::CanHandleType ( DevType  type) [inline, protected, virtual]

Implementiert MutOutputDeviceShape.

Definiert in Zeile 106 der Datei OutputGuidoFileDeviceShape.h.

Benutzt DTGis.

{ return type == DTGis; }
virtual bool MutOutputMidiDeviceShape::CanHandleType ( DevType  type) [inline, protected, virtual]

Implementiert MutOutputDeviceShape.

Definiert in Zeile 101 der Datei OutputMidiDeviceShape.h.

Benutzt DTMidiPort.

{ return type == DTMidiPort; }
virtual bool MutOutputMidiFileDeviceShape::CanHandleType ( DevType  type) [inline, protected, virtual]

Implementiert MutOutputDeviceShape.

Definiert in Zeile 105 der Datei OutputMidiFileDeviceShape.h.

Benutzt DTMidiFile.

{ return type == DTMidiFile; }
ChannelData::ChannelData ( int  sound = -1,
char  sustain = 0 
) [inline]
int CharIn ( mutChar  c,
const mutString  s 
)

Definiert in Zeile 133 der Datei GSP.cpp.

Benutzt mutStrChr.

Wird benutzt von DoParse(), GetSep() und ReadNote().

{
        return mutStrChr(s, c) != 0;
}
char Route::Check ( int  i) [inline]

Definiert in Zeile 226 der Datei Route.h.

Benutzt Route::IFrom und Route::ITo.

        {
                return (IFrom <= i && i <= ITo);
        }
void CheckBoxesUsed ( )

synchronizes BoxUsed with the routes

Definiert in Zeile 1167 der Datei EDevice.cpp.

Benutzt InDevice::GetDeviceList(), Route::GetNext(), InDevice::GetNext(), MAX_BOX, ERoute::Next, EDevice::Next, EDevice::Routes und UNREACHABLE.

Wird benutzt von MutFrame::CmDoActivate().

{
        for (int i = 0; i < MAX_BOX; i++)
                BoxUsed[i] = false;

        for (EDevice *In = InEDevices; In; In = In->Next)
                for (ERoute *R = In->Routes; R; R = R->Next)
                        if ( R->Box >= 0 )
                                BoxUsed[R->Box] = true;
}
int CheckError ( int  nr)
void Clear ( char **  s)

Definiert in Zeile 464 der Datei GIS.cpp.

Wird benutzt von AddStr(), BeginRange(), BuildTag(), MutTextBox::NewText() und UnRavel().

{
        if ( *s ) {
                free(*s);
                *s = 0;
        }
}
void MutRouteWnd::ClearBoxes ( )

Clears all box shapes.

Definiert in Zeile 660 der Datei MutRouteWnd.cpp.

Benutzt MutRouteWnd::Boxes und MutRouteWnd::BoxSizer.

Wird benutzt von MutRouteWnd::ClearDevices().

{
  Boxes.Clear();
  BoxSizer->Clear(true);
}
void MutRouteWnd::ClearDevices ( )
void MutRouteWnd::ClearInputDevices ( )

Clears all input device shapes.

Definiert in Zeile 568 der Datei MutRouteWnd.cpp.

Benutzt MutRouteWnd::InputDevices und MutRouteWnd::InputSizer.

Wird benutzt von MutRouteWnd::ClearDevices().

{
  InputDevices.Clear();
  InputSizer->Clear(true);
}
void MutRouteWnd::ClearOutputDevices ( )

Clears all output device shapes.

Definiert in Zeile 689 der Datei MutRouteWnd.cpp.

Benutzt MutRouteWnd::OutputDevices und MutRouteWnd::OutputSizer.

Wird benutzt von MutRouteWnd::ClearDevices().

{
  OutputDevices.Clear();
  OutputSizer->Clear(true);
}
void OutMidiFile::Close ( ) [virtual]

Implementiert OutDevice.

Definiert in Zeile 299 der Datei DevMidF.cpp.

Benutzt OutMidiFile::KeyDir, MIDI_OUT3, mutOpenOFstream, mutWriteStream, Device::Name, NRT_Speed, RealTime, Track::Save(), OutMidiFile::ton_auf_kanal und OutMidiFile::Tracks.

{
        // alle liegenden Tˆne ausschalten

        for (int i = 0; i < 16; i++)
                if ( KeyDir[i] >= 16 )  // benutzt
                        MIDI_OUT3(0x80+i, ton_auf_kanal[i].key, 64);

        // Datei speichern
        mutOpenOFstream(os,Name);

        BYTE Header[41] =
                { 'M', 'T', 'h', 'd', 0, 0, 0, 6, 0, 1, 0, 2, 1, 0x00,
                  'M', 'T', 'r', 'k', 0, 0, 0, 0x13, 0x00, 0xFF, 0x51, 0x03, 0x07, 0xD0, 0x00,
                  0x00, 0xFF, 0x58, 0x04, 0x04, 0x02, 0x18, 0x08, 0x00, 0xFF, 0x2F, 0x00 };

        if ( !RealTime ) {
                Header[12] = ((WORD)(NRT_Speed >> 8)) & 0xFF;
                Header[13] = ((WORD)(NRT_Speed)) & 0xFF;
        }

        mutWriteStream(os,Header, 41);

        Tracks.Save(os);
}
void InMidiFile::Close ( ) [virtual]

Implementiert InDevice.

Definiert in Zeile 765 der Datei DevMidF.cpp.

Benutzt InMidiFile::curDelta, InDevice::Mode, MutaborDeviceCompileError, InMidiFile::nTrack, InMidiFile::StatusByte, InMidiFile::Stop() und InMidiFile::TrackPos.

{
        Stop();
        // Speicher freigeben

        if ( Mode == MutaborDeviceCompileError )
                return;

        for (size_t i = 0; i < nTrack; i++ )
                free(Track[i]);

        free(Track);
        free(TrackPos);
        free(curDelta);
        free(StatusByte);
}
virtual void InDevice::Close ( ) [pure virtual]

Implementiert in InGis, InMidiFile und InMidiPort.

void InGis::Close ( ) [virtual]

Implementiert InDevice.

Definiert in Zeile 285 der Datei DevGIS.cpp.

Benutzt InGis::Data, InGis::Head, InDevice::Mode, MutaborDeviceCompileError und InGis::Stop().

{
        Stop();
        // Speicher freigeben

        if ( Mode == MutaborDeviceCompileError )
                return;

        if ( Head ) {
                delete Head;
                Head = 0;
        }

        if ( Data ) {
                delete Data;
                Data = 0;
        }

        delete Data;
}
virtual void OutDevice::Close ( ) [pure virtual]

Implementiert in OutGis, OutMidiFile und OutMidiPort.

void CloseAllSubs ( GisWriteHead head)

Definiert in Zeile 1489 der Datei GIS_Head.cpp.

Benutzt GisWriteHead::CloseSubs(), GisWriteHead::CommaAtEnd, GisWriteHead::Cursor, GisWriteHead::CutOut(), GisWriteHead::Data, GetGisType(), GTSegment, mutT, GisWriteHead::Next, GisWriteHead::nSub und GisWriteHead::RemoveComma().

Wird benutzt von OutGis::Close().

{
        while ( 1 ) {
                // search the lowest boss
                GisWriteHead *Boss = 0;

                for (GisWriteHead *H = head; H; H = H->Next)
                        if ( H->nSub > 0 )
                                Boss = H;

                if ( !Boss ) break;

                // check for "empty" boss
                if ( !Boss->Data && Boss->nSub == 1 ) {
                        GisWriteHead *h = Boss->Next;
                        Boss->Data = h->Data;
                        Boss->nSub = 0;
                        h->Data = 0;
                        h->CutOut();
                        delete h;
                        continue;
                }

                // check for segment
                if ( GetGisType(*Boss->Cursor) != GTSegment ) {
                        if ( Boss->Data && !Boss->CommaAtEnd ) {
                                *Boss->Cursor = new GisComma(mutT(" "), 0);
                                Boss->Cursor = &((*Boss->Cursor)->Next);
                        }

                        Boss->Data = new GisSegment(Boss->Data, mutT(" "), 0);

                        GisToken **Cont = Boss->Cursor;

                        if ( Boss->Cursor == &Boss->Data )
                                Cont = 0;

                        Boss->Cursor = &Boss->Data;

                        Boss->CloseSubs(Cont);
                } else
                        Boss->CloseSubs();
        }

        /*  // check wether there are parallel heads
          if ( head->Next ) */
        // remove comma at end
        head->RemoveComma();
}
int CloseFile ( )

Definiert in Zeile 75 der Datei GSP_File.cpp.

Benutzt File.

Wird benutzt von GspParse().

{
        delete File;
        return 0;
}
void MutRouteWnd::CmRouteLoad ( wxCommandEvent &  event) [static]

interactive route loading

This function opens a file open dialog in order to load a route configuration from disk storage. event (wxCommandEvent) event to be processed

Definiert in Zeile 698 der Datei MutRouteWnd.cpp.

Benutzt _(), MutRouteWnd::MurFileDataType::autoConverter, MutRouteWnd::ClearDevices(), CM_ROUTES, FileNameDialog(), MutRouteWnd::InitDevices(), LoadRoutes(), MutRouteWnd::MurFileData, MutRouteWnd::MurFileDataType::name und WK_ROUTE.

{
        // it's our task
        event.Skip(false);
        
        wxString filename = FileNameDialog(wxGetApp().GetTopWindow(),
                                           event.GetId());
        
        if (!filename) return;
        
        MurFileData.name.Assign(filename);
        
        wxFFile file(filename);
        if (!file.IsOpened()) {
                wxLogError(_("File '%s' couldn't be loaded"),filename.c_str());
                return;
        }
        wxString text;
        if (! file.ReadAll(&text, MurFileData.autoConverter)) {
                wxLogError(_("File '%s' could be opened, but not loaded."),
                           filename.c_str());
                return;
        }
        
        // Activate the Route window
        wxGetApp().CmRoutes(event);
        MutFrame * frame = 
          dynamic_cast<MutFrame*>(wxWindow::FindWindowById(WK_ROUTE));
        wxWindowList & list = frame->GetChildren();
        MutRouteWnd * routewnd=NULL;
        for (wxWindowList::iterator i = list.begin();i!= list.end();i++) {
                routewnd = dynamic_cast<MutRouteWnd *> (*i);
                if (routewnd) break;
        }
        wxASSERT(routewnd);
        if (routewnd) {
          routewnd->ClearDevices();
        }
        
        compat30::LoadRoutes(text);
        
        if (routewnd) {
          routewnd->InitDevices();
        }
        
        wxCommandEvent ev(wxEVT_COMMAND_MENU_SELECTED,CM_ROUTES);
        wxGetApp().ProcessEvent(ev);
}
void MutRouteWnd::CmRouteSave ( wxCommandEvent &  event) [static]

save routes to disk.

This function saves the current routing conifiguriton into a file on disk storage. event (wxCommandEvent) event to be processed

Definiert in Zeile 747 der Datei MutRouteWnd.cpp.

Benutzt _(), MutRouteWnd::MurFileDataType::autoConverter, MutRouteWnd::CmRouteSaveAs(), DEBUGLOGTYPE, MutRouteWnd::MurFileData, MutRouteWnd::MurFileDataType::name und SaveRoutes().

Wird benutzt von MutRouteWnd::CmRouteSaveAs().

{
        DEBUGLOGTYPE(other,MutFrame,_T(""));
        event.Skip(false);
        
        if (!MurFileData.name.IsOk() ) {
                CmRouteSaveAs(event);
                return;
        }
        
        /* not applicable, since the file might not yet exsist
         if (!MurFileData.name.IsFileWritable()) {
         wxLogError(_("Cannot write to routes file '%s'."), 
         MurFileData.name.GetFullPath().c_str());
         return;
         }
         */
        
        wxFFile file(MurFileData.name.GetFullPath(), _T("w"));
        
        if (!file.IsOpened()) {
                wxLogError(_("Cannot open routes file '%s' for writing."),
                           MurFileData.name.GetFullPath().c_str());
                return;
        }
        
        wxString RouteConfig;
        
        compat30::SaveRoutes(RouteConfig);
        
        if (file.Write(_T("# Mutabor 3.x routes configuration\n"),
                       MurFileData.autoConverter))
                if (file.Write(RouteConfig, MurFileData.autoConverter)) {
                        file.Close();
                        return;
                }
        
        wxLogError(_("Error writing file '%s'."),
                   
                   MurFileData.name.GetFullPath().c_str());
        file.Close();
}
void MutRouteWnd::CmRouteSaveAs ( wxCommandEvent &  event) [static]

save routes with a new file name

This function opens a file save dialog in order to save a route configuration to disk storage. event (wxCommandEvent) event to be processed

Definiert in Zeile 790 der Datei MutRouteWnd.cpp.

Benutzt _(), MutRouteWnd::CmRouteSave(), DEBUGLOGTYPE, FileNameDialog(), MutRouteWnd::MurFileData und MutRouteWnd::MurFileDataType::name.

Wird benutzt von MutRouteWnd::CmRouteSave().

{
        DEBUGLOGTYPE(other,MutFrame,_T(""));
        
        // it's our task
        event.Skip(false);
        
        wxString filename = FileNameDialog(wxGetApp().GetTopWindow(),
                                           event.GetId(),
                                           MurFileData.name.GetFullPath());
        
        if (!filename) return;
        
        MurFileData.name.Assign(filename);
        
        if (!MurFileData.name.IsOk()) {
                wxLogError(_("The string '%s' is not a valid file name."),
                           filename.c_str());
                return;
        }
        
        CmRouteSave(event);
}
int Comma ( )

Definiert in Zeile 748 der Datei GIS.cpp.

Benutzt BuildTag(), GISDEBUG und TagMode.

Wird benutzt von DoParse() und GisWriteHead::ReadyForBoss().

{
        GISDEBUG(", ")

        if ( TagMode ) BuildTag();

        *Current = new GisComma(Sep, 0);

        Current = &((*Current)->Next);

        return 0;
};
TagList* Copy ( TagList tag)

Definiert in Zeile 432 der Datei GIS_Head.cpp.

Benutzt TagListData::Data, TagListData::Next und TagListData::Tag.

Wird benutzt von GisReadArtHead::GisReadArtHead().

{
        if ( !list ) return 0;

        TagList *List = new TagList;

        List->Next = 0;

        List->Tag = list->Tag;

        List->Data = list->Data;

        return List;
}
GisToken * CopyPara ( GisToken para)

Definiert in Zeile 828 der Datei GIS.cpp.

Benutzt GisToken::Copy() und GisToken::Next.

Wird benutzt von GisTagBegin::Copy() und GisTag::Copy().

{
        GisToken *C = 0;
        GisToken **Cursor = &C;

        while ( para ) {
                *Cursor = para->Copy();
                Cursor = &(*Cursor)->Next;
                para = para->Next;
        }

        return C;
}
bool MutBoxChannelShape::Create ( wxWindow *  p = NULL,
wxWindowID  id = wxID_ANY,
Route r = NULL 
) [inline]

Definiert in Zeile 150 der Datei BoxChannelShape.h.

Benutzt MutBoxChannelShape::route und Route::setUserData().

Wird benutzt von MutBoxChannelShape::MutBoxChannelShape().

        { 
                route = r;
                if (!r) return false;
                r->setUserData (this);
                return MutIconShape::Create(p,id);
        }
bool BoxDlg::Create ( wxWindow *  parent,
wxWindowID  id = SYMBOL_BOXDLG_IDNAME,
const wxString &  caption = SYMBOL_BOXDLG_TITLE,
const wxPoint &  pos = SYMBOL_BOXDLG_POSITION,
const wxSize &  size = SYMBOL_BOXDLG_SIZE,
long  style = SYMBOL_BOXDLG_STYLE 
) [private]

Creation.

BoxDlg creator

Definiert in Zeile 86 der Datei BoxDlg.cpp.

Benutzt BoxDlg::CreateControls(), BoxDlg::ctrlBox1, BoxDlg::ctrlBox2, BoxDlg::ctrlBox3, BoxDlg::ctrlBoxNr und BoxDlg::ctrlMode.

{
        ctrlBox1 = NULL;
        ctrlBoxNr = NULL;
        ctrlBox2 = NULL;
        ctrlBox3 = NULL;
        ctrlMode = NULL;

        SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS);
        wxDialog::Create( parent, id, caption, pos, size, style );

        CreateControls();
        GetSizer()->Fit(this);
        GetSizer()->SetSizeHints(this);
        Centre();
        return TRUE;
}
bool OutputDevDlg::Create ( wxWindow *  parent,
wxWindowID  id = SYMBOL_OUTPUTDEVDLG_IDNAME,
const wxString &  caption = SYMBOL_OUTPUTDEVDLG_TITLE,
const wxPoint &  pos = SYMBOL_OUTPUTDEVDLG_POSITION,
const wxSize &  size = SYMBOL_OUTPUTDEVDLG_SIZE,
long  style = SYMBOL_OUTPUTDEVDLG_STYLE 
) [private]

Creation.

OutputDevDlg creator

Definiert in Zeile 93 der Datei OutputDevDlg.cpp.

Benutzt OutputDevDlg::CreateControls(), OutputDevDlg::ctrlGUIDOFile, OutputDevDlg::ctrlGUIDOFilePanel, OutputDevDlg::ctrlMidiDevice, OutputDevDlg::ctrlMidiDevicePanel, OutputDevDlg::ctrlMidiFile, OutputDevDlg::ctrlMidiFilePanel, OutputDevDlg::ctrlPanel und OutputDevDlg::ctrlType.

Wird benutzt von OutputDevDlg::OutputDevDlg().

{
        ctrlPanel = NULL;
        ctrlType = NULL;
        ctrlMidiDevicePanel = NULL;
        ctrlMidiDevice = NULL;
        ctrlMidiFilePanel = NULL;
        ctrlMidiFile = NULL;
        ctrlGUIDOFilePanel = NULL;
        ctrlGUIDOFile = NULL;

        SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS);
        wxDialog::Create( parent, id, caption, pos, size, style );

        CreateControls();
        GetSizer()->Fit(this);
        GetSizer()->SetSizeHints(this);
        Centre();
        return TRUE;
}
bool MutBoxIconShape::Create ( wxWindow *  parent = NULL,
wxWindowID  id = wxID_ANY 
) [inline]

Erneute Implementation von MutIconShape.

Erneute Implementation in NewMutBoxShape.

Definiert in Zeile 78 der Datei BoxIconShape.h.

Wird benutzt von MutBoxShape::Create() und MutBoxIconShape::MutBoxIconShape().

        {
                return MutIconShape::Create(parent, id);
        }
RouteRemoveButton::RemoveButtonPressed wxButton bool RouteRemoveButton::Create ( RoutePanel route,
wxWindow *  parent,
wxWindowID  id = wxID_REMOVE,
const wxString &  label = wxEmptyString,
const wxPoint &  pos = wxDefaultPosition,
const wxSize &  size = wxDefaultSize,
long  style = 0,
const wxValidator &  validator = wxDefaultValidator,
const wxString &  name = wxButtonNameStr 
)

Definiert in Zeile 270 der Datei BoxDlg.cpp.

Benutzt DEBUGLOG und max.

Wird benutzt von RouteRemoveButton::RouteRemoveButton().

                                                                              {
        bool created = wxButton::Create(parent, id, label, pos, size, style, validator, name);
        panel = route;
        if (created) {
                // Avoid flipping of size.
                EnableRoute(false);
                wxSize disabledSize = DoGetBestSize();
                DEBUGLOG(dialog,_T("disabledSize = (%d,%d)"),disabledSize.x,disabledSize.y);
                EnableRoute(true);
                wxSize enabledSize = DoGetBestSize();
                DEBUGLOG(dialog,_T("enabledSize = (%d,%d)"),enabledSize.x,enabledSize.y);
                SetInitialSize(wxSize(std::max(disabledSize.x,enabledSize.x),std::max(disabledSize.y,enabledSize.y)));
        }
        return created;
}
bool MutBoxShape::Create ( wxWindow *  parent,
wxWindowID  wid,
int  Id = NoBox 
)

TODO: fix tab order.

Definiert in Zeile 227 der Datei BoxShape.cpp.

Benutzt MutBoxIconShape::Create().

Wird benutzt von NewMutBoxShape::Create() und MutBoxShape::MutBoxShape().

{
        MutBoxIconShape::Create(parent,wid);
        channels = new wxBoxSizer(wxVERTICAL);
        SetSizer(channels);
        SetAutoLayout(true);
//      m_icon = new MutBoxIconShape(this,-1);
        m_icon = this;
        SetBoxId(Id,false);
        if (!m_icon) return false;
        return true;
}
bool MutDeviceShape::Create ( wxWindow *  parent,
wxWindowID  id,
const wxString &  name = wxEmptyString 
) [inline]

Erneute Implementation in MutInputDeviceShape und MutOutputDeviceShape.

Definiert in Zeile 113 der Datei DeviceShape.h.

Benutzt DEBUGLOG, name und MutIconShape::SetLabel().

Wird benutzt von MutDeviceShape::MutDeviceShape().

                {


                        DEBUGLOG(other, _T(""));
                        DEBUGLOG(other, _T("Name %s"),name.c_str());
                        bool state = MutIconShape::Create (parent,id);
                        if (state) SetLabel(name);
                        return state;
                }
bool MutInputDeviceShape::Create ( wxWindow *  parent,
wxWindowID  id,
const wxString &  name 
) [inline]

Erneute Implementation von MutDeviceShape.

Definiert in Zeile 119 der Datei InputDeviceShape.h.

Benutzt DEBUGLOG und MutInputDeviceShape::device.

Wird benutzt von MutInputDeviceShape::MutInputDeviceShape().

        {
                DEBUGLOG (other,_T (""));
                device = NULL;
                return MutDeviceShape::Create (parent, id, name);
        }
bool MutInputDeviceShape::Create ( wxWindow *  parent,
wxWindowID  id,
InDevice d 
)
bool MutInputGuidoFileDeviceShape::Create ( wxWindow *  parent,
wxWindowID  id,
InDevice d 
) [inline]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 84 der Datei InputGuidoFileDeviceShape.h.

Wird benutzt von MutInputGuidoFileDeviceShape::MutInputGuidoFileDeviceShape().

                {
                        return MutInputDeviceShape::Create(parent,id,d);
                }
bool MutInputMidiDeviceShape::Create ( wxWindow *  parent,
wxWindowID  id,
InDevice d 
) [inline]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 147 der Datei InputMidiDeviceShape.h.

Wird benutzt von MutInputMidiDeviceShape::MutInputMidiDeviceShape().

                {
                        return MutInputDeviceShape::Create(parent,id,d);
                }
bool MutInputMidiFileDeviceShape::Create ( wxWindow *  parent,
wxWindowID  id,
InDevice d 
) [inline]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 154 der Datei InputMidiFileDeviceShape.h.

Benutzt DEBUGLOG.

Wird benutzt von MutInputMidiFileDeviceShape::MutInputMidiFileDeviceShape().

                {
                        DEBUGLOG (other,_T (""));
                        bool ret = MutInputDeviceShape::Create(parent,id,d);
                        DEBUGLOG (other,_T (""));
                        return ret;
                }
bool NewMutBoxShape::Create ( wxWindow *  parent,
wxWindowID  wid 
) [inline]

Erneute Implementation von MutBoxIconShape.

Definiert in Zeile 129 der Datei NewBoxShape.h.

Benutzt MutBoxShape::Create() und NewBox.

Wird benutzt von NewMutBoxShape::NewMutBoxShape().

        { 
                if (!MutBoxShape::Create(parent, wid, NewBox)) return false;
                return true;
        }
bool MutNewInputDeviceShape::Create ( wxWindow *  parent,
wxWindowID  id 
) [inline]

Erneute Implementation von MutIconShape.

Definiert in Zeile 75 der Datei NewInputDeviceShape.h.

Benutzt _().

Wird benutzt von MutNewInputDeviceShape::MutNewInputDeviceShape().

                {
                        return MutInputDeviceShape::Create (parent,id,_("New Input device"));
                }
bool MutNewOutputDeviceShape::Create ( wxWindow *  parent,
wxWindowID  id 
) [inline]

Erneute Implementation von MutIconShape.

Definiert in Zeile 84 der Datei NewOutputDeviceShape.h.

Benutzt _().

Wird benutzt von MutNewOutputDeviceShape::MutNewOutputDeviceShape().

        {
                return MutOutputDeviceShape::Create (parent,
                                                     id,
                                                     _("New Output device"));
        }
bool MutOutputGuidoFileDeviceShape::Create ( wxWindow *  parent,
wxWindowID  id,
OutDevice d 
) [inline]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 82 der Datei OutputGuidoFileDeviceShape.h.

Wird benutzt von MutOutputGuidoFileDeviceShape::MutOutputGuidoFileDeviceShape().

                {
                        return MutOutputDeviceShape::Create(parent,id,d);
                }
bool MutOutputMidiDeviceShape::Create ( wxWindow *  parent,
wxWindowID  id,
OutDevice d 
) [inline]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 84 der Datei OutputMidiDeviceShape.h.

Wird benutzt von MutOutputMidiDeviceShape::MutOutputMidiDeviceShape().

                {
                        return MutOutputDeviceShape::Create(parent,id,d);
                }
bool MutIconShape::Create ( wxWindow *  parent,
wxWindowID  id = wxID_ANY 
)
bool MutOutputMidiFileDeviceShape::Create ( wxWindow *  parent,
wxWindowID  id,
OutDevice d 
) [inline]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 79 der Datei OutputMidiFileDeviceShape.h.

Benutzt DEBUGLOG.

Wird benutzt von MutOutputMidiFileDeviceShape::MutOutputMidiFileDeviceShape().

                {
                        DEBUGLOG (other,_T (""));
                        bool ret = MutOutputDeviceShape::Create(parent,id,d);
                        DEBUGLOG (other,_T (""));
                        return ret;
                }
void MutRouteWnd::createBoxes ( wxSizerFlags  flags) [private]

Definiert in Zeile 574 der Datei MutRouteWnd.cpp.

Benutzt MutRouteWnd::AddBox(), MutBoxShape::AddChannel(), Route::Box, MutRouteWnd::BoxPTRs, MutRouteWnd::BoxSizer, DEBUGLOG, Route::GetGlobalNext(), Route::GetNext(), Route::GetRouteList(), MutInputDeviceShape::getRoutes(), MutBoxShape::HasChannel(), MutRouteWnd::InputDevices, MAX_BOX, MutBoxChannelShape::SetInput() und MutBoxShape::SetSizerFlags().

Wird benutzt von MutRouteWnd::InitDevices() und MutRouteWnd::InitShapes().

{
        MutBoxShape::SetSizerFlags(flags);
        BoxSizer = new wxGridSizer (1);                 
        MutBoxShape * boxShape;


        for (int i = 0; i< MAX_BOX; i++) {
                BoxPTRs[i] = NULL;
        }

        GetSizer()->Add(BoxSizer, 0, wxEXPAND);

        for (MutDeviceShapeList::iterator iter = InputDevices.begin();
             iter != InputDevices.end(); ++iter) {

                MutInputDeviceShape * device = dynamic_cast<MutInputDeviceShape*>(*iter);
                wxASSERT(device);
                if (!device) continue;

                Route * Route = device->getRoutes();
                while (Route) {
                        wxASSERT(0<= Route->Box && Route->Box < MAX_BOX);
                        if (!BoxPTRs[Route->Box]) {
                                DEBUGLOG (other, _T("Creating box"));
                                BoxPTRs[Route->Box] = boxShape = 
                                        new MutBoxShape(this,wxID_ANY, Route->Box);
                                DEBUGLOG (other, _T("Box shape: %p"),boxShape);
                                wxASSERT(boxShape);
                                if (!boxShape) continue;
                                AddBox(boxShape, flags);
                        } else {
                                boxShape = BoxPTRs[Route->Box];
                                wxASSERT(wxDynamicCast(boxShape,MutBoxShape));
                        }

                        DEBUGLOG (other, _T("Adding Route to Box %p on window %p"),boxShape,this);
                        MutBoxChannelShape * channel =
                                boxShape->AddChannel(Route);
                        channel->SetInput(device);

                        Route = Route->GetNext();
                }
        }
        
        // Adding routes without input device
        Route * route = Route::GetRouteList();
        while (route) {
                wxASSERT(0<= route->Box && route->Box < MAX_BOX);
                
                bool found = false;
                
                wxSizerItemList & list = BoxSizer->GetChildren();
                for (wxSizerItemList::const_iterator i = list.begin(); i != list.end(); i++) {
                        MutBoxShape * box = static_cast<MutBoxShape * > ((*i)->GetWindow());
                        wxASSERT(dynamic_cast<MutBoxShape *> ((*i)->GetWindow()));
                        if (box && box->HasChannel(route)) {
                                found = true;
                                break;
                        }
                }
                if (found) {
                        route = route -> GetGlobalNext();
                        continue;
                }
                
                if (!BoxPTRs[route->Box]) {
                        DEBUGLOG (other, _T("Creating box"));
                        BoxPTRs[route->Box] = boxShape = 
                        new MutBoxShape(this,wxID_ANY, route->Box);
                        DEBUGLOG (other, _T("Box shape: %p"),boxShape);
                        wxASSERT(boxShape);
                        if (!boxShape) continue;
                        AddBox(boxShape, flags);
                } else {
                        boxShape = BoxPTRs[route->Box];
                        wxASSERT(wxDynamicCast(boxShape,MutBoxShape));
                }
                
                DEBUGLOG (other, _T("Adding Route to Box %p on window %p"),boxShape,this);
                boxShape->AddChannel(route);
                
                route = route->GetGlobalNext();
        }
        
}
void BoxDlg::CreateControls ( ) [private]

Creates the controls and sizers.

Control creation for BoxDlg

Definiert in Zeile 112 der Datei BoxDlg.cpp.

Benutzt _(), BoxDlg::BoxNr, BoxDlg::ctrlBox1, BoxDlg::ctrlBox2, BoxDlg::ctrlBox3, BoxDlg::ctrlBoxNr, BoxDlg::ctrlMode, ID_RADIOBOX1, ID_RADIOBUTTON, ID_RADIOBUTTON1, ID_RADIOBUTTON2, ID_TEXTCTRL10, BoxDlg::Mode und BoxDlg::Type.

Wird benutzt von BoxDlg::Create().

{
        BoxDlg* itemDialog1 = this;

        wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
        itemDialog1->SetSizer(itemBoxSizer2);

        wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
        itemBoxSizer2->Add(itemBoxSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);

        wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxVERTICAL);
        itemBoxSizer3->Add(itemBoxSizer4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);

        wxStaticBox* itemStaticBoxSizer5Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Box"));
        wxStaticBoxSizer* itemStaticBoxSizer5 = new wxStaticBoxSizer(itemStaticBoxSizer5Static, wxVERTICAL);
        itemBoxSizer4->Add(itemStaticBoxSizer5, 0, wxGROW|wxALL, 5);

        wxBoxSizer* itemBoxSizer6 = new wxBoxSizer(wxHORIZONTAL);
        itemStaticBoxSizer5->Add(itemBoxSizer6, 0, wxGROW|wxALL, 0);

        ctrlBox1 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON, _("Box number"), wxDefaultPosition, wxDefaultSize, 0 );
        ctrlBox1->SetValue(FALSE);
        itemBoxSizer6->Add(ctrlBox1, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);

        ctrlBoxNr = new wxTextCtrl( itemDialog1, ID_TEXTCTRL10, _T(""), wxDefaultPosition, wxSize(40, -1), 0 );
        itemBoxSizer6->Add(ctrlBoxNr, 0, wxALIGN_CENTER_VERTICAL|wxALL, 0);

        ctrlBox2 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON1, _("GUIDO-file"), wxDefaultPosition, wxDefaultSize, 0 );
        ctrlBox2->SetValue(FALSE);
        itemStaticBoxSizer5->Add(ctrlBox2, 0, wxGROW|wxALL, 5);

        ctrlBox3 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON2, _("no box / thru mode"), wxDefaultPosition, wxDefaultSize, 0 );
        ctrlBox3->SetValue(FALSE);
        itemStaticBoxSizer5->Add(ctrlBox3, 0, wxGROW|wxALL, 5);

        wxString ctrlModeStrings[] = {
                                             _("&active"),
                                             _("&passive")
                                     };
        ctrlMode = new wxRadioBox( itemDialog1, ID_RADIOBOX1, _("Mode"), wxDefaultPosition, wxDefaultSize, 2, ctrlModeStrings, 1, wxRA_SPECIFY_ROWS );
        itemBoxSizer4->Add(ctrlMode, 0, wxGROW|wxALL, 5);

        wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxVERTICAL);
        itemBoxSizer3->Add(itemBoxSizer12, 0, wxALIGN_TOP|wxALL, 5);

        wxButton* itemButton13 = new wxButton( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
        itemBoxSizer12->Add(itemButton13, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);

        wxButton* itemButton14 = new wxButton( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
        itemBoxSizer12->Add(itemButton14, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);

        wxButton* itemButton15 = new wxButton( itemDialog1, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0 );
        itemBoxSizer12->Add(itemButton15, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);

        // Set validators
        ctrlBox1->SetValidator( wxRadioValidator(& Type, 0) );
        ctrlBoxNr->SetValidator( wxNumValidator(& BoxNr, NV_NNEG) );
        ctrlBox2->SetValidator( wxRadioValidator(& Type, 1) );
        ctrlBox3->SetValidator( wxRadioValidator(& Type, 2) );
        ctrlMode->SetValidator( wxGenericValidator(& Mode) );
}
void OutputDevDlg::CreateControls ( ) [private]

Creates the controls and sizers.

Control creation for OutputDevDlg

Definiert in Zeile 122 der Datei OutputDevDlg.cpp.

Benutzt _(), OutputDevDlg::ctrlGUIDOFile, OutputDevDlg::ctrlGUIDOFilePanel, OutputDevDlg::ctrlMidiDevice, OutputDevDlg::ctrlMidiDevicePanel, OutputDevDlg::ctrlMidiFile, OutputDevDlg::ctrlMidiFilePanel, OutputDevDlg::ctrlPanel, OutputDevDlg::ctrlType, OutputDevDlg::GUIDOFile, ID_BUTTON2, ID_BUTTON3, ID_CHOICE2, ID_CHOICE3, ID_TEXTCTRL2, ID_TEXTCTRL3, ID_TEXTCTRL4, ID_TEXTCTRL5, OutputDevDlg::MidiDevice, OutputDevDlg::MidiDeviceBending, OutputDevDlg::MidiFile, OutputDevDlg::MidiFileBending und OutputDevDlg::Type.

Wird benutzt von OutputDevDlg::Create().

{
        OutputDevDlg* itemDialog1 = this;

        wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
        itemDialog1->SetSizer(itemBoxSizer2);

        wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
        itemBoxSizer2->Add(itemBoxSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);

        ctrlPanel = new wxBoxSizer(wxVERTICAL);
        itemBoxSizer3->Add(ctrlPanel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 0);

        wxStaticBox* itemStaticBoxSizer5Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Device Type"));
        wxStaticBoxSizer* itemStaticBoxSizer5 = new wxStaticBoxSizer(itemStaticBoxSizer5Static, wxHORIZONTAL);
        ctrlPanel->Add(itemStaticBoxSizer5, 0, wxGROW|wxALL, 5);

        wxString ctrlTypeStrings[] = {
                                             _("Midi Device"),
                                             _("Midi File"),
                                             _("GUIDO File")
                                     };
        ctrlType = new wxChoice( itemDialog1, ID_CHOICE2, wxDefaultPosition, wxDefaultSize, 3, ctrlTypeStrings, 0 );
        ctrlType->SetStringSelection(_("Midi Device"));
        itemStaticBoxSizer5->Add(ctrlType, 1, wxALIGN_CENTER_VERTICAL|wxALL, 0);

        wxStaticBox* itemStaticBoxSizer7Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Midi Device"));
        ctrlMidiDevicePanel = new wxStaticBoxSizer(itemStaticBoxSizer7Static, wxVERTICAL);
        ctrlPanel->Add(ctrlMidiDevicePanel, 0, wxGROW|wxALL, 5);

        wxString* ctrlMidiDeviceStrings = NULL;
        ctrlMidiDevice = new wxChoice( itemDialog1, ID_CHOICE3, wxDefaultPosition, wxDefaultSize, 0, ctrlMidiDeviceStrings, 0 );
        ctrlMidiDevicePanel->Add(ctrlMidiDevice, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 0);

        wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxHORIZONTAL);
        ctrlMidiDevicePanel->Add(itemBoxSizer9, 0, wxALIGN_RIGHT|wxALL, 0);

        wxStaticText* itemStaticText10 = new wxStaticText( itemDialog1, wxID_STATIC, _("Bending Range"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
        itemBoxSizer9->Add(itemStaticText10, 1, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM|wxADJUST_MINSIZE, 5);

        wxTextCtrl* itemTextCtrl11 = new wxTextCtrl( itemDialog1, ID_TEXTCTRL4, _T(""), wxDefaultPosition, wxSize(40, -1), 0 );
        itemBoxSizer9->Add(itemTextCtrl11, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);

        wxStaticBox* itemStaticBoxSizer12Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Midi File"));
        ctrlMidiFilePanel = new wxStaticBoxSizer(itemStaticBoxSizer12Static, wxVERTICAL);
        ctrlPanel->Add(ctrlMidiFilePanel, 0, wxGROW|wxALL, 5);

        ctrlMidiFile = new wxTextCtrl( itemDialog1, ID_TEXTCTRL2, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
        ctrlMidiFilePanel->Add(ctrlMidiFile, 0, wxGROW|wxALL, 0);

        wxButton* itemButton14 = new wxButton( itemDialog1, ID_BUTTON2, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
        ctrlMidiFilePanel->Add(itemButton14, 0, wxALIGN_RIGHT|wxLEFT|wxTOP, 5);

        wxBoxSizer* itemBoxSizer15 = new wxBoxSizer(wxHORIZONTAL);
        ctrlMidiFilePanel->Add(itemBoxSizer15, 0, wxALIGN_RIGHT|wxALL, 0);

        wxStaticText* itemStaticText16 = new wxStaticText( itemDialog1, wxID_STATIC, _("Bending Range"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
        itemBoxSizer15->Add(itemStaticText16, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM|wxADJUST_MINSIZE, 5);

        wxTextCtrl* itemTextCtrl17 = new wxTextCtrl( itemDialog1, ID_TEXTCTRL5, _T(""), wxDefaultPosition, wxSize(40, -1), 0 );
        itemBoxSizer15->Add(itemTextCtrl17, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);

        wxStaticBox* itemStaticBoxSizer18Static = new wxStaticBox(itemDialog1, wxID_ANY, _("GUIDO File"));
        ctrlGUIDOFilePanel = new wxStaticBoxSizer(itemStaticBoxSizer18Static, wxVERTICAL);
        ctrlPanel->Add(ctrlGUIDOFilePanel, 0, wxGROW|wxALL, 5);

        ctrlGUIDOFile = new wxTextCtrl( itemDialog1, ID_TEXTCTRL3, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
        ctrlGUIDOFilePanel->Add(ctrlGUIDOFile, 0, wxGROW|wxALL, 0);

        wxButton* itemButton20 = new wxButton( itemDialog1, ID_BUTTON3, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
        ctrlGUIDOFilePanel->Add(itemButton20, 0, wxALIGN_RIGHT|wxLEFT|wxTOP, 5);

        wxBoxSizer* itemBoxSizer21 = new wxBoxSizer(wxVERTICAL);
        itemBoxSizer3->Add(itemBoxSizer21, 0, wxALIGN_TOP|wxALL, 5);

        wxButton* itemButton22 = new wxButton( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
        itemBoxSizer21->Add(itemButton22, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);

        wxButton* itemButton23 = new wxButton( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
        itemBoxSizer21->Add(itemButton23, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);

        wxButton* itemButton24 = new wxButton( itemDialog1, wxID_REMOVE, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 );
        itemBoxSizer21->Add(itemButton24, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);

        wxButton* itemButton25 = new wxButton( itemDialog1, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0 );
        itemBoxSizer21->Add(itemButton25, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);

        // Set validators
        ctrlType->SetValidator( wxGenericValidator(& Type) );
        ctrlMidiDevice->SetValidator( wxGenericValidator(& MidiDevice) );
        itemTextCtrl11->SetValidator( wxNumValidator(& MidiDeviceBending, NV_BOTH, 0, 12) );
        ctrlMidiFile->SetValidator( wxTextValidator(wxFILTER_NONE, & MidiFile) );
        itemTextCtrl17->SetValidator( wxNumValidator(& MidiFileBending, NV_BOTH, 0, 12) );
        ctrlGUIDOFile->SetValidator( wxTextValidator(wxFILTER_NONE, & GUIDOFile) );
}
static InDevice* InDevice::CreateDevice ( DevType  type) [static]
static InDevice* InDevice::CreateDevice ( DevType  type,
const mutStringRef  name,
int  id 
) [static]
OutDevice * OutDevice::CreateDevice ( DevType  type) [static]

Definiert in Zeile 80 der Datei Device.cpp.

Benutzt DTGis, DTMidiFile, DTMidiPort, DTNotSet und DTUnknown.

Wird benutzt von MutOutputDeviceShape::DoLeftDblClick(), OutDevice::LoadDevices() und compat30::LoadRoutes().

{
        switch (type) {
        case DTMidiPort:
                return new OutMidiPort();
                break;
        case DTMidiFile:
                return new OutMidiFile();
                break; 
        case DTGis:
                return new OutGis();
                break;
        case DTNotSet:
        case DTUnknown:
        default:
                return NULL;
        }
}
OutDevice * OutDevice::CreateDevice ( DevType  type,
const mutString &  name,
int  id 
) [static]

Definiert in Zeile 99 der Datei Device.cpp.

Benutzt DTGis, DTMidiFile, DTMidiPort, DTNotSet und DTUnknown.

{
        switch (type) {
                case DTMidiPort:
                        return new OutMidiPort(name, id);
                        break;
                case DTMidiFile:
                        return new OutMidiFile(name, id);
                        break; 
                case DTGis:
                        return new OutGis(name, id);
                        break;
                case DTNotSet:
                case DTUnknown:
                default:
                        return NULL;
        }
}
void MutRouteWnd::createInputDevices ( wxSizerFlags  flags) [private]

Definiert in Zeile 550 der Datei MutRouteWnd.cpp.

Benutzt MutInputDeviceShape::CreateShape(), DEBUGLOG, InDevice::GetDeviceList(), InDevice::GetNext(), MutRouteWnd::InputDevices, MutRouteWnd::InputSizer und MutInputDeviceShape::SetSizerFlags().

Wird benutzt von MutRouteWnd::InitDevices() und MutRouteWnd::InitShapes().

{
        MutInputDeviceShape::SetSizerFlags(flags);
        InputSizer = new wxGridSizer(1);

        GetSizer()->Add(InputSizer, 0, wxEXPAND);
  
        for (InDevice *In = InDevice::GetDeviceList(); In; In = In->GetNext()) {
                wxASSERT (In != In -> GetNext());
                DEBUGLOG (other, _T("In the loop %p -> %p"), In, In->GetNext());
                MutInputDeviceShape * newin = MutInputDeviceShape::CreateShape(this,wxID_ANY, In);
                wxASSERT(newin);
                InputSizer->Add(newin, flags);
                InputDevices.Append(newin);
        }
}
void MutRouteWnd::createOutputDevices ( wxSizerFlags  flags) [private]

Definiert in Zeile 667 der Datei MutRouteWnd.cpp.

Benutzt MutBoxShape::AddPossibleOutput(), MutRouteWnd::Boxes, MutOutputDeviceShape::CreateShape(), OutDevice::GetDeviceList(), OutDevice::GetNext(), MutRouteWnd::OutputDevices, MutRouteWnd::OutputSizer und MutOutputDeviceShape::SetSizerFlags().

Wird benutzt von MutRouteWnd::InitDevices() und MutRouteWnd::InitShapes().

{
        MutOutputDeviceShape::SetSizerFlags(flags);
        OutputSizer = new wxGridSizer (1);
        
        GetSizer()->Add(OutputSizer, 0, wxEXPAND | wxALL,0);

        for (OutDevice *Out = OutDevice::GetDeviceList(); Out; Out = Out->GetNext()) {
                MutOutputDeviceShape * newout =  MutOutputDeviceShape::CreateShape(this,wxID_ANY,Out);

                OutputSizer->Add(newout, flags);
                OutputDevices.Append(newout);

                for (MutBoxShapeList::iterator i = Boxes.begin(); i != Boxes.end(); i++) {
                        MutBoxShape * box = *i;
      
                        box->AddPossibleOutput(newout);
                }

        }
}
void MutBoxChannelShape::CreateRoutePanel ( MutBoxChannelShape channel,
MutRouteWnd parentwin,
wxWindow *  routeWindow,
int  selectBox 
) [static]

Definiert in Zeile 251 der Datei BoxChannelShape.cpp.

Benutzt RouteRemoveButton::EnableRoute(), MutBoxChannelShape::InitializeInputFilter(), MutBoxChannelShape::InitializeOutputFilter(), MutBoxChannelShape::InitializeRoute(), RoutePanel::SetChannel(), RoutePanel::SetInput(), RoutePanel::SetOutput() und UNREACHABLECT.

Wird benutzt von BoxDlg::AddButtonPressed() und MutBoxShape::ShowBoxDialog().

                                                                                                                                      {
        wxSizer * routeSizer = routeWindow->GetSizer();
        if (!routeSizer) UNREACHABLECT(MutBoxChannelShape);
        
        InputFilterPanel * inputfilter = new InputFilterPanel(routeWindow);
        MutBoxChannelShape::InitializeInputFilter(inputfilter,parentwin,channel);
        
        RoutePanel * routePanel = new RoutePanel(routeWindow);
        MutBoxChannelShape::InitializeRoute(routePanel,parentwin,channel,selectBox);
        
        OutputFilterPanel * outputfilter = new OutputFilterPanel(routeWindow);
        MutBoxChannelShape::InitializeOutputFilter(outputfilter,parentwin,channel);
        
        routePanel->SetInput(inputfilter);
        routePanel->SetOutput(outputfilter);
        routePanel->SetChannel(channel);
        
        RouteRemoveButton * removeButton = new RouteRemoveButton(routePanel,routeWindow);
        
        routeSizer->Add(inputfilter,0,wxEXPAND);
        routeSizer->Add(routePanel,0,wxEXPAND);
        routeSizer->Add(outputfilter,0,wxEXPAND);
        routeSizer->Add(removeButton,0,wxALL|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL,5);
        removeButton->EnableRoute();    
}
MutOutputDeviceShape * MutOutputDeviceShape::CreateShape ( wxWindow *  parent,
wxWindowID  id,
OutDevice d 
) [static]

Definiert in Zeile 122 der Datei OutputDeviceShape.cpp.

Benutzt DEBUGLOGTYPE, DTGis, DTMidiFile, DTMidiPort und OutDevice::GetType().

Wird benutzt von MutRouteWnd::createOutputDevices(), MutOutputDeviceShape::CreateShape() und MutOutputDeviceShape::DoLeftDblClick().

{
        DEBUGLOGTYPE(routing,MutOutputDeviceShape,_T("Creating device shape"));
        wxASSERT (d);
        if (!d) return NULL;

        DEBUGLOGTYPE(routing,*d,_T("Device Type for device %p"), d);
        switch (d->GetType()) {
        case DTMidiPort:
                DEBUGLOGTYPE(routing,MutOutputDeviceShape,
                             _T("Creating MIDI device shape"));
                return new MutOutputMidiDeviceShape(parent,id,d);
        case DTMidiFile:
                DEBUGLOGTYPE(routing,MutOutputDeviceShape,
                             _T("Creating MIDI  file device shape"));
                return new MutOutputMidiFileDeviceShape(parent,id,d);
        case DTGis:
                DEBUGLOGTYPE(routing,MutOutputDeviceShape,
                             _T("Creating MIDI  file device shape"));
                return new MutOutputGuidoFileDeviceShape(parent,id,d);
        default:
                return NULL; 
        }
}
MutInputDeviceShape * MutInputDeviceShape::CreateShape ( wxWindow *  parent,
wxWindowID  id,
InDevice d 
) [static]

Definiert in Zeile 116 der Datei InputDeviceShape.cpp.

Benutzt DEBUGLOGTYPE, DTGis, DTMidiFile, DTMidiPort und InDevice::GetType().

Wird benutzt von MutRouteWnd::createInputDevices(), MutInputDeviceShape::CreateShape() und MutInputDeviceShape::DoLeftDblClick().

{
        DEBUGLOGTYPE(other,MutInputDeviceShape,_T("Creating device shape"));
        wxASSERT (d);
        if (!d) return NULL;

        DEBUGLOGTYPE(other,*d,_T("Device Type"));
        switch (d->GetType()) {
        case DTMidiPort:
                DEBUGLOGTYPE(other,MutInputDeviceShape,
                             _T("Creating MIDI device shape"));
                return new MutInputMidiDeviceShape(parent,id,d);
        case DTMidiFile:
                DEBUGLOGTYPE(other,MutInputDeviceShape,
                             _T("Creating MIDI  file device shape"));
                return new MutInputMidiFileDeviceShape(parent,id,d);
        case DTGis:
                DEBUGLOGTYPE(other,MutInputDeviceShape,
                             _T("Creating MIDI  file device shape"));
                return new MutInputGuidoFileDeviceShape(parent,id,d);
        default:
                return NULL; 
        }
}
MutInputDeviceShape* MutInputDeviceShape::CreateShape ( InDevice d) [inline]

Definiert in Zeile 133 der Datei InputDeviceShape.h.

Benutzt MutInputDeviceShape::CreateShape() und DEBUGLOG.

        {
                DEBUGLOG (other,_T (""));
                return CreateShape (m_parent, wxID_ANY,d);
        }
MutBoxShape::DECLARE_CLASS ( MutBoxShape  ) [private]
MutDeviceShape::DECLARE_DYNAMIC_CLASS ( MutIconShape  ) [private]
MutInputDeviceShape::DECLARE_DYNAMIC_CLASS ( MutDeviceShape  ) [private]
MutInputGuidoFileDeviceShape::DECLARE_DYNAMIC_CLASS ( MutInputGuidoFileDeviceShape  ) [private]
MutInputMidiDeviceShape::DECLARE_DYNAMIC_CLASS ( MutInputMidiDeviceShape  ) [private]
MutInputMidiFileDeviceShape::DECLARE_DYNAMIC_CLASS ( MutInputMidiFileDeviceShape  ) [private]
MutNewInputDeviceShape::DECLARE_DYNAMIC_CLASS ( MutInputDeviceShape  ) [private]
MutNewOutputDeviceShape::DECLARE_DYNAMIC_CLASS ( MutOutputDeviceShape  ) [private]
MutOutputGuidoFileDeviceShape::DECLARE_DYNAMIC_CLASS ( MutOutputGuidoFileDeviceShape  ) [private]
MutOutputMidiDeviceShape::DECLARE_DYNAMIC_CLASS ( MutOutputMidiDeviceShape  ) [private]
MutOutputMidiFileDeviceShape::DECLARE_DYNAMIC_CLASS ( MutOutputMidiFileDeviceShape  ) [private]
MutDeviceShape::DECLARE_EVENT_TABLE ( ) [private]
void MutIconShape::DeleteSelf ( )

Definiert in Zeile 328 der Datei IconShape.cpp.

Wird benutzt von MutOutputDeviceShape::DoLeftDblClick(), MutInputDeviceShape::DoLeftDblClick(), MutBoxShape::DoLeftDblClick() und MutBoxChannelShape::ReadPanel().

{
        Hide();
        wxCloseEvent event(wxEVT_CLOSE_WINDOW, m_windowId);
        event.SetEventObject(this);
        event.SetCanVeto(false);
        
        GetEventHandler()->AddPendingEvent(event);
}
void MutIconShape::DeleteSelfEvent ( wxCloseEvent &  event) [inline]

Definiert in Zeile 137 der Datei IconShape.h.

Benutzt DEBUGLOG.

                                                   {
                DEBUGLOG(other, _T("Destroying"));
                Destroy();
        }       
void OutDevice::Destroy ( ) [inline]

Definiert in Zeile 350 der Datei Device.h.

Benutzt OutDevice::RemoveFromDeviceList().

Wird benutzt von MutOutputDeviceShape::DetachDevice().

                       {
                RemoveFromDeviceList(this);
                delete this;
        }
void InDevice::Destroy ( ) [inline]

Definiert in Zeile 498 der Datei Device.h.

Benutzt InDevice::RemoveFromDeviceList().

Wird benutzt von MutInputDeviceShape::DetachDevice() und MutInputDeviceShape::replaceSelfBy().

                       {
                RemoveFromDeviceList(this);
                delete this;
        }
bool MutBoxShape::Detach ( wxWindow *  window) [virtual]

Definiert in Zeile 351 der Datei BoxShape.cpp.

Benutzt MutBoxShape::channels, MutBoxShape::m_icon und UNREACHABLEC.

Wird benutzt von MutBoxShape::Detach() und MutBoxChannelShape::ReadPanel().

{
        // avoid deleting m_staticBox in our dtor if it's being detached from the
        // sizer (which can happen because it's being already destroyed for
        // example)
        if ( window == m_icon )
        {
                UNREACHABLEC;
                m_icon = NULL;
        }

        return channels -> Detach( window );
}
virtual bool MutBoxShape::Detach ( wxSizer *  sizer) [inline, virtual]

Definiert in Zeile 195 der Datei BoxShape.h.

Benutzt MutBoxShape::channels und MutBoxShape::Detach().

        {
                if (channels) 
                        return channels -> Detach(sizer); 
                else 
                        return false;
        }
virtual bool MutBoxShape::Detach ( int  index) [inline, virtual]

Definiert in Zeile 202 der Datei BoxShape.h.

Benutzt MutBoxShape::channels und MutBoxShape::Detach().

        { 
                if (channels) 
                        return channels -> Detach(index);
                else 
                        return false;
        }
bool MutBoxShape::DetachBox ( ) [virtual]

Definiert in Zeile 544 der Datei BoxShape.cpp.

Benutzt MutBoxShape::channels und MutBoxChannelShape::DetachChannel().

Wird benutzt von MutBoxShape::DoLeftDblClick().

                            {
        wxSizerItemList &list = channels->GetChildren();
        for (wxSizerItemList::iterator i = list.begin(); 
             i != (list.end()); i++) {
                MutBoxChannelShape * channel = dynamic_cast<MutBoxChannelShape *> ((*i) -> GetWindow());
                wxASSERT(channel);
                channel->DetachChannel();
        }
        return true;
}
void MutBoxChannelShape::DetachChannel ( )

Detaches the channel from a box shape.

This function detaches a channel from its containing Box. The shape is not deteted.

Definiert in Zeile 446 der Datei BoxChannelShape.cpp.

Benutzt MutBoxChannelShape::input, MutBoxChannelShape::output, MutOutputDeviceShape::RemoveRoute(), MutInputDeviceShape::RemoveRoute() und MutBoxChannelShape::route.

Wird benutzt von MutBoxShape::DetachBox() und MutBoxChannelShape::ReadPanel().

                                       {
        if (input) input->RemoveRoute(route);
        if (output) output->RemoveRoute(route);
        delete route;
        route = NULL;
}
bool MutOutputDeviceShape::DetachDevice ( ) [protected, virtual]

detach device

Detaches the device from any route and deletes the device.

Rückgabe:
true if the corresponding device has been removed and we can delete the Shape.

Definiert in Zeile 292 der Datei OutputDeviceShape.cpp.

Benutzt OutDevice::Destroy(), MutOutputDeviceShape::device, MutBoxChannelShape::GetRoute(), MutOutputDeviceShape::RemoveRoute() und MutOutputDeviceShape::routes.

Wird benutzt von MutOutputDeviceShape::DoLeftDblClick().

{
        
        for (MutBoxChannelShapeList::iterator i = routes.begin(); i!= routes.end(); i = routes.begin()) {
                MutBoxChannelShape *channel = *i;
                wxASSERT(channel);
                RemoveRoute(channel->GetRoute());
        }
        
        device->Destroy();
        device = NULL;
        
        wxWindow * parent = m_parent;
        wxSizer * sizer = GetContainingSizer();
        if (sizer) {
                sizer -> Detach(this);
        }
        if (parent) {
                parent->Layout();
                parent->FitInside();
                parent->SetVirtualSize(wxDefaultSize);
                parent->Refresh();
        }
        
        return true;
}
bool MutInputDeviceShape::DetachDevice ( ) [protected, virtual]

detach device

Detaches the device from any route and deletes the device.

Rückgabe:
true if the corresponding device has been removed and we can delete the Shape.

Definiert in Zeile 267 der Datei InputDeviceShape.cpp.

Benutzt InDevice::Destroy(), MutInputDeviceShape::device, MutBoxChannelShape::GetInput(), MutInputDeviceShape::getRoutes(), MutInputDeviceShape::RemoveRoute() und MutBoxChannelShape::SetInput().

Wird benutzt von MutInputDeviceShape::DoLeftDblClick().

{
        
        for(Route * route = getRoutes();
            route; route = getRoutes()) 
        {
                void * p = route->getUserData();
                wxASSERT (wxDynamicCast (p,MutBoxChannelShape));
                MutBoxChannelShape * channel = (MutBoxChannelShape *) p;
                
                wxASSERT (channel->GetInput() == this);
                channel->SetInput (NULL);
                
                RemoveRoute(route);
        }
        
        device->Destroy();
        device = NULL;
        
        wxWindow * parent = m_parent;
        wxSizer * sizer = GetContainingSizer();
        if (sizer) {
                sizer -> Detach(this);
        }
        if (parent) {
                parent->Layout();
                parent->FitInside();
                parent->SetVirtualSize(wxDefaultSize);
                parent->Refresh();
        }
        
        
        return true;
}
Device::Device ( ) [inline]

Definiert in Zeile 183 der Datei Device.h.

:userdata(NULL),Id(-1),DevId(-1),Name(mutEmptyString) { }
Device::Device ( int  id,
int  devid,
mutString  name = mutEmptyString 
) [inline]

Definiert in Zeile 185 der Datei Device.h.

:userdata(NULL),Id(id),DevId(devid),Name(name) {}
int DoError ( int  nr,
int  pos = -1 
)

Definiert in Zeile 156 der Datei GSP.cpp.

Benutzt CurrentLine, CurrentPos, GspCurrentLineNr, GspError, GspErrorLine, GspErrorLineNr und GspErrorPos.

Wird benutzt von DoParse(), GetSep(), GspParse() und ReadNote().

{
        if ( GspError ) return GspError;

        GspError = nr;

        GspErrorLineNr = GspCurrentLineNr;

        if ( pos == -1 )
                GspErrorPos = CurrentPos;
        else
                GspErrorPos = pos;

        GspErrorLine = CurrentLine;

        return nr;
}
wxSize BoxDlg::DoGetBestSize ( ) const [virtual]

Definiert in Zeile 338 der Datei BoxDlg.cpp.

Benutzt max.

{
        wxRect screen = wxGetClientDisplayRect();
        wxSize size(0,0);
        wxSize routesSize = routeWindow->ClientToWindowSize(routeWindow->GetBestVirtualSize());
        wxSize enhancedRoutesSize = ClientToWindowSize(routesSize);
        size = BoxDlgBase::DoGetBestSize();
        size.y += routesSize.y;
        size.x = std::min(std::max(enhancedRoutesSize.x,size.x),screen.width);
        size.y = std::min(size.y, screen.height);
        return size;
}
wxSize MutIconShape::DoGetBestSize ( ) const [virtual]

Definiert in Zeile 157 der Datei IconShape.cpp.

Benutzt DEBUGLOG, MutIconShape::GetIcon(), MutIconShape::Icon, max und MutIconShape::staticText.

Wird benutzt von MutBoxIconShape::GetBordersForSizer() und GetStaticBoxSize().

{
        //  wxSize s(GetWindowBorderSize());
        wxSize s(0,0);
        wxSize s1(0,0);
        DEBUGLOG (other, _T("best size: %dx%d"),s.x,s.y);
//      return s;
        
        
        if (staticText) s += staticText->GetBestSize();
        DEBUGLOG (other, _T("staticText %p best size: %dx%d"),&staticText,s.x,s.y);
        if (GetIcon().IsOk()) {
                s.x = std::max (Icon.GetWidth(), s.x);
                int h = Icon.GetHeight();
                s.y += h;
        }

        if (GetSizer()) {
                s1 = GetSizer()->CalcMin();
                DEBUGLOG (other, _T("our %p sizer best size: %dx%d"),this,s1.x,s1.y);
                s.x = std::max(s.x,s1.x);
                s.y += std::max(s1.y,0);
        }
        s1 = GetSize() - GetClientSize();
        s.x += wxMax(0, s1.x);
        s.y += wxMax(0, s1.y);
        
        s1 = MutPanel::DoGetBestSize();
        DEBUGLOG (other, _T("our %p parent best size: %dx%d"),this,s1.x,s1.y);
        
        s1.x = std::max(s.x,s1.x);
        s1.y = std::max(s.y,s1.y);
        
        DEBUGLOG (other, _T("our %p best size: %dx%d"),this,s.x,s.y);
        wxConstCast(this,MutIconShape)->SetMinSize(s1);
        return s1;
}
void MutBoxShape::DoLeftDblClick ( ) [virtual]

Definiert in Zeile 365 der Datei BoxShape.cpp.

Benutzt MutBoxShape::CanHandleType(), DebugCheckRoutes, MutIconShape::DeleteSelf(), MutBoxShape::DetachBox(), BoxDlg::GetBoxType(), MutBoxShape::MutBoxShape(), MutBoxShape::readDialog(), MutBoxShape::replaceSelfBy() und MutBoxShape::ShowBoxDialog().

Wird benutzt von MutBoxShape::LeftDblClickEvent().

                                 {
        BoxDlg * box = ShowBoxDialog();
        wxASSERT(box);
        
        if (!box) return;
        int Res = box->ShowModal();
        bool destroySelf = false;
        
        if (Res == wxID_OK) {
                int type = box->GetBoxType();
                
                if (CanHandleType (type)) {
                        readDialog (box);
                } else {
                        // MutBoxShape newbox = MutInputDeviceShape::CreateShape (type);
                        MutBoxShape * newbox = new MutBoxShape(m_parent, wxID_ANY, type);
                        if (newbox) {
                                newbox->readDialog(box);
                                destroySelf = replaceSelfBy(newbox);
//                              m_parent->SetInitialSize(wxDefaultSize);
//                              m_parent->InvalidateBestSize();
                        }
                }
        } else if (Res == wxID_REMOVE) {
                destroySelf = DetachBox();
        }
        
        box->Destroy();
        
        // Signalize to delete this control
        // Unfortunately WXMAC segfaults if we use Destroy(), here.
        if (destroySelf) DeleteSelf();
        
        if (m_parent) {
                m_parent->Layout();
                Refresh(true);
                m_parent->Refresh(true);
        } else  Refresh(true);
        
        DebugCheckRoutes();
}
void MutOutputDeviceShape::DoLeftDblClick ( ) [virtual]

Implementiert MutDeviceShape.

Definiert in Zeile 193 der Datei OutputDeviceShape.cpp.

Benutzt MutOutputDeviceShape::CanHandleType(), OutDevice::CreateDevice(), MutOutputDeviceShape::CreateShape(), DebugCheckRoutes, DEBUGLOG, MutIconShape::DeleteSelf(), MutOutputDeviceShape::DetachDevice(), OutputDevDlg::GetType(), MutOutputDeviceShape::readDialog(), MutOutputDeviceShape::replaceSelfBy() und MutOutputDeviceShape::ShowDeviceDialog().

{
        OutputDevDlg * out = ShowDeviceDialog();
        int Res = out->ShowModal();
        bool destroySelf = false;

        if (Res == wxID_OK) {
                DevType type = out->GetType();

                if (CanHandleType (type)) {
                        readDialog (out);
                } else {
                        OutDevice * outdev = OutDevice::CreateDevice (type);
                        if (outdev) {
                                DEBUGLOG (dialog, _T("%s"),outdev->TowxString().c_str());
                                MutOutputDeviceShape * newdev = CreateShape (outdev);
                                DEBUGLOG (dialog, _T(""));
                                newdev -> readDialog (out);
                                DEBUGLOG (dialog, _T(""));
                                destroySelf = replaceSelfBy (newdev);
                                DEBUGLOG (dialog, _T(""));

                                m_parent->Layout();
                                m_parent->FitInside();
                                m_parent->SetVirtualSize(wxDefaultSize);
                                m_parent->Refresh();
                        }
                }
        } else if (Res == ::wxID_REMOVE) {
                destroySelf = DetachDevice();
        }

        out->Destroy();
        DebugCheckRoutes();

        // Signalize to delete this control
        // Unfortunately WXMAC segfaults if we use Destroy(), here.
        if (destroySelf) DeleteSelf();
}
virtual void MutDeviceShape::DoLeftDblClick ( ) [pure virtual]
void MutInputDeviceShape::DoLeftDblClick ( ) [virtual]

Implementiert MutDeviceShape.

Definiert in Zeile 188 der Datei InputDeviceShape.cpp.

Benutzt MutInputDeviceShape::CanHandleType(), InDevice::CreateDevice(), MutInputDeviceShape::CreateShape(), DebugCheckRoutes, MutIconShape::DeleteSelf(), MutInputDeviceShape::DetachDevice(), InputDevDlg::GetType(), MutInputDeviceShape::readDialog(), MutInputDeviceShape::replaceSelfBy() und MutInputDeviceShape::ShowDeviceDialog().

                                         {
        InputDevDlg * in = ShowDeviceDialog();
        int Res = in->ShowModal();
        bool destroySelf = false;

        if (Res == wxID_OK) {
                DevType type = in->GetType();

                if (CanHandleType (type)) {
                        readDialog (in);
                } else {
                        InDevice * indev = InDevice::CreateDevice (type);
                        if (indev) {
                                MutInputDeviceShape * newdev = 
                                        MutInputDeviceShape::CreateShape (indev);
                                newdev -> readDialog (in);
                                destroySelf = replaceSelfBy (newdev);
                                m_parent->Layout();
                                m_parent->FitInside();
                                m_parent->SetVirtualSize(wxDefaultSize);
                                m_parent->Refresh();
                        }
                }
        } else if (Res == ::wxID_REMOVE) {
                destroySelf = DetachDevice();
        }

        in->Destroy();
        DebugCheckRoutes();
        
        // Signalize to delete this control
        // Unfortunately WXMAC segfaults if we use Destroy(), here.
        if (destroySelf) DeleteSelf();
}
int DoParse ( )

Definiert in Zeile 600 der Datei GSP.cpp.

Benutzt BeginRange(), BeginSegment(), BeginSequenz(), BracketDeep, Brackets, CHAR0, CharIn(), CheckError(), Comma(), CurrentPos, DEBUGLOGBASE, DelimitChars, DoError(), EndParameter(), EndRange(), EndSegment(), EndSequenz(), Eof, GetSep(), GspError, IsLetter(), Komma, LastTag, mutChar, mutT, NextSequenz(), ParaMode, ReadNote(), ReadParaNumber(), ReadParaStr(), ReadTag(), SavePos() und Tag().

Wird benutzt von GspParse().

{
        ParaMode = 0;

        while ( !Eof ) {
                mutChar c = CHAR0;
                SavePos();
                Komma = 0;

                if ( ParaMode ) {
                        if ( mutIsdigit(c) || ( c == mutT('+')) || ( c == mutT('-')) ) // number parameter
                        {

                                if ( ReadParaNumber() ) return GspError;
                        } else if ( c == mutT('"') ) // string parameter
                        {

                                if ( ReadParaStr() ) return GspError;
                        } else // wrong parameter
                        {
                                return DoError(10);
                        }

                        if ( CHAR0 == mutT('>') ) // end of parameterlist
                        {
                                CurrentPos++;
                                GetSep();

                                if ( CheckError(EndParameter()) ) return GspError;

                                ParaMode = 0;

                                continue;
                        }
                        if ( !Komma ) // , or > expected
                        {
                                return DoError(11);
                        }
                } else // not ParaMode
                {
                        if ( LastTag ) LastTag --;

                        if ( CharIn(c, DelimitChars) ) {
                                mutChar i = 0;

                                while ( DelimitChars[i] != c ) i++;

                                if ( i & 1 ) // closing bracket
                                {

                                        if ( !BracketDeep )
                                                return DoError(1);

#ifdef WX
                                        DEBUGLOGBASE (other,_T(""),
                                                      _T("brackets: %s, i= %d, last = %d"),
                                                      Brackets.c_str(),
                                                      i,
                                                      Brackets[Brackets.Len()-1]);

                                        if ( Brackets[Brackets.Len()-1] != i-1 )
                                                return DoError(2 + (int) Brackets[BracketDeep-1]/2);

                                        Brackets = Brackets.Left(Brackets.Len()-1);

#else
                                        if ( Brackets[--BracketDeep] != i-1 )
                                                return DoError(2 + Brackets[BracketDeep]/2);

#endif
                                } else // opening bracket
#ifdef WX
                                        Brackets += i;

#else
                                        Brackets[BracketDeep++] = i;

#endif
#ifdef GMN_STRICT
                                if ( !LastTag && c == mutT('(') ) return DoError(41); // error: range without tag

#endif
                                CurrentPos++;

                                GetSep();

                                switch ( c ) {
                                case mutT('{'): if ( CheckError(BeginSegment()) ) return GspError;

                                        break;

                                case mutT('}'): if ( CheckError(EndSegment()) ) return GspError;

                                        break;

                                case mutT('['): if ( CheckError(BeginSequenz()) ) return GspError;

                                        break;

                                case mutT(']'): if ( CheckError(EndSequenz()) ) return GspError;

                                        break;

                                case mutT('('): if ( CheckError(BeginRange()) ) return GspError;

                                        break;

                                case mutT(')'): if ( CheckError(EndRange()) ) return GspError;

                                        break;
                                }

                                /*                if ( Komma )
                                                         if ( CheckError(NextSequenz()) ) return GspError; */
                                continue;
                        }

                        if ( c == mutT('\\') ) {
                                if ( ReadTag() ) return GspError;

                                /*                if ( !ParaMode && Komma )
                                                         if ( CheckError(NextSequenz()) ) return GspError; */
                                continue;
                        }

                        if ( c == mutT('|') ) {
                                CurrentPos++;
                                GetSep();
#ifdef NO_SHORT_BAR

                                if ( CheckError(Tag(mutT("bar"))) ) return GspError;

#else
                                if ( CheckError(Tag(mutT("|"))) ) return GspError;

#endif
                                /*                if ( Komma )
                                                         if ( CheckError(NextSequenz()) ) return GspError; */
                                continue;
                        }

                        if ( c == mutT(',') ) {
                                if ( Brackets[BracketDeep-1] != 0 )
                                        return DoError(24); // unexpected comma

                                CurrentPos++;

                                GetSep();

                                if ( CheckError(Comma()) ) return GspError;

                                continue;
                        }

                        if ( IsLetter(c) ) {
                                if ( ReadNote() ) return GspError;

                                if ( Komma )
                                        if ( CheckError(NextSequenz()) ) return GspError;

                                continue;
                        }

                        // unallowed char
                        return DoError(20);
                }
        }

        return 0;
}
void MutBoxChannelShape::DrawLines ( wxDC &  dc,
const wxPoint &  parentPosition 
) const [virtual]

Definiert in Zeile 192 der Datei BoxChannelShape.cpp.

Benutzt DEBUGLOG, MutOutputDeviceShape::GetDevice(), MutBoxChannelShape::GetPerimeterPoint(), MutIconShape::GetPerimeterPoint(), MutIconShape::Icon, MutBoxChannelShape::input, MutIconShape::LineTo() und MutBoxChannelShape::output.

Wird benutzt von MutBoxShape::DrawLines().

{
        wxRect m_rect = GetRect();
        m_rect.x += parentPosition.x;
        m_rect.y += parentPosition.y;
        
        wxPoint center(m_rect.x + m_rect.width/2, m_rect.y + m_rect.height/2);

        if (input) {
                wxRect rect = input->GetRect();
                wxPoint p2(center.x, 
                           m_rect.y + Icon.GetHeight()/2);
                wxPoint p1(input->GetPerimeterPoint(wxPoint(rect.x+rect.width/2,rect.y + rect.height/2), p2));
                p2 = GetPerimeterPoint(p2,p1,parentPosition);
                input -> LineTo(dc,p1);
                dc.DrawLine(p1,p2);
                dc.DrawLine(p2,center);
        }

        if (output) {
#ifdef DEBUG
                DEBUGLOG (other, _T("Drawing output line to device %x"),output->GetDevice());
                wxASSERT(output->GetDevice());
                DEBUGLOG (other, _T("Lines for device:\n%s"), output->GetDevice()->TowxString().c_str());
#endif
                wxRect rect = output->GetRect();
                DEBUGLOG (other, _T("Output rect: (%d,%d) -- (%d,%d)"),rect.x,rect.y,rect.x+rect.width, rect.y+rect.height);
                wxPoint p2(center.x, m_rect.y + Icon.GetHeight()/2);
                wxPoint p1(output->GetPerimeterPoint(wxPoint(rect.x+rect.width/2,rect.y + rect.height/2), p2));
                p2 = GetPerimeterPoint(p2,p1,parentPosition);
                output -> LineTo(dc,p1);
                dc.DrawLine(p1,p2);
                dc.DrawLine(p2,center);
        }
}
void MutBoxShape::DrawLines ( wxDC &  dc) [virtual]

Definiert in Zeile 337 der Datei BoxShape.cpp.

Benutzt MutBoxShape::channels und MutBoxChannelShape::DrawLines().

Wird benutzt von MutRouteWnd::OnDraw().

{
        wxSizerItemList list = channels->GetChildren();
        for (wxSizerItemList::iterator i = list.begin(); 
             i != (list.end()); i++)
        {
      
                MutBoxChannelShape * channel = static_cast<MutBoxChannelShape *> ((*i)->GetWindow());
                wxASSERT(dynamic_cast<MutBoxChannelShape *>(channel));
                wxASSERT(dynamic_cast<MutBoxChannelShape *>((*i)->GetWindow()));
                channel->DrawLines(dc, GetPosition());
        }
}
void RoutePanel::EnableRoute ( bool  enable = true)

Definiert in Zeile 248 der Datei BoxDlg.cpp.

Benutzt RoutePanel::inPanel und RoutePanel::outPanel.

Wird benutzt von RouteRemoveButton::EnableRoute().

{
        
        Enable(enable);
        if (inPanel)  inPanel  -> Enable(enable);
        if (outPanel) outPanel -> Enable(enable);
        Show(enable);
        if (inPanel) inPanel -> Show(enable);
        if (outPanel) outPanel -> Show(enable);
//      Layout();
//      GetSizer()->SetSizeHints(this);
//      Fit();
//      GetParent()->GetSizer()->SetSizeHints(GetParent());
//      GetParent()->FitInside();
}
void RouteRemoveButton::EnableRoute ( bool  enable = true)

Definiert in Zeile 288 der Datei BoxDlg.cpp.

Benutzt _(), RoutePanel::EnableRoute() und RouteRemoveButton::panel.

Wird benutzt von MutBoxChannelShape::CreateRoutePanel() und RouteRemoveButton::RemoveButtonPressed().

{
        SetLabel(enable?_("Remove Route"):_("Undelete Route"));
        if (panel) 
                panel->EnableRoute(enable);
}
wxDialog OutputDevDlg::OnButton2Click OutputDevDlg::OnRemoveClick END_EVENT_TABLE ( )

OutputDevDlg constructors

Definiert in Zeile 75 der Datei OutputDevDlg.cpp.

{}
int EndParameter ( )

Definiert in Zeile 595 der Datei GIS.cpp.

Benutzt AddStr(), GISDEBUG, mutT, GisToken::Sep und TagSep.

Wird benutzt von DoParse() und ReadTag().

{
        GISDEBUG(">")

        if ( Para )
                AddStr((LastPara->Sep), mutT(">"), Sep);
        else
                AddStr(TagSep, mutT(">"), Sep);

        return 0;
};
int EndRange ( )

Definiert in Zeile 641 der Datei GIS.cpp.

Benutzt GisTagEnd::Begin, BuildTag(), GisTagBegin::End, GISDEBUG, GisToken::Next, Tag() und TagMode.

Wird benutzt von DoParse().

{
        GISDEBUG(")\n")

        if ( TagMode ) BuildTag();

        GisTagEnd *Tag = new GisTagEnd(LastOpenRange, Sep);

        *Current = Tag;

        Current = &(Tag->Next);

        LastOpenRange = (GisTagBegin*) LastOpenRange->End;

        (Tag->Begin)->End = Tag;

        return 0;
};
int EndSegment ( )

Definiert in Zeile 537 der Datei GIS.cpp.

Benutzt BuildTag(), GISDEBUG, mutCopyString, GisToken::Next und TagMode.

Wird benutzt von DoParse().

{
        GISDEBUG("}\n")

        if ( TagMode ) BuildTag();

        *Current = 0;

        mutCopyString(((GisSegment*)(LastOpenBracket))->Sep2, Sep);

        Current = &(LastOpenBracket->Next);

        LastOpenBracket = LastOpenBracket->Next;

        return 0;
};
int EndSequenz ( )

Definiert in Zeile 571 der Datei GIS.cpp.

Benutzt BuildTag(), GISDEBUG, mutCopyString, GisToken::Next und TagMode.

Wird benutzt von DoParse().

void Erase ( TagList tag)

Definiert in Zeile 447 der Datei GIS_Head.cpp.

Benutzt TagListData::Next.

Wird benutzt von GisReadArtHead::~GisReadArtHead() und GisWriteHead::~GisWriteHead().

{
        while ( list ) {
                TagList *TopTag = list;
                list = TopTag->Next;
                delete TopTag;
        }
}
wxDialog OutputDevDlg::OnButton2Click EVT_BUTTON ( ID_BUTTON3  ,
OutputDevDlg::OnButton3Click   
)
wxDialog EVT_CHOICE ( ID_CHOICE2  ,
OutputDevDlg::OnChoice2Selected   
)
OutputDevDlgBase EVT_CHOICE ( XRCID("DeviceChoice")  ,
OutputDevDlg::OnChoiceSelected   
)

OutputDevDlg constructors

Definiert in Zeile 72 der Datei OutputDevDlg.cpp.

Benutzt _(), DEBUGLOG, DTGis, DTMidiFile und DTMidiPort.

                                           :OutputDevDlgBase(parent)
{
        DeviceChoice->Clear();
        DeviceChoice->Append(_("MIDI Device"),new TypeData(DTMidiPort));
        DeviceChoice->Append(_("MIDI file"),new TypeData(DTMidiFile));
        DeviceChoice->Append(_("GUIDO file"),new TypeData(DTGis));

        TypeBox = DeviceChoice->GetContainingSizer();
        PortBox = PortChoice->GetContainingSizer();
        MidiFileBox = MidiFilePicker->GetContainingSizer();
        DEBUGLOG (other,_T ("MidiFilePicker Growable: %d"), MidiFilePicker->IsPickerCtrlGrowable());
        if (MidiFilePicker->HasTextCtrl()) {
                DEBUGLOG (other,_T ("MidiFileTextCtrl Growable: %d"), 
                          MidiFilePicker->IsTextCtrlGrowable());
                MidiFilePicker->SetTextCtrlGrowable(true);
                DEBUGLOG (other,_T ("MidiFileTextCtrl Growable: %d"), 
                          MidiFilePicker->IsTextCtrlGrowable());
        }
        GuidoFileBox = GuidoFilePicker->GetContainingSizer();

//      GetSizer()->Fit(this);
//      GetSizer()->SetSizeHints(this);
//      Centre();
}
InputDevDlgBase EVT_CHOICE ( XRCID("DeviceChoice")  ,
InputDevDlg::OnChoiceSelected   
)

InputDevDlg constructors

Definiert in Zeile 51 der Datei InputDevDlg.cpp.

Benutzt _(), DEBUGLOG, DTGis, DTMidiFile und DTMidiPort.

                                         :InputDevDlgBase(parent)
{
        DeviceChoice->Clear();
        DeviceChoice->Append(_("MIDI Device"),new TypeData(DTMidiPort));
        DeviceChoice->Append(_("MIDI file"),new TypeData(DTMidiFile));
        DeviceChoice->Append(_("GUIDO file"),new TypeData(DTGis));

        TypeBox = DeviceChoice->GetContainingSizer();
        PortBox = PortChoice->GetContainingSizer();
        MidiFileBox = MidiFilePicker->GetContainingSizer();
        DEBUGLOG (_T ("MidiFilePicker Growable: %d"), MidiFilePicker->IsPickerCtrlGrowable());
        if (MidiFilePicker->HasTextCtrl()) {
                DEBUGLOG (_T ("MidiFileTextCtrl Growable: %d"), 
                          MidiFilePicker->IsTextCtrlGrowable());
                MidiFilePicker->SetTextCtrlGrowable(true);
                DEBUGLOG (_T ("MidiFileTextCtrl Growable: %d"), 
                          MidiFilePicker->IsTextCtrlGrowable());
        }
        GuidoFileBox = GuidoFilePicker->GetContainingSizer();

//      GetSizer()->Fit(this);
//      GetSizer()->SetSizeHints(this);
//      Centre();
}
wxDialog EVT_RADIOBUTTON ( ID_RADIOBUTTON  ,
BoxDlg::UpdateEnable   
)
wxDialog BoxDlg::UpdateEnable EVT_RADIOBUTTON ( ID_RADIOBUTTON2  ,
BoxDlg::UpdateEnable   
)

BoxDlg constructors

Definiert in Zeile 64 der Datei BoxDlg.cpp.

{}
int InputDevDlg::FindType ( DevType  t) [private]

Definiert in Zeile 189 der Datei InputDevDlg.cpp.

Benutzt DEBUGLOG.

Wird benutzt von InputDevDlg::UpdateLayout().

{
        TypeData * Data;
        for (unsigned int i = 0; i < DeviceChoice->GetCount(); i++) {
                DEBUGLOG (_T ("Choice #%d of %d"),i, DeviceChoice->GetCount());
                Data = (TypeData *)DeviceChoice->GetClientObject(i);
                if (Data) {
                        if (*Data == t) return i;
                }
        }
        return wxNOT_FOUND;
}
int OutputDevDlg::FindType ( DevType  t) [private]

Definiert in Zeile 216 der Datei OutputDevDlg.cpp.

Benutzt DEBUGLOG.

Wird benutzt von OutputDevDlg::UpdateLayout().

{
        TypeData * Data;
        for (unsigned int i = 0; i < DeviceChoice->GetCount(); i++) {
                DEBUGLOG (other,_T ("Choice #%d of %d"),i, DeviceChoice->GetCount());
                Data = (TypeData *)DeviceChoice->GetClientObject(i);
                if (Data) {
                        if (*Data == t) return i;
                }
        }
        return wxNOT_FOUND;
}
static OutDevice* OutDevice::Get ( int  devid) [inline, static]

Definiert in Zeile 356 der Datei Device.h.

Benutzt OutDevice::GetInDeviceList().

{ return GetInDeviceList(devid); }
bool Route::GetActive ( ) const [inline]

Definiert in Zeile 267 der Datei Route.h.

Benutzt Route::Active.

Wird benutzt von MutBoxChannelShape::InitializeRoute() und MutBoxChannelShape::ReadPanel().

        {
                return Active;
        }
bool MidiOutputFilterPanel::GetAvoidDrumChannel ( ) const [inline]

Definiert in Zeile 103 der Datei OutputMidiDeviceShape.cpp.

Wird benutzt von MutOutputMidiDeviceShape::ReadOutputFilterPanel().

        {
                return avoid_drum_channel->GetValue();
        }
bool MidiFileOutputFilterPanel::GetAvoidDrumChannel ( ) const [inline]

Definiert in Zeile 101 der Datei OutputMidiFileDeviceShape.cpp.

Wird benutzt von MutOutputMidiFileDeviceShape::ReadOutputFilterPanel().

        {
                return avoid_drum_channel->GetValue();
        }
wxBitmap BoxDlg::GetBitmapResource ( const wxString &  name) [private]

Retrieves bitmap resources.

Get bitmap resources

Definiert in Zeile 189 der Datei BoxDlg.cpp.

{
        // Bitmap retrieval
        return wxNullBitmap;
}
wxBitmap InputDevDlg::GetBitmapResource ( const wxString &  name)

Retrieves bitmap resources.

Get bitmap resources

Definiert in Zeile 102 der Datei InputDevDlg.cpp.

{
        // Bitmap retrieval
        return wxNullBitmap;
}
wxBitmap OutputDevDlg::GetBitmapResource ( const wxString &  name) [private]

Retrieves bitmap resources.

Get bitmap resources

Definiert in Zeile 233 der Datei OutputDevDlg.cpp.

{
        // Bitmap retrieval
        return wxNullBitmap;
}
void MutBoxIconShape::GetBordersForSizer ( int &  borderTop,
int &  borderOther 
) const

Definiert in Zeile 70 der Datei BoxIconShape.cpp.

Benutzt DEBUGLOG und MutIconShape::DoGetBestSize().

{
        const int BORDER = 5; // FIXME: hardcoded value

        wxSize s = DoGetBestSize();
        DEBUGLOG (other, _T("Best Size: %dx%d"),s.x,s.y);
        /*      if (GetIcon().IsOk()) {
                s.x = std::max (GetIcon().GetWidth(), s.x);
                s.y += GetIcon().GetHeight();
                }
                return s;
        */
        borderTop = s.y;
        borderOther = 0;
}
int Route::GetBox ( ) const [inline]

Definiert in Zeile 277 der Datei Route.h.

Benutzt Route::Box.

        {
                return Box;
        }
int MutBoxShape::GetBoxId ( ) const [inline]

Definiert in Zeile 214 der Datei BoxShape.h.

Benutzt MutBoxShape::boxId.

Wird benutzt von RoutePanel::AddBox(), MutBoxChannelShape::InitializeRoute() und MutBoxShape::ShowBoxDialog().

{ return boxId; }
int BoxDlg::GetBoxType ( ) const [inline, private]

Definiert in Zeile 105 der Datei BoxDlg.h.

Benutzt BoxDlg::Type.

Wird benutzt von BoxDlg::AddButtonPressed(), MutBoxShape::DoLeftDblClick() und MutBoxShape::readDialog().

        {
                return Type ;
        }
int GetChannel ( int  box,
int  taste 
)

Definiert in Zeile 554 der Datei Device.cpp.

Benutzt OutDevice::GetChannel(), InDevice::GetDeviceList(), Route::GetNext() und InDevice::GetNext().

Wird benutzt von protokoll_liegende_frequenzen() und MutBoxShape::readDialog().

{
        for (InDevice *In = InDevice::GetDeviceList(); In; In = In->GetNext()) {
                for (Route *R = In->GetRoutes(); R; R = R->GetNext()) {
                        OutDevice * out;
                        if ( R->Box == box && (out = R->GetOutDevice())) {
                                int c = out->GetChannel(taste);

                                if ( c != -1 )
                                        return c;
                        }
                }
        }
        return -1;
}
virtual int OutDevice::GetChannel ( int  taste) [pure virtual]

Implementiert in OutGis, OutMidiFile und OutMidiPort.

Wird benutzt von GetChannel().

wxWindow * InputFilterPanel::GetCurrentDevicePage ( )

Definiert in Zeile 147 der Datei BoxDlg.cpp.

Wird benutzt von MutInputDeviceShape::ReadPanel().

{
        return inputDevice->GetCurrentPage();
}
wxWindow * OutputFilterPanel::GetCurrentDevicePage ( )

Definiert in Zeile 184 der Datei BoxDlg.cpp.

Wird benutzt von MutOutputDeviceShape::ReadPanel().

{
        return outputDevice->GetCurrentPage();
}
MutInputDeviceShape * InputFilterPanel::GetCurrentSelection ( )

Definiert in Zeile 152 der Datei BoxDlg.cpp.

Benutzt InputFilterPanel::InputShapeData::GetDevice() und UNREACHABLEC.

Wird benutzt von MutInputDeviceShape::ReadPanel() und MutBoxChannelShape::ReadPanel().

{
        if (!inputDevice) {
                UNREACHABLEC;
                return NULL;
        }
        wxChoice * choice = inputDevice->GetChoiceCtrl();
        if (!choice) {
                UNREACHABLEC;
                return NULL;
        }
        InputShapeData * data = dynamic_cast<InputShapeData *> 
        (choice->GetClientObject(choice->GetSelection()));
        if (!data) {
                UNREACHABLEC;
                return NULL;
        }
        return data->GetDevice();
}
MutOutputDeviceShape * OutputFilterPanel::GetCurrentSelection ( )

Definiert in Zeile 189 der Datei BoxDlg.cpp.

Benutzt OutputFilterPanel::OutputShapeData::GetDevice() und UNREACHABLEC.

Wird benutzt von MutOutputDeviceShape::ReadPanel() und MutBoxChannelShape::ReadPanel().

{
        if (!outputDevice) {
                UNREACHABLEC;
                return NULL;
        }
        wxChoice * choice = outputDevice->GetChoiceCtrl();
        if (!choice) {
                UNREACHABLEC;
                return NULL;
        }
        OutputShapeData * data = dynamic_cast<OutputShapeData *> 
        (choice->GetClientObject(choice->GetSelection()));
        if (!data) {
                UNREACHABLEC;
                return NULL;
        }
        return data->GetDevice();
}
OutDevice * OutDevice::GetDevice ( int  id) [static]

Scan the list of input devices for a given id.

id (int) id to scan for

Rückgabe:
(OutDevice) pointer to the input device with the given id if found, NULL else.

Definiert in Zeile 163 der Datei Device.cpp.

Benutzt OutDevice::GetDeviceList().

Wird benutzt von compat30::GetOut() und Route::LoadRoutes().

{
        OutDevice * out = GetDeviceList();
        while (out && out->Device::GetId() != id) 
                out = out->Next;
        return out;
}
InDevice* MutInputDeviceShape::GetDevice ( ) [inline]

Definiert in Zeile 165 der Datei InputDeviceShape.h.

Benutzt MutInputDeviceShape::device.

{ return device; }
InDevice * InDevice::GetDevice ( int  id) [static]

Scan the list of input devices for a given id.

id (int) id to scan for

Rückgabe:
(InDevice) pointer to the input device with the given id if found, NULL else.

Definiert in Zeile 390 der Datei Device.cpp.

Benutzt InDevice::GetDeviceList().

Wird benutzt von Route::LoadRoutes().

{
        InDevice * in = GetDeviceList();
        while (in && in->Device::GetId() != id) 
                in = in->Next;
        return in;
}
static OutDevice* OutDevice::GetDeviceList ( ) [inline, static]
static InDevice* InDevice::GetDeviceList ( ) [inline, static]
int Device::GetDevId ( ) const [inline]
int GisInputFilterPanel::GetFromBox ( ) const [inline]

Definiert in Zeile 87 der Datei InputGuidoFileDeviceShape.cpp.

Wird benutzt von MutInputGuidoFileDeviceShape::ReadInputFilterPanel().

        {
                return from_box->GetValue();
        }
int MidiInputFilterPanel::GetFromChannel ( ) const [inline]

Definiert in Zeile 81 der Datei InputMidiDeviceShape.h.

Wird benutzt von MutInputMidiDeviceShape::ReadInputFilterPanel().

{ return from_channel->GetValue(); }
int MidiFileInputFilterPanel::GetFromChannel ( ) const [inline]

Definiert in Zeile 81 der Datei InputMidiFileDeviceShape.h.

Wird benutzt von MutInputMidiFileDeviceShape::ReadInputFilterPanel().

{ return from_channel->GetValue(); }
int MidiOutputFilterPanel::GetFromChannel ( ) const [inline]

Definiert in Zeile 86 der Datei OutputMidiDeviceShape.cpp.

Wird benutzt von MutOutputMidiDeviceShape::ReadOutputFilterPanel().

        {
                return from_channel->GetValue();
        }
int MidiFileOutputFilterPanel::GetFromChannel ( ) const [inline]

Definiert in Zeile 84 der Datei OutputMidiFileDeviceShape.cpp.

Wird benutzt von MutOutputMidiFileDeviceShape::ReadOutputFilterPanel().

        {
                return from_channel->GetValue();
        }
int MidiInputFilterPanel::GetFromKey ( ) const [inline]

Definiert in Zeile 93 der Datei InputMidiDeviceShape.h.

Wird benutzt von MutInputMidiDeviceShape::ReadInputFilterPanel().

{ return from_key->GetValue(); }
int GisInputFilterPanel::GetFromStaff ( ) const [inline]

Definiert in Zeile 105 der Datei InputGuidoFileDeviceShape.cpp.

Wird benutzt von MutInputGuidoFileDeviceShape::ReadInputFilterPanel().

        {
                return from_staff->GetValue();
        }
int MidiFileInputFilterPanel::GetFromTrack ( ) const [inline]

Definiert in Zeile 93 der Datei InputMidiFileDeviceShape.h.

Wird benutzt von MutInputMidiFileDeviceShape::ReadInputFilterPanel().

        {
                return from_track->GetValue();
        }
GisType GetGisType ( GisToken token)

Definiert in Zeile 786 der Datei GIS.cpp.

Benutzt GTNull und GisToken::Type().

Wird benutzt von CloseAllSubs(), GetMidiInstrument(), GetReal(), GetTheSpeedFactor(), MutaborTag(), ChordNote::MutNoteOff() und InGis::Proceed().

{
        if ( token )
                return token->Type();
        else
                return GTNull;
}
Route* Route::GetGlobalNext ( ) [inline]

Definiert in Zeile 373 der Datei Route.h.

Wird benutzt von MutRouteWnd::createBoxes(), Route::InitializeIds() und Route::SaveRoutes().

        {
                return globalNext;
        }
const MutIcon& MutIconShape::GetIcon ( ) const [inline]

Definiert in Zeile 98 der Datei IconShape.h.

Benutzt MutIconShape::Icon.

Wird benutzt von MutIconShape::DoGetBestSize(), MutBoxIconShape::OnDraw() und MutIconShape::OnDraw().

                                         {
                return Icon;
        }
virtual wxRect MutIconShape::GetIconRect ( ) const [inline, virtual]

Definiert in Zeile 122 der Datei IconShape.h.

Benutzt MutIconShape::Icon.

Wird benutzt von MutIconShape::GetPerimeterPoint().

        {
                wxRect r = GetRect();
                int iw = Icon.GetWidth();
                return wxRect(r.x + (r.width - iw)/2, r.y,
                              iw,Icon.GetHeight());
        }
wxIcon InputDevDlg::GetIconResource ( const wxString &  name)

Retrieves icon resources.

Get icon resources

Definiert in Zeile 114 der Datei InputDevDlg.cpp.

{
        // Icon retrieval
        return wxNullIcon;
}
wxIcon OutputDevDlg::GetIconResource ( const wxString &  name) [private]

Retrieves icon resources.

Get icon resources

Definiert in Zeile 245 der Datei OutputDevDlg.cpp.

{
        // Icon retrieval
        return wxNullIcon;
}
wxIcon BoxDlg::GetIconResource ( const wxString &  name) [private]

Retrieves icon resources.

Get icon resources

Definiert in Zeile 201 der Datei BoxDlg.cpp.

{
        // Icon retrieval
        return wxNullIcon;
}
int Device::GetId ( ) const [inline]

Definiert in Zeile 241 der Datei Device.h.

Benutzt Device::Id.

Wird benutzt von Route::InitializeIds(), OutDevice::SaveDevices() und compat30::SaveRoutes().

        {
                return Id;
        }
int Route::GetId ( ) const [inline]

Definiert in Zeile 363 der Datei Route.h.

Benutzt Route::Id.

Wird benutzt von InGis::Proceed(), InMidiPort::ProceedRoute(), InMidiFile::ProceedRoute(), OutMidiPort::Quite() und OutMidiFile::Quite().

        {
                return Id;
        }
InDevice* Route::GetInDevice ( ) const [inline]

Definiert in Zeile 250 der Datei Route.h.

Wird benutzt von InDevice::AddRoute().

                                        {
                return In;
        }
OutDevice * OutDevice::GetInDeviceList ( int  devid) [static, protected]

Definiert in Zeile 220 der Datei Device.cpp.

Benutzt Device::GetDevId() und OutDevice::GetNext().

Wird benutzt von OutDevice::Get().

{       
        OutDevice * dev = deviceList;
        while (dev && dev->GetDevId() != devid) dev = dev->GetNext();
        return dev;
}
MutInputDeviceShape* MutBoxChannelShape::GetInput ( ) [inline]
virtual wxPanel* MutInputDeviceShape::GetInputFilterPanel ( wxWindow *  parent,
Route route 
) const [inline, virtual]

Erneute Implementation in MutInputGuidoFileDeviceShape, MutInputMidiDeviceShape und MutInputMidiFileDeviceShape.

Definiert in Zeile 169 der Datei InputDeviceShape.h.

Benutzt ABSTRACT_FUNCTIONC.

        { 
                ABSTRACT_FUNCTIONC;
                return NULL; 
        }
wxPanel * MutInputGuidoFileDeviceShape::GetInputFilterPanel ( wxWindow *  parent,
Route route 
) const [virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 177 der Datei InputGuidoFileDeviceShape.cpp.

Benutzt Route::GetType(), Route::IFrom, Route::ITo, max, RTall, GisInputFilterPanel::SetFromBox(), GisInputFilterPanel::SetFromStaff(), GisInputFilterPanel::SetRouteType(), GisInputFilterPanel::SetToBox() und GisInputFilterPanel::SetToStaff().

{
        const int maxint = std::numeric_limits<int>().max();
        GisInputFilterPanel * panel = new GisInputFilterPanel(parent);
        if (!panel) return NULL;
        if (!route) {
                panel->SetFromBox(0, 0, maxint);
                panel->SetToBox(maxint, 0, maxint);
                panel->SetFromStaff(0, 0, maxint);
                panel->SetToStaff(maxint, 0, maxint);
                panel->SetRouteType(RTall);             
                return panel;
        }
        panel->SetFromBox(route->IFrom, 0, maxint);
        panel->SetToBox(route->ITo, 0, maxint);
        panel->SetFromStaff(route->IFrom, 0, maxint);
        panel->SetToStaff(route->ITo, 0, maxint);
        panel->SetRouteType(route->GetType());
        return panel;
}
wxPanel * MutInputMidiDeviceShape::GetInputFilterPanel ( wxWindow *  parent,
Route route 
) const [virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 105 der Datei InputMidiDeviceShape.cpp.

Benutzt MutInputDeviceShape::device, InMidiPort::GetMaxChannel(), InMidiPort::GetMaxKey(), InMidiPort::GetMinChannel(), InMidiPort::GetMinKey(), Route::GetType(), Route::IFrom, Route::ITo, max, MIDI_MAX_CHANNEL, MIDI_MAX_KEY, MIDI_MIN_CHANNEL, MIDI_MIN_KEY, RTall, MidiInputFilterPanel::SetFromChannel(), MidiInputFilterPanel::SetFromKey(), MidiInputFilterPanel::SetRouteType(), MidiInputFilterPanel::SetToChannel() und MidiInputFilterPanel::SetToKey().

{
        const int maxint = std::numeric_limits<int>().max();
        MidiInputFilterPanel * panel = new MidiInputFilterPanel(parent);
        if (!panel) return NULL;
        InMidiPort * dev = dynamic_cast<InMidiPort *> (device);
        const int maxchannel = dev?dev->GetMaxChannel():MIDI_MAX_CHANNEL;
        const int minchannel = dev?dev->GetMinChannel():MIDI_MIN_CHANNEL;
        const int maxkey = dev?dev->GetMaxKey():MIDI_MAX_KEY;
        const int minkey = dev?dev->GetMinKey():MIDI_MIN_KEY;
        if (!route) {
                panel->SetFromChannel(minchannel, minchannel, maxchannel);
                panel->SetToChannel(maxchannel, minchannel, maxchannel);
                panel->SetFromKey(minkey, minkey, maxkey);
                panel->SetToKey(maxkey, minkey, maxkey);
                panel->SetRouteType(RTall);
                return panel;
        }
        panel->SetFromChannel(route->IFrom, minchannel, maxchannel);
        panel->SetToChannel(route->ITo, minchannel, maxchannel);
        panel->SetFromKey(route->IFrom, minkey, maxkey);
        panel->SetToKey(route->ITo, minkey, maxkey);
        panel->SetRouteType(route->GetType());
        return panel;
}
wxPanel * MutInputMidiFileDeviceShape::GetInputFilterPanel ( wxWindow *  parent,
Route route 
) const [virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 92 der Datei InputMidiFileDeviceShape.cpp.

Benutzt MutInputDeviceShape::device, InMidiFile::GetMaxChannel(), InMidiFile::GetMaxTrack(), InMidiFile::GetMinChannel(), InMidiFile::GetMinTrack(), Route::GetType(), Route::IFrom, Route::ITo, max, RTall, MidiFileInputFilterPanel::SetFromChannel(), MidiFileInputFilterPanel::SetFromTrack(), MidiFileInputFilterPanel::SetRouteType(), MidiFileInputFilterPanel::SetToChannel() und MidiFileInputFilterPanel::SetToTrack().

{
        const int maxint = std::numeric_limits<int>().max();
        MidiFileInputFilterPanel * panel = new MidiFileInputFilterPanel(parent);
        if (!panel) return NULL;
        InMidiFile * dev = dynamic_cast<InMidiFile *> (device);
        const int maxchannel = dev?dev->GetMaxChannel():maxint;
        const int minchannel = dev?dev->GetMinChannel():0;
        const int maxtrack = dev?dev->GetMaxTrack():maxint;
        const int mintrack = dev?dev->GetMinTrack():0;
        if (!route) {
                panel->SetFromChannel(minchannel, minchannel, maxchannel);
                panel->SetToChannel(maxchannel, minchannel, maxchannel);
                panel->SetFromTrack(mintrack, mintrack, maxtrack);
                panel->SetToTrack(maxtrack, mintrack, maxtrack);
                panel->SetRouteType(RTall);
                return panel;
        }
        panel->SetFromChannel(route->IFrom, minchannel, maxchannel);
        panel->SetToChannel(route->ITo, minchannel, maxchannel);
        panel->SetFromTrack(route->IFrom, mintrack, maxtrack);
        panel->SetToTrack(route->ITo, mintrack, maxtrack);
        panel->SetRouteType(route->GetType());
        return panel;
}
int Route::GetInputFrom ( ) const [inline]

Definiert in Zeile 302 der Datei Route.h.

Benutzt Route::IFrom.

        {
                return IFrom;
        }
int Route::GetInputTo ( ) const [inline]

Definiert in Zeile 322 der Datei Route.h.

Benutzt Route::ITo.

        {
                return ITo;
        }
int GisNote::GetKey ( )

Definiert in Zeile 353 der Datei GIS.cpp.

Benutzt Acc2Int(), GisNote::Accedentials, Name2Key() und GisNote::Octave.

{
        int Key = Name2Key(Name);

        if ( Key == -1 ) return -1;

        Key += ( Octave + 5) * 12;

        Key += Acc2Int(Accedentials);

        return Key;
}
void GetKeyPitch ( int  taste,
tone_system tonsystem,
int &  key,
double &  pitch 
)

Definiert in Zeile 55 der Datei DevGIS.cpp.

Benutzt TSYS::anker, TSYS::breite, NO_KEY und ROUND.

{
        int Index = (taste - tonsystem->anker) % tonsystem->breite;
        int Abstand = (taste - tonsystem->anker) / tonsystem->breite;

        if ( Index < 0 ) {
                Index += tonsystem->breite;
                Abstand--;
        }

        long Tone = (tonsystem)->ton[Index];

        if ( !Tone ) {
                key = NO_KEY;
                pitch = 0;
                return;
        }

        pitch = ((double)(tonsystem)->periode) / 0x01000000 * Abstand + ((double)Tone) / 0x01000000;

        key = (int) pitch;
        pitch -= key;

        if ( pitch < -0.5 ) {
                pitch++;
                key--;
        } else if ( pitch > 0.5 ) {
                pitch--;
                key++;
        }

        ROUND(pitch);
}
GisWriteHead* GetMatchingHeader ( GisWriteHead **  head,
mutString  id 
)

Definiert in Zeile 1425 der Datei GIS_Head.cpp.

Benutzt GisWriteHead::Id, GisWriteHead::InsertAfter(), mutStrCmp, GisWriteHead::Next und GisWriteHead::Prev.

Wird benutzt von GisWriteHeadGis().

{
        GisWriteHead *h = *head, *LastHead = 0;
        GisWriteHead *Boss = h;
        size_t  BossIdLength = mutLen(h->Id);
        char CmpRes = 0;
        // search header

        while ( h ) {

#ifdef WX

                if ( (id.StartsWith(h->Id)) && (mutLen(h->Id) >= BossIdLength) ) {
                        Boss = h;
                        BossIdLength = mutLen(h->Id) + 1;
                }

                CmpRes = mutStrCmp(h->Id, id);

                if ( CmpRes >= 0 ) break;

#else
                if ( !strncmp(h->Id, id, strlen(h->Id)) && (strlen(h->Id) >= BossIdLength) ) {
                        Boss = h;
                        BossIdLength = strlen(h->Id) + 1;
                }

                CmpRes = strcmp(h->Id, id);

                if ( CmpRes >= 0 ) break;

#endif
                LastHead = h;

                h = h->Next;
        }

        if ( CmpRes ) // insert a new header
        {
                h = new GisWriteHead(Boss, id);

                if ( LastHead ) // not at the first position
                        h->InsertAfter(LastHead);
                else // first position in header list
                {
                        h->Prev = (GisWriteHead*)head;
                        h->Next = *head;

                        if ( *head ) (*head)->Prev = h;

                        *head = h;
                }
        }

        return h;
}
MutaborModeType InDevice::GetMode ( ) [inline]

Definiert in Zeile 471 der Datei Device.h.

Benutzt InDevice::Mode.

Wird benutzt von InDeviceAction().

        {
                return Mode;
        }
Route * InDevice::GetMoveRoutes ( )

Definiert in Zeile 271 der Datei Device.cpp.

Benutzt InDevice::GetRoutes() und InDevice::SetRoute().

{
        Route *R = GetRoutes();
        SetRoute(NULL);
        return R;
};
MutIcon & MutBoxChannelShape::GetMutIcon ( ) [private, virtual]

Calculates the Icon to be used.

Erneute Implementation von MutIconShape.

Definiert in Zeile 144 der Datei BoxChannelShape.cpp.

Benutzt ActiveChannelBitmap, DEBUGLOG, PassiveChannelBitmap und MutBoxChannelShape::route.

Wird benutzt von MutBoxChannelShape::Refresh().

{

        DEBUGLOG (other, _T("Checking icons"));

        wxASSERT(ActiveChannelBitmap.IsOk () && PassiveChannelBitmap.IsOk ());

        if (route && (route -> GetActive())) {
                return ActiveChannelBitmap;
        } else {
                return PassiveChannelBitmap;
        }
}
MutIcon& MutBoxIconShape::GetMutIcon ( ) [inline, virtual]

Calculates the Icon to be used.

Erneute Implementation von MutIconShape.

Erneute Implementation in NewMutBoxShape.

Definiert in Zeile 98 der Datei BoxIconShape.h.

Benutzt BoxBitmap.

Wird benutzt von MutBoxIconShape::OnDraw().

                                {
                wxASSERT(BoxBitmap.IsOk());
                return BoxBitmap;
        }
MutIcon& MutInputDeviceShape::GetMutIcon ( ) [inline, virtual]

Calculates the Icon to be used.

Erneute Implementation von MutIconShape.

Erneute Implementation in MutInputGuidoFileDeviceShape, MutInputMidiDeviceShape, MutInputMidiFileDeviceShape und MutNewInputDeviceShape.

Definiert in Zeile 144 der Datei InputDeviceShape.h.

Benutzt MidiInputDevBitmap.

        {
                return MidiInputDevBitmap;
        }
virtual MutIcon& MutInputGuidoFileDeviceShape::GetMutIcon ( ) [inline, virtual]

Calculates the Icon to be used.

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 89 der Datei InputGuidoFileDeviceShape.h.

Benutzt DEBUGLOG und GuidoFileBitmap.

                {
                        DEBUGLOG(other, _T(""));
                        return GuidoFileBitmap;
                }
virtual MutIcon& MutInputMidiDeviceShape::GetMutIcon ( ) [inline, virtual]

Calculates the Icon to be used.

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 152 der Datei InputMidiDeviceShape.h.

Benutzt DEBUGLOG und MidiInputDevBitmap.

                {
                        DEBUGLOG(other, _T(""));
                        return MidiInputDevBitmap;
                }
virtual MutIcon& MutInputMidiFileDeviceShape::GetMutIcon ( ) [inline, virtual]

Calculates the Icon to be used.

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 162 der Datei InputMidiFileDeviceShape.h.

Benutzt DEBUGLOG und MidiFileBitmap.

                {
                        DEBUGLOG (other, _T(""));
                        return MidiFileBitmap;
                }
MutIcon& MutNewInputDeviceShape::GetMutIcon ( ) [inline, virtual]

Calculates the Icon to be used.

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 80 der Datei NewInputDeviceShape.h.

Benutzt NewInputDevBitmap.

                {
                        return NewInputDevBitmap;
                }
MutIcon& MutNewOutputDeviceShape::GetMutIcon ( ) [inline, virtual]

Calculates the Icon to be used.

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 93 der Datei NewOutputDeviceShape.h.

Benutzt NewOutputDevBitmap.

        {
                return NewOutputDevBitmap;
        }
virtual MutIcon& MutOutputGuidoFileDeviceShape::GetMutIcon ( ) [inline, virtual]

Calculates the Icon to be used.

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 87 der Datei OutputGuidoFileDeviceShape.h.

Benutzt DEBUGLOG und GuidoFileBitmap.

                {
                        DEBUGLOG(other, _T(""));
                        return GuidoFileBitmap;
                }
virtual MutIcon& MutOutputMidiDeviceShape::GetMutIcon ( ) [inline, virtual]

Calculates the Icon to be used.

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 89 der Datei OutputMidiDeviceShape.h.

Benutzt DEBUGLOG und MidiOutputDevBitmap.

                {
                        DEBUGLOG(other, _T(""));
                        return MidiOutputDevBitmap;
                }
virtual MutIcon& MutIconShape::GetMutIcon ( ) [inline, virtual]
virtual MutIcon& MutOutputMidiFileDeviceShape::GetMutIcon ( ) [inline, virtual]

Calculates the Icon to be used.

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 87 der Datei OutputMidiFileDeviceShape.h.

Benutzt DEBUGLOG und MidiFileBitmap.

                {
                        DEBUGLOG(other, _T(""));
                        return MidiFileBitmap;
                }
const wxString& Device::GetName ( ) const [inline]
OutDevice* OutDevice::GetNext ( ) const [inline]
InDevice* InDevice::GetNext ( ) const [inline]
Route* Route::GetNext ( ) const [inline]
OutDevice* Route::GetOutDevice ( ) const [inline]
MutOutputDeviceShape* MutBoxChannelShape::GetOutput ( ) [inline]

Definiert in Zeile 178 der Datei BoxChannelShape.h.

Benutzt MutBoxChannelShape::output.

Wird benutzt von MutOutputDeviceShape::RemoveRoute().

{ return output; }
wxPanel * MutOutputGuidoFileDeviceShape::GetOutputFilterPanel ( wxWindow *  parent,
Route route 
) const [virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 92 der Datei OutputGuidoFileDeviceShape.cpp.

{
        GisOutputFilterPanel * panel = new GisOutputFilterPanel(parent);
        if (!panel) return NULL;
        // Room for actions
        return panel;
}
wxPanel * MutOutputMidiDeviceShape::GetOutputFilterPanel ( wxWindow *  parent,
Route route 
) const [virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 139 der Datei OutputMidiDeviceShape.cpp.

Benutzt MutOutputDeviceShape::device, OutMidiPort::GetMaxChannel(), OutMidiPort::GetMinChannel(), max, Route::OFrom, Route::ONoDrum, Route::OTo, MidiOutputFilterPanel::SetAvoidDrumChannel(), MidiOutputFilterPanel::SetFromChannel() und MidiOutputFilterPanel::SetToChannel().

{
        const int maxint = std::numeric_limits<int>().max();
        MidiOutputFilterPanel * panel = new MidiOutputFilterPanel(parent);
        if (!panel) return NULL;
        OutMidiPort * dev = dynamic_cast<OutMidiPort *> (device);
        const int maxchannel = dev?dev->GetMaxChannel():maxint;
        const int minchannel = dev?dev->GetMinChannel():0;
        if (!route) {
                panel->SetFromChannel(minchannel, minchannel, maxchannel);
                panel->SetToChannel(maxchannel, minchannel, maxchannel);
                panel->SetAvoidDrumChannel(true);
                return panel;
        }
        panel->SetFromChannel(route->OFrom, minchannel, maxchannel);
        panel->SetToChannel(route->OTo, minchannel, maxchannel);
        panel->SetAvoidDrumChannel(route->ONoDrum);
        return panel;
}
wxPanel * MutOutputMidiFileDeviceShape::GetOutputFilterPanel ( wxWindow *  parent,
Route route 
) const [virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 134 der Datei OutputMidiFileDeviceShape.cpp.

Benutzt MutOutputDeviceShape::device, OutMidiFile::GetMaxChannel(), OutMidiFile::GetMinChannel(), max, Route::OFrom, Route::ONoDrum, Route::OTo, MidiFileOutputFilterPanel::SetAvoidDrumChannel(), MidiFileOutputFilterPanel::SetFromChannel() und MidiFileOutputFilterPanel::SetToChannel().

{
        const int maxint = std::numeric_limits<int>().max();
        MidiFileOutputFilterPanel * panel = new MidiFileOutputFilterPanel(parent);
        if (!panel) return NULL;
        OutMidiFile * dev = dynamic_cast<OutMidiFile *> (device);
        const int maxchannel = dev?dev->GetMaxChannel():maxint;
        const int minchannel = dev?dev->GetMinChannel():0;
        if (!route) {
                panel->SetFromChannel(minchannel, minchannel, maxchannel);
                panel->SetToChannel(maxchannel, minchannel, maxchannel);
                panel->SetAvoidDrumChannel(true);
                return panel;
        }
        panel->SetFromChannel(route->OFrom, minchannel, maxchannel);
        panel->SetToChannel(route->OTo, minchannel, maxchannel);
        panel->SetAvoidDrumChannel(route->ONoDrum);
        return panel;
}
int Route::GetOutputFrom ( ) const [inline]

Definiert in Zeile 312 der Datei Route.h.

Benutzt Route::OFrom.

        {
                return OFrom;
        }
int Route::GetOutputTo ( ) const [inline]

Definiert in Zeile 332 der Datei Route.h.

Benutzt Route::OTo.

        {
                return OTo;
        }
GisToken * GisTag::GetPara ( int  nr)

Definiert in Zeile 188 der Datei GIS.cpp.

Benutzt GisToken::Next und GisTag::Para.

{
        GisToken *P = Para;

        while ( P ) {
                if ( nr <= 1 ) break;

                P = P->Next;

                nr--;
        }

        return P;
}
GisType GisTag::GetParaType ( int  nr)

Definiert in Zeile 170 der Datei GIS.cpp.

Benutzt GTNull, GisToken::Next, GisTag::Para und GisToken::Type().

{
        GisToken *P = Para;

        while ( P ) {
                if ( nr <= 1 ) break;

                P = P->Next;

                nr--;
        }

        if ( P )
                return P->Type();
        else
                return GTNull;
}
wxPoint MutBoxChannelShape::GetPerimeterPoint ( const wxPoint &  i,
const wxPoint &  o,
const wxPoint &  parentPosition 
) const [virtual]

Definiert in Zeile 228 der Datei BoxChannelShape.cpp.

Benutzt DEBUGLOG.

Wird benutzt von MutBoxChannelShape::DrawLines().

                                                                                                                     {
        wxRect r = GetRect();
        DEBUGLOG (other, _T("Rect: (%d,%d) -- (%d,%d)"),r.x,r.y,r.x+r.width,r.y+r.height);
        DEBUGLOG (other, _T("Points: i = (%d,%d), o = (%d, %d)"),i.x,i.y,o.x,o.y);
//      wxRect ir = GetIconRect();

        r.x += parentPosition.x;
        r.y += parentPosition.y;

#ifdef DEBUG
        wxASSERT(r.Contains(i));
#endif
        wxPoint p(r.x + r.width/2, r.y + r.height/2);
                
        if (r.x + r.width < o.x) {
                p.x = r.x + r.width;
        } else if (p.x > o.x) {
                p.x = r.x;
        } else p = o;
        
        return p;
}
wxPoint MutIconShape::GetPerimeterPoint ( const wxPoint &  i,
const wxPoint &  o 
) const [virtual]

Definiert in Zeile 259 der Datei IconShape.cpp.

Benutzt DEBUGLOG und MutIconShape::GetIconRect().

Wird benutzt von MutBoxChannelShape::DrawLines().

                                                                               {
        wxRect r = GetRect();
        DEBUGLOG (other, _T("Rect: (%d,%d) -- (%d,%d)"),r.x,r.y,r.x+r.width,r.y+r.height);
        DEBUGLOG (other, _T("Points: i = (%d,%d), o = (%d, %d)"),i.x,i.y,o.x,o.y);
        wxRect ir = GetIconRect();
#ifdef DEBUG
        std::cerr.flush();
        wxASSERT(r.Contains(i));
#endif

        wxPoint p;

        if (r.x+r.width <= o.x) {
                p.x = r.x + r.width;
                p.y = r.y + ir.height/2;
        } else if (r.x >= o.y) {
                p.x = r.x;
                p.y = r.y + ir.height/2;
        } else if (r.y <= o.y) {
                p.x = r.x + r.width/2;
                p.y = r.y;
        } else if (r.y + r.height >= o.y) {
                p.x = r.x + r.width/2;
                p.y = r.y + r.height;
        } else p = o;

        return p;
}
Route* MutBoxChannelShape::GetRoute ( ) const [inline]
Route * InDevice::GetRoute ( int  nr)

Definiert in Zeile 278 der Datei Device.cpp.

Benutzt Route::GetNext().

{

        for (Route *R = Routes; R; R = R->GetNext())
        {
                if ( !nr ) return R;

                nr--;
        }

        return 0;
}
static Route* Route::GetRouteList ( ) [inline, static]

Definiert in Zeile 368 der Datei Route.h.

Wird benutzt von MutRouteWnd::createBoxes(), Route::InitializeIds(), compat30::LoadRoutes() und Route::SaveRoutes().

        {
                return routeList;
        }
virtual Route* MutDeviceShape::getRoutes ( ) [pure virtual]
Route* MutInputDeviceShape::getRoutes ( ) [inline, virtual]
Route* InDevice::GetRoutes ( ) [inline]
RouteType GisInputFilterPanel::GetRouteType ( ) [inline]

Definiert in Zeile 138 der Datei InputGuidoFileDeviceShape.cpp.

Benutzt RTall, RTchannel, RTelse, RTstaff und UNREACHABLEC.

Wird benutzt von MutInputGuidoFileDeviceShape::ReadInputFilterPanel().

                                 {
                wxWindow * window = type->GetCurrentPage();
                if (window == all_panel)
                        return RTall;
                else if (window == box_tag_panel)
                        return RTchannel;
                else if (window == staves_panel)
                        return RTstaff;
                else if (window == else_panel)
                        return RTelse;
                else {
                        UNREACHABLEC;
                        return RTall;
                }
        }
RouteType MidiInputFilterPanel::GetRouteType ( ) const [inline]

Definiert in Zeile 120 der Datei InputMidiDeviceShape.h.

Benutzt RTall, RTchannel, RTelse, RTstaff und UNREACHABLEC.

Wird benutzt von MutInputMidiDeviceShape::ReadInputFilterPanel().

                                       {
                wxWindow * window = type->GetCurrentPage();
                if (window == all_panel)
                        return RTall;
                else if (window == channel_panel)
                        return RTchannel;
                else if (window == key_panel)
                        return RTstaff;
                else if (window == else_panel)
                                return RTelse;
                else {
                        UNREACHABLEC;
                        return RTall;
                }
        }
RouteType MidiFileInputFilterPanel::GetRouteType ( ) const [inline]

Definiert in Zeile 126 der Datei InputMidiFileDeviceShape.h.

Benutzt RTall, RTchannel, RTelse, RTstaff und UNREACHABLEC.

Wird benutzt von MutInputMidiFileDeviceShape::ReadInputFilterPanel().

                                       {
                wxWindow * window = type->GetCurrentPage();
                if (window == all_panel)
                        return RTall;
                else if (window == channel_panel)
                        return RTchannel;
                else if (window == track_panel)
                        return RTstaff;
                else if (window == else_panel)
                        return RTelse;
                else {
                        UNREACHABLEC;
                        return RTall;
                }
        }       
int GetSep ( )

Definiert in Zeile 216 der Datei GSP.cpp.

Benutzt AddStr(), CHAR0, CHAR1, CharIn(), CurrentLine, CurrentPos, DEBUGLOG2, DoError(), Eof, GspCurrentLineNr, GspError, Komma, mutChar, mutEmptyString, mutT, NEW_LINE, ParaMode, ReadNewLine(), Sep, SepChars, SepPos und TAKESEP.

Wird benutzt von DoParse(), GspParse(), ReadLong(), ReadNote(), ReadParaNumber(), ReadParaStr() und ReadTag().

{
#ifdef WX
        Sep = mutEmptyString;
#else
        SepPos = 0;
#endif
        Komma = 0;
        int RemDeep = 0;
        int RemLine = 0;

        while ( !Eof && !GspError ) {
#ifdef WX
                DEBUGLOG2(other,_T("%d >= %d? Sep.Len=%d"),CurrentPos,CurrentLine.Len(),Sep.Len());
                DEBUGLOG2(other,_T("%s"),CurrentLine.c_str());

                if (CurrentPos >= CurrentLine.Len())
#else
                mutChar c = CHAR0;

                if ( !c ) // new Line
#endif
                {

                        if ( ReadNewLine() )
                        {
                                DoError(32);
#ifdef WX
                                Sep = Sep.Left(1);
                                DEBUGLOG2(other,_T("Returning 1 at with (%d) '%s'"),
                                          SepPos, Sep.c_str());
                                return SepPos;
#else
                                return ( SepPos = 1 );
#endif
                        }

                        RemLine = 0;

                        if ( GspCurrentLineNr != 1 )
                                AddStr(Sep, SepPos, NEW_LINE);

                        continue;
                }

#ifdef WX
                mutChar c = CHAR0;

#endif

                if ( c == mutT('(') && CHAR1 == mutT('*') )  // comment start
                {
                        TAKESEP;
                        TAKESEP;
                        RemDeep++;
                        continue;
                }

                if ( RemDeep ) // during a comment
                {

                        if ( c == mutT('*') && CHAR1 == mutT(')') )
                        {
                                TAKESEP;
                                TAKESEP;
                                RemDeep--;
                        } else
                                TAKESEP;

                        continue;
                }

                if ( RemLine ) {
                        TAKESEP;
                        continue;
                }

                if ( c == mutT('%') ) // line comment
                {
                        RemLine = 1;
                        continue;
                }

                if ( CharIn(c, SepChars) ) // separating chars
                {
                        TAKESEP;
                        continue;
                }

                if ( c == mutT(',') && ParaMode ) // sequenz separator
                {
                        TAKESEP;
                        Komma = 1;
                        continue;
                }

                break;
        }

        DEBUGLOG2(other,_T("Returning with (%d) '%s'"),SepPos,Sep.c_str());

#ifndef WX
        Sep[SepPos] = 0;
#endif
        return SepPos;
}
static const wxSizerFlags& MutBoxShape::GetSizerFlags ( ) [inline, static]

Definiert in Zeile 165 der Datei BoxShape.h.

Benutzt MutBoxShape::sizerFlags.

Wird benutzt von MutRouteWnd::InitDevices().

{ return sizerFlags; }
static const wxSizerFlags& MutInputDeviceShape::GetSizerFlags ( ) [inline, static]

Definiert in Zeile 140 der Datei InputDeviceShape.h.

Benutzt MutInputDeviceShape::sizerFlags.

Wird benutzt von MutRouteWnd::InitDevices().

{ return sizerFlags; }
static wxSize GetStaticBoxSize ( MutBoxIconShape box) [inline, static]

Definiert in Zeile 206 der Datei BoxShape.cpp.

Benutzt DEBUGLOGTYPE und MutIconShape::DoGetBestSize().

{
        // this has to be done platform by platform as there is no way to
        // guess the thickness of a wxStaticBox border
        wxSize s  = box->DoGetBestSize();
        DEBUGLOGTYPE(other,*box,_T("Best Size: %dx%d"),s.x,s.y);
        return s;
}
int GetTagId ( const mutString &  name,
mutString &  registered 
)

Definiert in Zeile 794 der Datei GIS.cpp.

Benutzt DEBUGLOG2, mutEmptyString, NTAGS, NTAGSHORTS, Tags und TagShorts.

Wird benutzt von GisTag::GisTag().

{
        if (!name) {
                registered = Tags[0];
                return 0;
        }

        // check normal form
        int i;

        for (i = 0; i < NTAGS; i++) {
                if ( mutStrEq2(wxString(name), Tags[i]) ) {
                        registered = Tags[i];
                        return i;
                } ;
        }

        // check short form
        for (i = 0; i < NTAGSHORTS; i++) {
                DEBUGLOG2(other,_T("comparing '%s' with tag'%s'"),name.c_str(),Tags[i]);

                if ( mutStrEq2(name, TagShorts[i]) ) {
                        registered = TagShorts[i];
                        return i;
                }
        }

        // no registered tag
        registered = mutEmptyString;

        return -1;
}
int GetTextWidth ( wxDC &  dc,
const wxString &  s 
)

Definiert in Zeile 145 der Datei MutRouteWnd.cpp.

Wird benutzt von MutRouteWnd::OnDraw() und TextPin().

{
        wxCoord w, h;
        dc.GetTextExtent(s, &w, &h);
        return w;
}
int GisInputFilterPanel::GetToBox ( ) const [inline]

Definiert in Zeile 96 der Datei InputGuidoFileDeviceShape.cpp.

Wird benutzt von MutInputGuidoFileDeviceShape::ReadInputFilterPanel().

        {
                return to_box->GetValue();
        }
int MidiInputFilterPanel::GetToChannel ( ) const [inline]

Definiert in Zeile 87 der Datei InputMidiDeviceShape.h.

Wird benutzt von MutInputMidiDeviceShape::ReadInputFilterPanel().

{ return to_channel->GetValue(); }
int MidiFileInputFilterPanel::GetToChannel ( ) const [inline]

Definiert in Zeile 87 der Datei InputMidiFileDeviceShape.h.

Wird benutzt von MutInputMidiFileDeviceShape::ReadInputFilterPanel().

{ return to_channel->GetValue(); }
int MidiOutputFilterPanel::GetToChannel ( ) const [inline]

Definiert in Zeile 95 der Datei OutputMidiDeviceShape.cpp.

Wird benutzt von MutOutputMidiDeviceShape::ReadOutputFilterPanel().

        {
                return to_channel->GetValue();
        }
int MidiFileOutputFilterPanel::GetToChannel ( ) const [inline]

Definiert in Zeile 93 der Datei OutputMidiFileDeviceShape.cpp.

Wird benutzt von MutOutputMidiFileDeviceShape::ReadOutputFilterPanel().

        {
                return to_channel->GetValue();
        }
int MidiInputFilterPanel::GetToKey ( ) const [inline]

Definiert in Zeile 99 der Datei InputMidiDeviceShape.h.

Wird benutzt von MutInputMidiDeviceShape::ReadInputFilterPanel().

{ return to_key->GetValue(); }
int GisInputFilterPanel::GetToStaff ( ) const [inline]

Definiert in Zeile 114 der Datei InputGuidoFileDeviceShape.cpp.

Wird benutzt von MutInputGuidoFileDeviceShape::ReadInputFilterPanel().

        {
                return to_staff->GetValue();
        }
int MidiFileInputFilterPanel::GetToTrack ( ) const [inline]

Definiert in Zeile 102 der Datei InputMidiFileDeviceShape.h.

Wird benutzt von MutInputMidiFileDeviceShape::ReadInputFilterPanel().

        {
                return to_track->GetValue();
        }
virtual DevType InDevice::GetType ( ) const [inline, virtual]
RouteType Route::GetType ( ) const [inline]
virtual DevType OutDevice::GetType ( ) const [inline, virtual]
virtual mutString OutDevice::GetTypeName ( ) const [inline, virtual]

Erneute Implementation von Device.

Erneute Implementation in OutGis, OutMidiFile und OutMidiPort.

Definiert in Zeile 340 der Datei Device.h.

Benutzt _().

Wird benutzt von OutDevice::LoadDevices().

                                               {
                return _("Undefined output device");
        }
virtual mutString Device::GetTypeName ( ) const [inline, virtual]

Erneute Implementation in OutDevice, InDevice, OutGis, InGis, OutMidiFile, InMidiFile, OutMidiPort und InMidiPort.

Definiert in Zeile 249 der Datei Device.h.

Benutzt _().

                                               {
                return _("Device base class");
        }
const mutString& Route::GetTypeName ( ) [inline]

Definiert in Zeile 297 der Datei Route.h.

Benutzt RTName und Route::Type.

        {
                return RTName[Type];
        }
virtual mutString InDevice::GetTypeName ( ) const [inline, virtual]

Erneute Implementation von Device.

Erneute Implementation in InGis, InMidiFile und InMidiPort.

Definiert in Zeile 488 der Datei Device.h.

Benutzt _().

Wird benutzt von InDevice::LoadDevices().

                                               {
                return _("Undefined input device");
        }
void* Device::getUserData ( ) const [inline]

Definiert in Zeile 219 der Datei Device.h.

Benutzt Device::userdata.

Wird benutzt von MutOutputDeviceShape::replaceSelfBy() und MutInputDeviceShape::SetDevice().

{ return userdata; }
void* Route::getUserData ( ) const [inline]

Definiert in Zeile 236 der Datei Route.h.

Wird benutzt von MutOutputDeviceShape::AddRoute(), MutOutputDeviceShape::RemoveRoute() und MutBoxChannelShape::~MutBoxChannelShape().

        { 
                return userdata; 
        }
virtual void OutDevice::Gis ( GisToken token,
char  turn 
) [pure virtual]

Implementiert in OutGis, OutMidiFile und OutMidiPort.

Wird benutzt von InGis::Proceed().

void OutGis::Gis ( GisToken token,
char  turn 
) [virtual]

Implementiert OutDevice.

Definiert in Zeile 155 der Datei DevGIS.cpp.

Benutzt CurrentId, GisWriteHeadGis(), OutGis::Head und STUBC.

{
        GisWriteHeadGis(&Head, CurrentId, token, turn);
        STUBC;
}
GisNote::GisNote ( int  key,
int  octave,
int  acc,
const mutString  sep = mutEmptyString,
GisToken next = 0 
)

Definiert in Zeile 308 der Datei GIS.cpp.

Benutzt GisNote::Accedentials, GisNote::Duration, mutChar, mutEmptyString, mutT, NO_KEY, octave, GisNote::Octave und strdupchr().

                : GisToken(sep, next)
{
        if ( key == NO_KEY ) {
#ifdef WX
                Name = mutT("_");
#else
                Name = strdup("_");
#endif
                Accedentials = mutEmptyString;
                ;
                Octave = 0;
        } else {
                mutChar Flats[]   = mutT("cddeefggaabb");
                mutChar FlatsA[]  = mutT(" & &  & & & ");
                mutChar Sharps[]  = mutT("ccddeffggaab");
                mutChar SharpsA[] = mutT(" # #  # # # ");
                mutChar accs;
                int Index = key % 12;
                int Abstand = key /12;

                if ( Index < 0 ) {
                        Index += 12;
                        Abstand--;
                }

                if ( acc < 0 ) {
                        Name = strdupchr(Flats[Index]);
                        accs = FlatsA[Index];
                } else {
                        Name = strdupchr(Sharps[Index]);
                        accs = SharpsA[Index];
                }

                if ( accs != mutT(' ') )
                        Accedentials = strdupchr(accs);
                else
                        Accedentials = mutEmptyString;

                Octave = Abstand - 5 - octave;
        }

        Duration = 0;
}
GisToken * GisParse ( const mutString  FileName)

Definiert in Zeile 843 der Datei GIS.cpp.

Benutzt DEBUGLOG2, GspParse(), mutEmptyString, Root, TagMode, TagName, TagSep und UnRavel().

Wird benutzt von InGis::Open().

{
        Root = 0;
        Current = &Root;
        LastOpenBracket = 0;
        LastOpenRange = 0;
        TagMode = 0;
        TagName = mutEmptyString;
        TagSep = mutEmptyString;
        Para = 0;
        LastPara = 0;
        DEBUGLOG2(other,_T("TagName.len %d, '%s'"),TagName.Len(),TagName.c_str());

        if ( GspParse(FileName) ) {
                UnRavel();
                delete Root;
                Root = 0;
        }

        return Root;
}
frac GisReadArtHeadOn ( GisReadArtHead **  Head,
frac  dTime = frac(0, 1),
GisReadArtProceed proceed = GisReadArtDummy 
)

Definiert in Zeile 637 der Datei GIS_Head.cpp.

Benutzt GisReadHead::Boss, GisReadHead::Cursor, GisReadHead::CursorNext(), GisReadHead::CutOut(), DEBUGLOG2, GisReadHead::Next, GisReadHead::nSub, GisReadArtHead::Read(), GisReadHead::Time, GisReadArtHead::Time2 und GisReadHead::Turn.

{
        DEBUGLOG2(other,_T(""));
        frac MinTime = frac(-1, 1);

beginloop:

        while ( *Head ) {
                GisReadArtHead *h = *Head;

                if ( h->nSub > 0 ) // header has subs
                {
                        Head = (GisReadArtHead**)&(h->Next);
                        continue;
                }
                if ( h->nSub == 0 ) // all subs has finished
                {
                        proceed(h, h->Turn++);   // end of segment or sequenz
                        h->CursorNext();
                        h->Time = 0;
                }
                if ( h->Time != frac(0, 1) ) // header in normal state
                {
                        h->Time -= dTime;

                        if ( h->Time <= frac(0, 1) )
                        {
                                proceed(h, h->Turn++);

                                if ( h->Turn == 2 ) {
                                        h->Time = h->Time2;
                                        h->Time2 = 0;
                                }

                                if ( h->Turn > 2 )
                                        h->CursorNext();
                        }
                }

                h->nSub = -1; // normal header
                // now check, wether count down Time is 0
                // if h->time = 0 then h->Cursor points to the GisToken next to proceed

                while ( !(h->Time) ) // read next tokens
                {

                        if ( h->Turn)
                        {
                                proceed(h, h->Turn++);

                                if ( h->Turn == 2 ) {
                                        h->Time = h->Time2;
                                        h->Time2 = 0;
                                }

                                if ( h->Turn > 2 )
                                        h->CursorNext();
                                else
                                        continue;
                        }

                        if ( !h->Cursor ) // header finished, kick away
                        {
                                h->CutOut();

                                if ( h->Boss ) h->Boss->nSub--; // inform the boss

                                delete h;

                                goto beginloop;
                        }
                        // proceed
                        proceed(h, 0);

                        h->Read();

                        if ( h->nSub != -1 ) goto beginloop;

                        if ( !(h->Time) ) // token without duration
                                h->CursorNext();
                }
                // check MinTime
                if ( MinTime == frac(-1,1) || h->Time < MinTime )
                        MinTime = h->Time;

                // next Header
                Head = (GisReadArtHead**)&(h->Next);
        }

        return MinTime;
}
frac GisReadHeadOn ( GisReadHead **  Head,
frac  dTime = frac(0, 1),
GisReadProceed proceed = GisReadDummy 
)

Definiert in Zeile 358 der Datei GIS_Head.cpp.

Benutzt GisReadHead::Boss, GisReadHead::Cursor, GisReadHead::CursorNext(), GisReadHead::CutOut(), GisReadHead::Next, GisReadHead::nSub, GisReadHead::Read() und GisReadHead::Time.

{
        frac MinTime = frac(-1, 1);

beginloop:

        while ( *Head ) {
                GisReadHead *h = *Head;

                if ( h->nSub > 0 ) // header has subs
                {
                        Head = &(h->Next);
                        continue;
                }
                if ( h->nSub == 0 ) // all subs has finished
                {
                        proceed(h, 1);
                        h->CursorNext();
                        h->Time = 0;
                }
                if ( h->Time != frac(0, 1) ) // header in normal state
                {
                        h->Time -= dTime;

                        if ( h->Time <= frac(0, 1) )
                        {
                                proceed(h, 1);
                                h->CursorNext();
                        }
                }

                h->nSub = -1; // normal header
                // now check, wether count down Time is 0
                // if h->time = 0 then h->Cursor points to the GisToken next to proceed

                while ( !(h->Time) ) // read next tokens
                {

                        if ( !h->Cursor ) // header finished, kick away
                        {
                                h->CutOut();

                                if ( h->Boss ) h->Boss->nSub--; // inform the boss

                                delete h;

                                goto beginloop;
                        }
                        // proceed
                        proceed(h, 0);

                        h->Read();

                        if ( h->nSub != -1 ) goto beginloop;

                        if ( !(h->Time) ) // token without duration
                                h->CursorNext();
                }
                // check MinTime
                if ( MinTime == frac(-1,1) || h->Time < MinTime )
                        MinTime = h->Time;

                // next Header
                Head = &(h->Next);
        }

        return MinTime;
}
int GisWriteHeadGis ( GisWriteHead **  head,
mutString  id,
GisToken token,
char  turn 
)

Definiert in Zeile 1483 der Datei GIS_Head.cpp.

Benutzt GetMatchingHeader() und GisWriteHead::ProceedGis().

Wird benutzt von OutGis::Gis().

{
        return GetMatchingHeader(head, id)->ProceedGis(token, turn);
}
int GspParse ( const mutString &  FileName)

Definiert in Zeile 774 der Datei GSP.cpp.

Benutzt BracketDeep, Brackets, CHAR0, CheckError(), CloseFile(), CurrentLine, CurrentPos, DoError(), DoParse(), Eof, GetSep(), GspCurrentLineNr, GspError, GspErrorLine, GspErrorLineNr, GspErrorPos, LastTag, mutEmptyString, octave, OpenFile() und StartSep().

Wird benutzt von GisParse().

{
        GspCurrentLineNr = 0;
        CurrentPos = 0;
        CurrentLine = _T("");

        GspErrorLineNr = 0;
        GspErrorPos = 0;
        GspErrorLine = mutEmptyString;
        GspError = 0;

        Eof = 0;
#ifdef WX
        Brackets = mutEmptyString;
#else
        BracketDeep = 0;
#endif
        LastTag = 0;

        octave = 1;
        duration = frac(1,4);

        if ( OpenFile(FileName) )
                return DoError(30); // couldn't open file

        GetSep();

        if ( CheckError(StartSep()) )
                return GspError;

#ifdef GMN_STRICT
        if ( !Eof && CHAR0 != '[' && CHAR0 != '{' )
                DoError(40);

#endif
        if ( !GspError) DoParse();

        if ( CloseFile() )
                return DoError(31); // couldn't close file

        return GspError;
};
bool MutBoxShape::HasChannel ( Route route) [virtual]

Definiert in Zeile 312 der Datei BoxShape.cpp.

Benutzt MutBoxShape::channels und MutBoxChannelShape::GetRoute().

Wird benutzt von MutRouteWnd::createBoxes().

                                          {
        wxSizerItemList & list = channels->GetChildren();
        for (wxSizerItemList::iterator i = list.begin() ; i!= list.end() ; i++) {
                MutBoxChannelShape * channel = static_cast<MutBoxChannelShape *> ((*i)->GetWindow());
                wxASSERT(dynamic_cast<MutBoxChannelShape *>(channel));
                wxASSERT(dynamic_cast<MutBoxChannelShape *>((*i)->GetWindow()));
                if (channel->GetRoute() == route) return true;
        }
        return false;
}
IMPLEMENT_ABSTRACT_CLASS ( MutDeviceShape  ,
MutIconShape   
)
IMPLEMENT_CLASS ( MutBoxShape  ,
MutBoxIconShape   
)
IMPLEMENT_CLASS ( NewMutBoxShape  ,
MutBoxShape   
)

Definiert in Zeile 117 der Datei NewBoxShape.cpp.

Benutzt DEBUGLOG und NewBoxBitmap.

{

        DEBUGLOG (other, _T("Checking icon"));
        wxASSERT(NewBoxBitmap.IsOk ());
        return NewBoxBitmap;
}
IMPLEMENT_DYNAMIC_CLASS ( OutputDevDlg  ,
wxDialog   
)

OutputDevDlg type definition

OutputDevDlg event table definition

IMPLEMENT_DYNAMIC_CLASS ( RoutePanel  ,
RoutePanelBase   
)

BoxDlg event table definition

Definiert in Zeile 209 der Datei BoxDlg.cpp.

Benutzt UNREACHABLEC.

                                 { 
        if (!box) {
                UNREACHABLEC;
                return NULL;
        }
        BoxShapeData * data = dynamic_cast<BoxShapeData *> 
        (box->GetClientObject(box->GetSelection()));
        if (!data) {
                UNREACHABLEC;
                return NULL;
        }
        return data->GetBox();
}
IMPLEMENT_DYNAMIC_CLASS ( OutputDevDlg  ,
OutputDevDlgBase   
)

OutputDevDlg type definition

IMPLEMENT_DYNAMIC_CLASS ( BoxDlg  ,
wxDialog   
)

BoxDlg type definition

BoxDlg event table definition

IMPLEMENT_DYNAMIC_CLASS ( MutIconShape  ,
MutPanel   
)
IMPLEMENT_DYNAMIC_CLASS ( InputDevDlg  ,
InputDevDlgBase   
)

InputDevDlg type definition

void InMidiFile::IncDelta ( )

Definiert in Zeile 835 der Datei DevMidF.cpp.

Benutzt InMidiFile::actDelta, InMidiFile::Busy, InMidiFile::curDelta, DEBUGLOG, InDevChanged, InMidiFile::minDelta, NO_DELTA, InMidiFile::nTrack, InMidiFile::ReadMidiProceed() und InMidiFile::Stop().

Wird benutzt von InMidiFile::MidiTimer::Notify().

{
        actDelta++;

        if ( Busy )
                return;

        if ( actDelta < minDelta )
                return;

        // Zeitpunkt ist ran, also verarbeiten
        Busy = TRUE;

        actDelta -= minDelta;

        long passedDelta = minDelta;

        long NewMinDelta = NO_DELTA;

        for (size_t i = 0; i < nTrack; i++ ) {
                if ( curDelta[i] != NO_DELTA ) {
                        if ( curDelta[i] <= passedDelta )
                                curDelta[i] = ReadMidiProceed(i, passedDelta-curDelta[i]);
                        else
                                curDelta[i] -= passedDelta;

                        if ( curDelta[i] < NewMinDelta )
                                NewMinDelta = curDelta[i];
                }
        }

        if ( NewMinDelta == NO_DELTA ) {
          // we have reached the end of all tracks
          InDevChanged = 1;
          Stop();
          //            Mode = MutaborDeviceTimingError;
        }

#if (DEBUG && WX)
        wxASSERT(NewMinDelta > 0);
        DEBUGLOG(midifile,_T("old mindelta = %d, new mindelta = %d"),minDelta,NewMinDelta);
#endif

        minDelta = NewMinDelta;
        Busy = FALSE;
}
void InGis::IncDelta ( )

Definiert in Zeile 352 der Datei DevGIS.cpp.

Benutzt InGis::actDelta, InGis::Busy, DEBUGLOG, InDevChanged, InGis::minDelta, InDevice::Mode, MutaborDeviceTimingError, InGis::ReadOn() und InGis::Stop().

Wird benutzt von InGis::GisTimer::Notify().

{
        actDelta++;

        if ( Busy )
                return;

        if ( actDelta < minDelta )
                return;

        // Zeitpunkt ist ran, also verarbeiten
        Busy = TRUE;

        DEBUGLOG (other, _T("Next tone. Mindelta = %d"),minDelta);

        minDelta = ReadOn(actDelta);

        // while ((minDelta = ReadOn(actDelta)) == -1)
        //  if (!(Head->Cursor)) break;

        DEBUGLOG (other, _T("Calculating next step"));

        actDelta = 0;

        if ( minDelta == -1 ) {
                DEBUGLOG (other, _T("Stopping"));
                Mode = MutaborDeviceTimingError;
                Stop();
                InDevChanged = 1;
        }

        Busy = FALSE;
}
void InClose ( )

Definiert in Zeile 502 der Datei Device.cpp.

Benutzt InDevice::GetDeviceList() und InDevice::GetNext().

Wird benutzt von Stop().

{
        for (InDevice *In = InDevice::GetDeviceList(); In; In = In->GetNext())
                In->Close();
}
InDevice::InDevice ( int  devId,
mutString  name = mutEmptyString,
MutaborModeType  mode = MutaborDeviceStop,
int  id = -1 
) [inline]

Definiert in Zeile 408 der Datei Device.h.

Benutzt InDevice::AppendToDeviceList().

                                                                                                                   :
        Device(id, devId, name), Next(this,_T("Next")), Routes(this,_T("Routes")), Mode(mode)
        {
                AppendToDeviceList(this);
        }
InDevice::InDevice ( ) [inline]

Definiert in Zeile 403 der Datei Device.h.

Benutzt InDevice::AppendToDeviceList().

                  :Device(), Next(this,_T("Next")), Routes(this,_T("Routes")), Mode(MutaborDeviceStop)
        {
                AppendToDeviceList (this);
        }
void initBoxColors ( )

Definiert in Zeile 159 der Datei BoxShape.cpp.

Benutzt BoxColors, DEBUGLOG2 und MAX_BOX.

Wird benutzt von initMutIconShapes().

                     {
        for (int i = 1; i<= MAX_BOX; i++) {
                int r = ((i & 0x01) << 7 ) | ((i & 0x08) << 3) | ((i & 0x40) >> 1);
                r = r?r-1:0;
                int g = ((i & 0x02) << 6 ) | ((i & 0x10) << 2) | ((i & 0x80) >> 2);
                g = g?g-1:0;
                int b = ((i & 0x04) << 5 ) | ((i & 0x20) << 1) | ((i & 0x100) >> 3);
                b = b?b-1:0;
                DEBUGLOG2(other,_T("Box %d color %x,%x,%x"),i-1,r,g,b);
                BoxColors[i-1]=wxColour(r,g,b);
        }
}
void MutRouteWnd::InitDevices ( )
void BoxDlg::InitializeBoxTypes ( )

Definiert in Zeile 316 der Datei BoxDlg.cpp.

Benutzt _(), BoxDlg::guidoFileBoxPanel, BoxDlg::mutaborBoxPanel und BoxDlg::noBoxPanel.

                                {
//      int i = 0;
        wxASSERT(boxType);
        if (!boxType) {
                noBoxPanel = NULL;
                mutaborBoxPanel = NULL;
                guidoFileBoxPanel = NULL;
                return;
        }
        noBoxPanel = new NoBoxSettings(this);
        boxType -> AddPage(noBoxPanel,_("No box / thru mode"));
//      boxTypeChoice->SetClientObject(i++, new ClientData (NoBox));
        
        mutaborBoxPanel = new MutaborBoxSettings(this);
        boxType -> AddPage(mutaborBoxPanel,_("Mutabor box"));
//      boxTypeChoice->SetClientObject(i++, new ClientData (Box0));
        
        guidoFileBoxPanel = new GuidoFileBoxSettings(this);
        boxType -> AddPage(guidoFileBoxPanel,_("GUIDO file box"));
//      boxTypeChoice->SetClientObject(i++, new ClientData (GmnBox));
}
void MutBoxShape::InitializeDialog ( BoxDlg dlg) const [virtual]

Erneute Implementation in NewMutBoxShape.

Definiert in Zeile 456 der Datei BoxShape.cpp.

Benutzt Box0, MutBoxShape::boxId, MutBoxShape::maxBoxId, BoxDlg::SetBoxNumber() und BoxDlg::SetBoxType().

Wird benutzt von MutBoxShape::ShowBoxDialog().

                                                     {
        wxASSERT(dlg);
        dlg->SetBoxType(boxId);
        if (boxId >= Box0) 
                dlg->SetBoxNumber(boxId);
        else
                dlg->SetBoxNumber(maxBoxId);
}
virtual void MutInputDeviceShape::InitializeDialog ( InputDevDlg in) const [inline, protected, virtual]
void MutInputGuidoFileDeviceShape::InitializeDialog ( InputDevDlg in) const [protected, virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 156 der Datei InputGuidoFileDeviceShape.cpp.

Benutzt MutInputDeviceShape::device, DTGis, Device::GetName() und InDevice::GetType().

{
        wxASSERT(device);
        wxASSERT(device->GetType() == DTGis);
        wxASSERT(in);
        in -> SetType(DTGis);
        in -> SetGUIDOFile(device->GetName());
}
void MutInputMidiDeviceShape::InitializeDialog ( InputDevDlg in) const [protected, virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 80 der Datei InputMidiDeviceShape.cpp.

Benutzt MutInputDeviceShape::device, DTMidiPort, InMidiPort::GetDevId() und InDevice::GetType().

{
        wxASSERT(device);
        wxASSERT(device->GetType() == DTMidiPort);
        wxASSERT(in);
        InMidiPort * dev = dynamic_cast<InMidiPort *> (device);
        wxASSERT (dev);
        in -> SetType(DTMidiPort);
        in -> SetMidiDevice(dev->GetDevId());
}
void MutInputMidiFileDeviceShape::InitializeDialog ( InputDevDlg in) const [protected, virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 72 der Datei InputMidiFileDeviceShape.cpp.

Benutzt MutInputDeviceShape::device, DTMidiFile, Device::GetName() und InDevice::GetType().

{
        wxASSERT(device);
        wxASSERT(device->GetType() == DTMidiFile);
        wxASSERT(in);
        in -> SetType(DTMidiFile);
        in -> SetMidiFile(device->GetName());
}
void NewMutBoxShape::InitializeDialog ( BoxDlg dlg) const [virtual]

Erneute Implementation von MutBoxShape.

Definiert in Zeile 127 der Datei NewBoxShape.cpp.

Benutzt _(), Box0, BoxDlg::DisableRemove(), BoxDlg::SetBoxNumber() und BoxDlg::SetBoxType().

                                                        {
        wxASSERT(dlg);
        dlg->SetBoxType(Box0);
        dlg->SetBoxNumber(0);
        dlg->SetTitle(_("Create Box"));
        dlg->DisableRemove(true);
}
void MutNewInputDeviceShape::InitializeDialog ( InputDevDlg in) const [protected, virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 69 der Datei NewInputDeviceShape.cpp.

Benutzt DTNotSet.

{
        in -> SetType(DTNotSet);
        in -> DisableRemove();
}
void MutNewOutputDeviceShape::InitializeDialog ( OutputDevDlg out) const [protected, virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 66 der Datei NewOutputDeviceShape.cpp.

Benutzt DTNotSet.

{
        out -> SetType(DTNotSet);
}
void MutOutputGuidoFileDeviceShape::InitializeDialog ( OutputDevDlg out) const [protected, virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 71 der Datei OutputGuidoFileDeviceShape.cpp.

Benutzt MutOutputDeviceShape::device, DTGis, Device::GetName() und OutDevice::GetType().

{
        wxASSERT(device);
        wxASSERT(device->GetType() == DTGis);
        wxASSERT(out);
        out -> SetType(DTGis);
        out -> SetGUIDOFile(device->GetName());
}
void MutOutputMidiDeviceShape::InitializeDialog ( OutputDevDlg out) const [protected, virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 110 der Datei OutputMidiDeviceShape.cpp.

Benutzt DEBUGLOG, MutOutputDeviceShape::device, DTMidiPort, Device::GetDevId() und OutDevice::GetType().

{
        DEBUGLOG (other, _T("Type: %d"),DTMidiPort);
        wxASSERT(device);
        wxASSERT(device->GetType() == DTMidiPort);
        wxASSERT(out);
        OutMidiPort * dev = dynamic_cast<OutMidiPort *> (device);
        wxASSERT (dev);
        out -> SetType(DTMidiPort);
        out -> SetMidiDevice(dev->GetDevId());
        out -> SetMidiBendingRange (dev-> GetBendingRange());
}
void MutOutputMidiFileDeviceShape::InitializeDialog ( OutputDevDlg out) const [protected, virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 109 der Datei OutputMidiFileDeviceShape.cpp.

Benutzt MutOutputDeviceShape::device, DTMidiFile, Device::GetName() und OutDevice::GetType().

{
        wxASSERT(device);
        wxASSERT(device->GetType() == DTMidiFile);
        wxASSERT(out);
        OutMidiFile * d = static_cast<OutMidiFile *>(device);
        out -> SetType(DTMidiFile);
        out -> SetMidiFile(d->GetName());
        out -> SetMidiFileBendingRange (d -> GetBendingRange());
}
void OutDevice::InitializeIds ( ) [static]

Initialize the internal device identifiers.

This function sets the internal device ids of all output devices, starting from 0 and incrementing by 1

Definiert in Zeile 118 der Datei Device.cpp.

Benutzt OutDevice::GetDeviceList() und OutDevice::GetNext().

Wird benutzt von compat30::LoadRoutes().

{
        OutDevice * out = GetDeviceList();
        int i = 0;
        while (out) {
                out->Device::SetId(i++);
                out = out->GetNext();
        }
}
void InDevice::InitializeIds ( ) [static]

Initialize the internal device identifiers.

This function sets the internal device ids of all input devices, starting from 0 and incrementing by 1

Definiert in Zeile 344 der Datei Device.cpp.

Benutzt InDevice::GetDeviceList(), InDevice::GetNext(), Route::GetNext() und InDevice::GetRoutes().

{
        InDevice * in = GetDeviceList();
        int i = 0;
        while (in) {
                int id = i++;
                in->Device::SetId(id);
                for (Route * route = in->GetRoutes(); route; route = route->GetNext())
                        route -> SetInputId(id);
                in = in->GetNext();
        }
}
void Route::InitializeIds ( ) [static]

Initialize the internal device identifiers.

This function sets the internal device ids of all input devices, starting from 0 and incrementing by 1

Definiert in Zeile 87 der Datei Route.cpp.

Benutzt Route::GetGlobalNext(), Device::GetId(), Route::GetOutDevice(), Route::GetRouteList(), Route::Id, Route::inputid und Route::outputid.

Wird benutzt von compat30::SaveRoutes() und SaveRoutes().

{
        OutDevice::InitializeIds();
        int i = 0;
        Route * route = GetRouteList();
        while (route) {
                route -> Id = i++;
                route -> inputid = -1;
                Device * d =  static_cast<Device *>(route->GetOutDevice());
                route -> outputid = d ? d ->GetId(): -1 ;
                route=route->GetGlobalNext();
        }
        InDevice::InitializeIds();
}
void MutBoxChannelShape::InitializeInputFilter ( InputFilterPanel panel,
MutRouteWnd par,
MutBoxChannelShape shape = NULL 
) [static]

Definiert in Zeile 279 der Datei BoxChannelShape.cpp.

Benutzt _(), InputFilterPanel::AddPage(), InputFilterPanel::GetInputDeviceBook(), MutRouteWnd::GetInputDevices(), MutBoxChannelShape::input und MutBoxChannelShape::route.

Wird benutzt von MutBoxChannelShape::CreateRoutePanel().

{
        wxASSERT(par);
        wxChoicebook * choiceBook = panel->GetInputDeviceBook();
        
        MutInputDeviceShape * input;
        if (shape)
                input = shape->input;
        else
                input = NULL;
        Route * route;
        if (shape)
                route = shape->route;
        else
                route = NULL;
        
        panel->AddPage(new wxPanel(choiceBook),_("No input device"),!input,NULL);
        wxSizer *inputs = par->GetInputDevices();
        const wxSizerItemList &list = inputs->GetChildren();
        for (wxSizerItemList::const_iterator i = list.begin(); 
             i != (list.end()); i++) {
                MutInputDeviceShape * device = dynamic_cast<MutInputDeviceShape *> ((*i)->GetWindow());
                
                if (!device) continue;
                wxPanel * devicePanel = device -> GetInputFilterPanel(choiceBook, route);
                panel -> AddPage(devicePanel, device->GetLabel(), input == device, device);
        }
}
void MutBoxChannelShape::InitializeOutputFilter ( OutputFilterPanel panel,
MutRouteWnd par,
MutBoxChannelShape shape = NULL 
) [static]

Definiert in Zeile 350 der Datei BoxChannelShape.cpp.

Benutzt _(), OutputFilterPanel::GetOutputDeviceBook(), MutRouteWnd::GetOutputDevices(), MutBoxChannelShape::output und MutBoxChannelShape::route.

Wird benutzt von MutBoxChannelShape::CreateRoutePanel().

                                                                           {
        wxASSERT(par);
        wxASSERT(panel);
        if (!par || !panel) return;

        // parent for child elements
        wxChoicebook * choiceBook = panel->GetOutputDeviceBook();
        
        MutOutputDeviceShape * output;
        if (shape)
                output = shape->output;
        else
                output = NULL;
        Route * route;
        if (shape)
                route = shape->route;
        else
                route = NULL;
        
        panel -> AddPage(new wxPanel(choiceBook), _("No output device"), !output, NULL);
        
        wxSizer *outputs = par->GetOutputDevices();
        const wxSizerItemList &list = outputs->GetChildren();
        for (wxSizerItemList::const_iterator i = list.begin(); 
             i != (list.end()); i++) {
                MutOutputDeviceShape * device = wxDynamicCast((*i)->GetWindow(),
                                                             MutOutputDeviceShape);
                if (!device) continue;
                wxPanel * devicePanel = device -> GetOutputFilterPanel (choiceBook, route);
                panel -> AddPage (devicePanel, device->GetLabel(), output == device, device);
        }
}
void MutBoxChannelShape::InitializeRoute ( RoutePanel panel,
MutRouteWnd par,
MutBoxChannelShape shape = NULL,
int  selectBox = NoBox 
) [static]

Definiert in Zeile 310 der Datei BoxChannelShape.cpp.

Benutzt RoutePanel::AddBox(), Route::GetActive(), MutRouteWnd::GetBoxes(), MutBoxShape::GetBoxId(), MutBoxChannelShape::route und RoutePanel::SetActive().

Wird benutzt von MutBoxChannelShape::CreateRoutePanel().

{
        wxASSERT(par);
        wxASSERT(panel);
        
        if (!par || !panel) return;
        Route * route;
        if (shape)
                route = shape->route;
        else
                route = NULL;
        
        if (route)
                panel->SetActive(route->GetActive());
        else
                panel->SetActive(true);
        
        wxSizer *boxes = par->GetBoxes();

        
        bool found = false;
        
        const wxSizerItemList &list = boxes->GetChildren();
        for (wxSizerItemList::const_iterator i = list.begin(); 
             i != (list.end()); i++) {
                MutBoxShape * box = dynamic_cast<MutBoxShape *> ((*i)->GetWindow());
                if (box) {
                        bool select = box->GetBoxId() == selectBox;
                        panel->AddBox(box, select);
                        found |= select;
                }
        }

        if (!found)
                panel->AddBox(NULL, true);
}
static void initMutIcon ( MutIcon &  icon,
const wxString &  filename,
const wxBitmapType  type 
) [static]

Definiert in Zeile 74 der Datei RouteIcons.cpp.

Benutzt DevUnknownBitmap.

Wird benutzt von initMutIconShapes().

{
        if (!icon.IsOk())
                if(!icon.LoadFile(filename,type))
                        icon = DevUnknownBitmap;
}
bool initMutIconShapes ( )

Definiert in Zeile 83 der Datei RouteIcons.cpp.

Benutzt ActiveChannelBitmap, BoxBitmap, DevUnknownBitmap, GuidoFileBitmap, initBoxColors(), initMutIcon(), MidiFileBitmap, MidiInputDevBitmap, MidiOutputDevBitmap, MutICON, NewBoxBitmap, NewInputDevBitmap, NewOutputDevBitmap und PassiveChannelBitmap.

Wird benutzt von MutRouteWnd::MutRouteWnd().

{
        DevUnknownBitmap = MutICON(wxIcon(devunknown_xpm));
        if (!DevUnknownBitmap.IsOk()) return false;
  
        initMutIcon(MidiInputDevBitmap,
                    wxGetApp().GetResourceName (_T ("InputDevice.png")),
                    wxBITMAP_TYPE_PNG);
        initMutIcon(NewInputDevBitmap,
                    wxGetApp ().GetResourceName (_T ("NewInputDevice.png")),
                    wxBITMAP_TYPE_PNG);
        initMutIcon(MidiOutputDevBitmap,
                    wxGetApp ().GetResourceName (_T ("OutputDevice.png")),
                    wxBITMAP_TYPE_PNG);
        initMutIcon(NewOutputDevBitmap,
                    wxGetApp ().GetResourceName (_T ("NewOutputDevice.png")),
                    wxBITMAP_TYPE_PNG);
        initMutIcon(MidiFileBitmap,
                    wxGetApp ().GetResourceName (_T ("MidiFile.png")),
                    wxBITMAP_TYPE_PNG);
        initMutIcon(GuidoFileBitmap,
                    wxGetApp ().GetResourceName (_T ("GuidoFile.png")),
                    wxBITMAP_TYPE_PNG);
        initMutIcon(BoxBitmap,
                    wxGetApp ().GetResourceName (_T ("TuningBox.png")),
                    wxBITMAP_TYPE_PNG);
        initMutIcon(ActiveChannelBitmap,
                    wxGetApp ().GetResourceName (_T ("ActiveChannel.png")),
                    wxBITMAP_TYPE_PNG);
        initMutIcon(PassiveChannelBitmap,
                    wxGetApp ().GetResourceName (_T ("PassiveChannel.png")),
                    wxBITMAP_TYPE_PNG);
        initMutIcon(NewBoxBitmap,
                    wxGetApp ().GetResourceName (_T ("TuningBox.png")),
                    wxBITMAP_TYPE_PNG);
        initBoxColors();        
        return true;
}
void MutRouteWnd::InitShapes ( )

fills the window with the corresponding shapes.

This function is used to initialize the window with the current routing information. It creates the shapes for devices, routes and new objects.

Definiert in Zeile 500 der Datei MutRouteWnd.cpp.

Benutzt MutRouteWnd::Boxes, MutRouteWnd::createBoxes(), MutRouteWnd::createInputDevices(), MutRouteWnd::createOutputDevices(), DebugCheckRoutes, MutRouteWnd::InputDevices, MutRouteWnd::OutputDevices und PRINTSIZER.

{
        wxASSERT(GetSizer());
        wxSizerFlags flags;
        flags.Align(wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL);
        flags.Proportion(1);
        flags.TripleBorder();
        
        wxASSERT(InputDevices.empty());
        MutInputDeviceShape * newin = new MutNewInputDeviceShape(this,wxID_ANY);
        GetSizer()->Add(newin, flags);
        InputDevices.Append(newin);
        
        wxASSERT(Boxes.empty());
        MutBoxShape * boxShape = new NewMutBoxShape(this,wxID_ANY);
        GetSizer()->Add(boxShape, flags);
        Boxes.Append(boxShape);

        wxASSERT(OutputDevices.empty());
        MutOutputDeviceShape * newout = new MutNewOutputDeviceShape(this,wxID_ANY);
        GetSizer()->Add(newout, flags);
        OutputDevices.Append(newout);

        createInputDevices(flags);
        createBoxes(flags);
        createOutputDevices(flags);
        FitInside();

        PRINTSIZER(GetSizer());
        DebugCheckRoutes();
}
bool InOpen ( )

Definiert in Zeile 484 der Datei Device.cpp.

Benutzt DEBUGLOGBASE, InDevice::GetDeviceList() und InDevice::GetNext().

Wird benutzt von Activate().

{
        DEBUGLOGBASE(other,"",_T(""));

        for (InDevice *In = InDevice::GetDeviceList(); In; In = In->GetNext())
                if ( !In->Open() ) {
                        for (InDevice *In1 = InDevice::GetDeviceList(); In1 && In1 != In; 
                             In1 = In1->GetNext())
                                In1->Close();

                        DEBUGLOGBASE(other,"",_T("Opening failed"));

                        return false;
                }

        return true;
}
int IsLetter ( mutChar  c)

Definiert in Zeile 138 der Datei GSP.cpp.

Benutzt mutT.

Wird benutzt von DoParse(), ReadNote() und ReadTag().

{
        return ((mutT('a') <= c) && (c <= mutT('z'))) ||
               ((mutT('A') <= c) && (c <= mutT('Z'))) ||
               ( c == mutT('_') );
}
int IsNumber ( mutChar  c)

Definiert in Zeile 146 der Datei GSP.cpp.

Benutzt mutT.

{
        return (mutT('0') <= c) && (c <= mutT('9'));
}
bool MutBoxIconShape::Layout ( ) [virtual]

Erneute Implementation von MutIconShape.

Definiert in Zeile 118 der Datei BoxIconShape.cpp.

Benutzt DEBUGLOG, MutIconShape::Layout() und MutIconShape::staticText.

                             {
        if (!MutIconShape::Layout()) return false;
        DEBUGLOG (other, _T(""));
        if (staticText) {
                staticText->Move(0,0);
                staticText->CentreOnParent(wxHORIZONTAL);
        }
        return true;
}
bool MutIconShape::Layout ( ) [virtual]

Erneute Implementation in MutBoxIconShape.

Definiert in Zeile 301 der Datei IconShape.cpp.

Benutzt DEBUGLOG, MutIconShape::Icon, PRINTSIZER und MutIconShape::staticText.

Wird benutzt von MutBoxIconShape::Layout().

                          {
        int w = 0, h = 0, y = Icon.GetHeight();
        GetVirtualSize(&w, &h);
        if (staticText) {
                staticText->Move(0,y);
                staticText->CentreOnParent(wxHORIZONTAL);
                wxSize s = staticText->GetSize();
                y += s.y;
        }
        // If there is a sizer, use it instead of the constraints
        if ( GetSizer() )
        {
                DEBUGLOG (other, _T("sizer"));
                GetSizer()->SetDimension( 0, y, w, h );
                PRINTSIZER(GetSizer());
        }
#if wxUSE_CONSTRAINTS
        else
        {
                DEBUGLOG (other, _T("constraints"));
                SatisfyConstraints(); // Find the right constraints values
                SetConstraintSizes(); // Recursively set the real window sizes
        }
#endif
        return true;
}
void MutBoxShape::LeftDblClickEvent ( wxMouseEvent &  event) [inline]

Definiert in Zeile 168 der Datei BoxShape.h.

Benutzt MutBoxShape::DoLeftDblClick().

void MutDeviceShape::LeftDblClickEvent ( wxMouseEvent &  event) [inline]

Definiert in Zeile 128 der Datei DeviceShape.h.

Benutzt MutDeviceShape::DoLeftDblClick().

void MutIconShape::LineTo ( wxDC &  dc,
const wxPoint &  p 
) const [virtual]

Definiert in Zeile 288 der Datei IconShape.cpp.

Benutzt MutIconShape::Icon.

Wird benutzt von MutBoxChannelShape::DrawLines().

{
        wxRect rect = GetRect();
        wxPoint p1(rect.x + rect.width/2, rect.y + Icon.GetHeight()/2);
        dc.DrawLine(p1,p);
}
void OutMidiFile::Load ( tree_storage config) [virtual]

Load current device settings from a tree storage.

config (tree_storage) storage class, where the data will be loaded from.

Implementiert Device.

Definiert in Zeile 258 der Datei DevMidF.cpp.

Benutzt OutMidiFile::bending_range, mutEmptyString, Device::Name und tree_storage::Read().

{
        bending_range=config.Read(_T("Bending Range"), bending_range);
        Name = config.Read(_T("File Name"),mutEmptyString);
}
void InMidiFile::Load ( tree_storage config) [virtual]

Load current device settings from a tree storage.

config (tree_storage) storage class, where the data will be loaded from.

Implementiert Device.

Definiert in Zeile 598 der Datei DevMidF.cpp.

Benutzt mutEmptyString, Device::Name und tree_storage::Read().

{
        Name = config.Read(_T("File Name"),mutEmptyString);
}
void InMidiFile::Load ( tree_storage config,
Route route 
) [virtual]

Loade route settings (filter settings) for a given route.

Some route settings (e.g. filter settings) are device type specific. This function loads them from a tree storage. config (tree_storage *) Storage class, where the data will be restored from. route (Route *) Route whos data shall be loaded.

Implementiert Device.

Definiert in Zeile 610 der Datei DevMidF.cpp.

Benutzt _(), InMidiFile::GetMaxChannel(), InMidiFile::GetMaxTrack(), InMidiFile::GetMinChannel(), InMidiFile::GetMinTrack(), Device::GetName(), Route::IFrom, Route::ITo, tree_storage::Read(), RTall, RTchannel, RTelse, RTstaff und Route::Type.

{
        route -> Type = (RouteType) config.Read(_T("Filter Type"), (int)RTchannel);
        switch(route->Type) {
                case RTchannel: 
                {
                        int oldfrom, oldto;
                        oldfrom = route->IFrom = config.Read(_T("Channel From"), GetMinChannel());
                        oldto = route->ITo = config.Read(_T("Channel To"), GetMaxChannel());
                        bool correct = true;
                        if (route->IFrom < GetMinChannel()) {
                                correct = false;
                                route->IFrom = GetMinChannel();
                        }
                        if (route->ITo > GetMaxChannel()) {
                                correct = false;
                                route->ITo = GetMaxChannel();
                        }
                        if (!correct)
                                wxMessageBox(wxString::Format(_("The Channel range %d--%d of the MIDI file %s must be inside %d--%d. The current route had to be corrected."),
                                                              oldfrom,oldto,GetName().c_str(),GetMinChannel(),GetMaxChannel()),
                                             _("Warning loading route"),wxICON_EXCLAMATION);
                        break;
                }
                case RTstaff:
                {
                        int oldfrom, oldto;
                        route -> IFrom = oldfrom = config.Read(_T("Track From"), GetMinTrack());
                        route -> ITo = oldto = config.Read(_T("Track To"), GetMaxTrack());
                        bool correct = true;
                        if (route->IFrom < GetMinTrack()) {
                                correct = false;
                                route->IFrom = GetMinTrack();
                        }
                        if (route->ITo > GetMaxTrack()) {
                                correct = false;
                                route->ITo = GetMaxTrack();
                        }
                        if (!correct)
                                wxMessageBox(wxString::Format(_("The Track range %d--%d of the MIDI file %s must be inside %d--%d. The current route had to be corrected."),
                                                              oldfrom,oldto,GetName().c_str(), GetMinTrack(), GetMaxTrack()),
                                             _("Warning loading route"),wxICON_EXCLAMATION);
                        break;
                }
                case RTelse:
                case RTall:
                        break;
        }
}
void Route::Load ( tree_storage config) [virtual]

Read the route into from a tree based configuration.

config (tree_storage &) configuration where the route settings will be read from

Definiert in Zeile 76 der Datei Route.cpp.

Benutzt Route::Active, Route::Box, NoBox und tree_storage::Read().

Wird benutzt von Route::LoadRoutes().

{
        Box = config.Read(_T("Box"),NoBox);
        Active = config.Read(_T("Active"),true);
        if (In)
                ((InDevice *) In)->Load(config,this);
        if (Out)
                ((OutDevice *) Out)->Load(config,this);
}
void OutMidiFile::Load ( tree_storage config,
Route route 
) [virtual]

Loade route settings (filter settings) for a given route.

Some route settings (e.g. filter settings) are device type specific. This function loads them from a tree storage. config (tree_storage *) Storage class, where the data will be restored from. route (Route *) Route whos data shall be loaded.

Implementiert Device.

Definiert in Zeile 270 der Datei DevMidF.cpp.

Benutzt _(), OutMidiFile::GetMaxChannel(), OutMidiFile::GetMinChannel(), Device::GetName(), Route::OFrom, Route::ONoDrum, Route::OTo und tree_storage::Read().

{
        wxASSERT(route);
        route->ONoDrum = config.Read (_T("Avoid Drum Channel"), true);
        int oldfrom, oldto;
        oldfrom = route->OFrom = config.Read(_T("Channel From"), GetMinChannel());
        oldto = route->OTo = config.Read(_T("Channel To"), GetMaxChannel());
        bool correct = true;
        if (route->OFrom < GetMinChannel()) {
                correct = false;
                route->OFrom = GetMinChannel();
        }
        if (route->OTo > GetMaxChannel()) {
                correct = false;
                route->OTo = GetMaxChannel();
        }
        if (!correct)
                wxMessageBox(wxString::Format(_("The Channel range %d--%d of the MIDI file %s must be inside %d--%d. The current route had to be corrected."),
                                              oldfrom,oldto,GetName().c_str(),GetMinChannel(),GetMaxChannel()),
                             _("Warning loading route"),wxICON_EXCLAMATION);
}
virtual void Device::Load ( tree_storage config) [pure virtual]

Load current device settings from a tree storage.

config (tree_storage) storage class, where the data will be loaded from.

Implementiert in OutGis, InGis, OutMidiFile, InMidiFile, OutMidiPort und InMidiPort.

Wird benutzt von InDevice::LoadDevices() und OutDevice::LoadDevices().

void OutGis::Load ( tree_storage config,
Route route 
) [virtual]

Loade route settings (filter settings) for a given route.

Load route settings (filter settings) for a given route.

Some route settings (e.g. filter settings) are device type specific. This function loads them from a tree storage. config (tree_storage *) Storage class, where the data will be restored from. route (Route *) Route whos data shall be loaded.

Implementiert Device.

Definiert in Zeile 203 der Datei DevGIS.cpp.

Benutzt STUBC.

{
        STUBC;
}
virtual void Device::Load ( tree_storage config,
Route route 
) [pure virtual]

Loade route settings (filter settings) for a given route.

Some route settings (e.g. filter settings) are device type specific. This function loads them from a tree storage. config (tree_storage *) Storage class, where the data will be restored from. route (Route *) Route whos data shall be loaded.

Implementiert in OutGis, InGis, OutMidiFile, InMidiFile, OutMidiPort und InMidiPort.

void OutGis::Load ( tree_storage config) [virtual]

Load current device settings from a tree storage.

config (tree_storage) storage class, where the data will be loaded from.

Implementiert Device.

Definiert in Zeile 192 der Datei DevGIS.cpp.

Benutzt mutEmptyString, Device::Name und tree_storage::Read().

{
        Name = config.Read(_T("File Name"), mutEmptyString);
}
void InGis::Load ( tree_storage config) [virtual]

Load current device settings from a tree storage.

config (tree_storage) storage class, where the data will be loaded from.

Implementiert Device.

Definiert in Zeile 231 der Datei DevGIS.cpp.

Benutzt mutEmptyString, Device::Name und tree_storage::Read().

{
        Name = config.Read(_T("File Name"),mutEmptyString);
}
void InGis::Load ( tree_storage config,
Route route 
) [virtual]

Loade route settings (filter settings) for a given route.

Some route settings (e.g. filter settings) are device type specific. This function loads them from a tree storage. config (tree_storage *) Storage class, where the data will be restored from. route (Route *) Route whos data shall be loaded.

Implementiert Device.

Definiert in Zeile 242 der Datei DevGIS.cpp.

{
}
void OutDevice::LoadDevices ( tree_storage config) [static]

Load the current devices from a tree based storage.

This function reads all input devices from a tree based storage. config (tree_storage &) storage driver to use for loading.

Definiert in Zeile 143 der Datei Device.cpp.

Benutzt OutDevice::CreateDevice(), DEBUGLOGTYPE, DTMidiPort, OutDevice::GetTypeName(), Device::Load(), name, tree_storage::Read(), Device::SetId(), tree_storage::toFirstLeaf(), tree_storage::toLeaf(), tree_storage::toNextLeaf() und tree_storage::toParent().

Wird benutzt von LoadRoutes().

{
        config.toLeaf(_T("OutDevices"));
        
        int i = config.toFirstLeaf(_T("Device"));
        while (i != wxNOT_FOUND) {
                DEBUGLOGTYPE(config,OutDevice,_T("Loading output device with id %d"),i);
                DevType type = (DevType) config.Read(_T("Type"), DTMidiPort);
                OutDevice * out = OutDevice::CreateDevice(type);
                if (!out) continue;
                out -> Device::SetId(i);
                wxString name = config.Read(_T("Type Name"),_T("Midi output device"));
                wxASSERT(name == out->GetTypeName());
                out -> Load(config);
                i = config.toNextLeaf(_T("Device"));
        }
        
        config.toParent(2);
}
void InDevice::LoadDevices ( tree_storage config) [static]

Load the current devices from a tree based storage.

This function reads all input devices from a tree based storage. config (tree_storage &) storage driver to use for loading.

Definiert in Zeile 372 der Datei Device.cpp.

Benutzt InDevice::CreateDevice(), DTMidiPort, InDevice::GetTypeName(), Device::Load(), tree_storage::Read(), Device::SetId(), tree_storage::toFirstLeaf(), tree_storage::toLeaf(), tree_storage::toNextLeaf() und tree_storage::toParent().

Wird benutzt von LoadRoutes().

{
        config.toLeaf(_T("InDevices"));
        
        int i = config.toFirstLeaf(_T("Device"));
        while (i != wxNOT_FOUND) {
                DevType type = (DevType) config.Read(_T("Type"), DTMidiPort);
                InDevice * in = InDevice::CreateDevice(type);
                in -> Device::SetId(i);
                wxString name = config.Read(_T("Type Name"),_T("Midi input device"));
                wxASSERT(name == in -> GetTypeName());
                in -> Load(config);
                i = config.toNextLeaf(_T("Device"));
        }
        
        config.toParent(2);
}
void LoadRoutes ( tree_storage config)

load the routes from a tree based configuration

Parameter:
configconifiguration to be read from

Definiert in Zeile 362 der Datei Route.cpp.

Benutzt OutDevice::LoadDevices(), InDevice::LoadDevices(), Route::LoadRoutes(), tree_storage::toLeaf() und tree_storage::toParent().

Wird benutzt von MutRouteWnd::CmRouteLoad(), LoadRoutes() und MutApp::RestoreState().

{
        config.toLeaf(_T("Routing"));
        
        InDevice::LoadDevices(config);
        OutDevice::LoadDevices(config);
        Route::LoadRoutes(config);
        
        config.toParent();
}
void Route::LoadRoutes ( tree_storage config) [static]

Load the current routes from a tree storage.

This function loads all routs from a tree based storage. config (tree_storage *) storage driver to use for saving.

Definiert in Zeile 117 der Datei Route.cpp.

Benutzt InDevice::AddRoute(), DEBUGLOGTYPE, OutDevice::GetDevice(), InDevice::GetDevice(), Route::inputid, Route::Load(), Route::outputid, tree_storage::Read(), Route::Route(), tree_storage::toFirstLeaf(), tree_storage::toLeaf(), tree_storage::toNextLeaf() und tree_storage::toParent().

Wird benutzt von LoadRoutes().

{
        config.toLeaf(_T("Routes"));
        
        int i = config.toFirstLeaf(_T("Route"));
        while (i != wxNOT_FOUND) {
                DEBUGLOGTYPE(config,Route,_T("Loading route with id %d."), i);
                // \todo replace -1 by a correct default
                int inputid = config.Read(_T("Input Device"), -1);
                int outputid = config.Read(_T("Output Device"), -1);
                InDevice * in = InDevice::GetDevice(inputid);
                OutDevice * out = OutDevice::GetDevice(outputid);
                Route * route = new Route(in,out);
                if (in && route)
                        in->AddRoute(route);
                if (route)
                        route -> Load(config);
                i = config.toNextLeaf(_T("Route"));
        }
        
        config.toParent(2);
}
long LongAbs ( long  x) [inline]

Definiert in Zeile 446 der Datei DevMidF.cpp.

Wird benutzt von OutMidiPort::NotesCorrect() und OutMidiFile::NotesCorrect().

{
        return (x < 0)? -x : x;
}
void MidiInit ( )

Definiert in Zeile 878 der Datei DevMidi.cpp.

Benutzt RtError::printMessage().

Wird benutzt von IMPLEMENT_APP().

{
#ifdef RTMIDI

        try {
                rtmidiout = new RtMidiOut();
        } catch (RtError &error) {
                error.printMessage();
                abort();
        }

        try {
                rtmidiin = new RtMidiIn();
        } catch (RtError &error) {
                error.printMessage();
                abort();
        }

#endif
}
void OutMidiFile::MidiOut ( DWORD  data,
char  n 
) [virtual]

Implementiert OutDevice.

Definiert in Zeile 498 der Datei DevMidF.cpp.

Benutzt Track::Add(), lMidiCode, OutMidiFile::Tracks und Track::WriteDelta().

{
        Tracks.WriteDelta();

        if ( n == -1 )
                n = lMidiCode[(data & 0xF0) >> 5];

        for (int i = 0; i < n; i++) {
                Tracks.Add(data & 0xFF);
                data >>= 8;
        }
}
void OutMidiFile::MidiOut ( BYTE *  p,
char  n 
) [virtual]

Implementiert OutDevice.

Definiert in Zeile 511 der Datei DevMidF.cpp.

Benutzt Track::Add(), OutMidiFile::Tracks und Track::WriteDelta().

{
        Tracks.WriteDelta();

        for (int i = 0; i < n; i++)
                Tracks.Add(p[i]);
}
void MidiOut ( int  box,
DWORD  data,
char  n 
)

Definiert in Zeile 536 der Datei Device.cpp.

Benutzt InDevice::GetDeviceList(), Route::GetNext(), InDevice::GetNext() und MidiOut().

Wird benutzt von execute_aktion(), MidiOut() und compat30::SaveRoutes().

{
        for (InDevice *In = InDevice::GetDeviceList(); In; In = In->GetNext()) {
                for (Route *R = In->GetRoutes(); R; R = R->GetNext()) {
                        OutDevice * out;
                        if ( R->Box == box && (out = R->GetOutDevice())) {
                                out -> MidiOut(data, n);
                        }
                }
        }
}
virtual void OutDevice::MidiOut ( DWORD  data,
char  n 
) [pure virtual]

Implementiert in OutGis, OutMidiFile und OutMidiPort.

Wird benutzt von InMidiFile::ProceedRoute().

virtual void OutDevice::MidiOut ( BYTE *  p,
char  n 
) [pure virtual]

Implementiert in OutGis, OutMidiFile und OutMidiPort.

void MidiUninit ( )

Definiert in Zeile 899 der Datei DevMidi.cpp.

Benutzt rtmidiin und rtmidiout.

Wird benutzt von MutApp::OnExit().

{
        delete rtmidiin;
        delete rtmidiout;
}
void MutaborTag ( GisReadArtHead h,
GisToken Para,
int  box 
)

KeyboardIn(Box, ((GisParaStr*)Para)->s);

Definiert in Zeile 386 der Datei DevGIS.cpp.

Benutzt GisReadArtHead::Box, GetGisType(), GTParaInt, GTParaStr, KeyboardIn(), mutStrEq, mutString, mutT, GisToken::Next, Para und GisToken::Type().

Wird benutzt von InGis::Proceed().

{
        if ( !Para || Para->Type() != GTParaStr )
                return; // strange parameters

        mutString ParaName = ((GisParaStr*)Para)->s;

        Para = Para->Next;

        if ( mutStrEq(ParaName, mutT("key")) ) {
                if ( GetGisType(Para) == GTParaStr )
                        KeyboardIn(box, ((GisParaStr*)Para)->s);
        }

        if ( mutStrEq(ParaName, mutT("box")) || mutStrEq(ParaName, mutT("instrument")) ) {
                if ( GetGisType(Para) == GTParaInt )
                        h->Box = ((GisParaInt*)Para)->i;
        }
}
MutBoxChannelShape::MutBoxChannelShape ( wxWindow *  p = NULL,
wxWindowID  id = wxID_ANY,
Route r = NULL 
) [inline]

Definiert in Zeile 144 der Datei BoxChannelShape.h.

Benutzt MutBoxChannelShape::Create().

                                           :MutIconShape(),route(r),input(NULL),output(NULL)
        {
                Create (p, id, r);
        }
MutBoxIconShape::MutBoxIconShape ( wxWindow *  parent,
wxWindowID  id = wxID_ANY 
) [inline]

Definiert in Zeile 70 der Datei BoxIconShape.h.

Benutzt MutBoxIconShape::Create().

                                                                    :
                MutIconShape() 
        {
                Create (parent, id);
        }
MutBoxShape::MutBoxShape ( wxWindow *  parent,
wxWindowID  wid,
int  Id = NoBox 
) [inline]

Definiert in Zeile 151 der Datei BoxShape.h.

Benutzt MutBoxShape::Create().

                                                                   :
                MutBoxIconShape()
        {
                Create(parent,wid,Id);
        }
MutBoxShape::MutBoxShape ( ) [inline]

Definiert in Zeile 143 der Datei BoxShape.h.

Wird benutzt von MutBoxShape::DoLeftDblClick().

MutBoxShape::MutBoxShape ( wxStaticBox *  box,
int  orient 
) [inline]

Definiert in Zeile 145 der Datei BoxShape.h.

Benutzt STUBC.

MutDeviceShape::MutDeviceShape ( ) [inline]

Definiert in Zeile 101 der Datei DeviceShape.h.

                        :MutIconShape() 
                {
                }
MutDeviceShape::MutDeviceShape ( wxWindow *  parent,
wxWindowID  id,
const wxString &  name = wxEmptyString 
) [inline]

Definiert in Zeile 104 der Datei DeviceShape.h.

Benutzt MutDeviceShape::Create() und name.

                                                              :
                MutIconShape()
                {
                        Create(parent, id, name);
                }
MutIconShape::MutIconShape ( ) [inline]

Definiert in Zeile 80 der Datei IconShape.h.

:MutPanel(),Icon(),staticText(NULL) { }
MutIconShape::MutIconShape ( wxWindow *  parent,
wxWindowID  id 
) [inline]

Definiert in Zeile 82 der Datei IconShape.h.

Benutzt MutIconShape::Create().

                                                      :MutPanel(),
                                                                  Icon(),
                                                                  staticText(NULL)
        {
                Create(parent, id);
        }
MutInputDeviceShape::MutInputDeviceShape ( ) [inline]

Definiert in Zeile 100 der Datei InputDeviceShape.h.

Benutzt MutInputDeviceShape::device.

                             :MutDeviceShape() {
                device = NULL;
        }
MutInputDeviceShape::MutInputDeviceShape ( wxWindow *  parent,
wxWindowID  id,
const wxString &  name 
) [inline]

Definiert in Zeile 104 der Datei InputDeviceShape.h.

Benutzt MutInputDeviceShape::Create() und MutInputDeviceShape::device.

                                  :MutDeviceShape ()
        {
                device = NULL;
                Create (parent, id, name);
        }
MutInputDeviceShape::MutInputDeviceShape ( wxWindow *  parent,
wxWindowID  id,
InDevice d 
) [inline]

Definiert in Zeile 112 der Datei InputDeviceShape.h.

Benutzt MutInputDeviceShape::Create().

                                                                            :
                MutDeviceShape() {
                Create (parent, id, d);
        }
MutInputGuidoFileDeviceShape::MutInputGuidoFileDeviceShape ( wxWindow *  parent,
wxWindowID  id,
InDevice d 
) [inline]

Definiert in Zeile 78 der Datei InputGuidoFileDeviceShape.h.

Benutzt MutInputGuidoFileDeviceShape::Create().

                                                  :
                MutInputDeviceShape() {
                Create (parent,id,d);
        }
MutInputMidiDeviceShape::MutInputMidiDeviceShape ( wxWindow *  parent,
wxWindowID  id,
InDevice d 
) [inline]

Definiert in Zeile 141 der Datei InputMidiDeviceShape.h.

Benutzt MutInputMidiDeviceShape::Create().

                                                  :
                MutInputDeviceShape() {
                Create (parent,id,d);
        }
MutInputMidiFileDeviceShape::MutInputMidiFileDeviceShape ( wxWindow *  parent,
wxWindowID  id,
InDevice d 
) [inline]

Definiert in Zeile 148 der Datei InputMidiFileDeviceShape.h.

Benutzt MutInputMidiFileDeviceShape::Create().

                                                  :
                MutInputDeviceShape() {
                Create (parent,id,d);
        }
MutNewInputDeviceShape::MutNewInputDeviceShape ( wxWindow *  parent,
wxWindowID  id 
) [inline]

Definiert in Zeile 70 der Datei NewInputDeviceShape.h.

Benutzt MutNewInputDeviceShape::Create().

                                                                 :MutInputDeviceShape() 
                {
                        Create(parent, id);
                }
MutNewOutputDeviceShape::MutNewOutputDeviceShape ( wxWindow *  parent,
wxWindowID  id 
) [inline]

Definiert in Zeile 77 der Datei NewOutputDeviceShape.h.

Benutzt MutNewOutputDeviceShape::Create().

                                                                  :
                MutOutputDeviceShape() 
        {
                Create (parent,id);
        }
MutOutputGuidoFileDeviceShape::MutOutputGuidoFileDeviceShape ( wxWindow *  parent,
wxWindowID  id,
OutDevice d 
) [inline]

Definiert in Zeile 76 der Datei OutputGuidoFileDeviceShape.h.

Benutzt MutOutputGuidoFileDeviceShape::Create().

                                                   :
                MutOutputDeviceShape() {
                Create (parent,id,d);
        }
MutOutputMidiDeviceShape::MutOutputMidiDeviceShape ( wxWindow *  parent,
wxWindowID  id,
OutDevice d 
) [inline]

Definiert in Zeile 76 der Datei OutputMidiDeviceShape.h.

Benutzt MutOutputMidiDeviceShape::Create().

                                                   :
                MutOutputDeviceShape() 
                {
                        Create (parent,id,d);
                }
MutOutputMidiFileDeviceShape::MutOutputMidiFileDeviceShape ( wxWindow *  parent,
wxWindowID  id,
OutDevice d 
) [inline]

Definiert in Zeile 71 der Datei OutputMidiFileDeviceShape.h.

Benutzt MutOutputMidiFileDeviceShape::Create().

                                                   :
                MutOutputDeviceShape() 
                {
                        Create (parent,id,d);
                }
MutRouteWnd::MutRouteWnd ( wxWindow *  parent,
const wxPoint &  pos = wxDefaultPosition,
const wxSize &  size = wxDefaultSize 
)

Definiert in Zeile 461 der Datei MutRouteWnd.cpp.

Benutzt BACKGROUND, DEBUGLOG, DTGis, DTMidiFile, DTMidiPort, DTUnknown, ICON und initMutIconShapes().

        : wxScrolledWindow(parent, wxID_ANY, pos, size, 
                           wxVSCROLL|wxHSCROLL|wxTAB_TRAVERSAL, wxT("Route"))
{
        /*  TWindow::Attr.Style |= WS_GROUP | WS_CLIPCHILDREN|
            WS_CLIPSIBLINGS | WS_VSCROLL | WS_HSCROLL | WS_BORDER;
            Scroller = new TScroller(this, 1, 1, 0, 0);
            Attr.AccelTable = IDA_ROUTE;*/
        DevIcon[DTUnknown] = new ICON(devunknown);
        DevIcon[DTMidiPort] = new ICON(devmidiport);
        DevIcon[DTMidiFile] = new ICON(devmidifile);
        DevIcon[DTGis] = new ICON(devgmn);
        ConIcon[0] = new wxBitmap(AddStop_xpm);//, wxBITMAP_TYPE_XPM);
        ConIcon[1] = new wxBitmap(AddPlay_xpm);//, wxBITMAP_TYPE_XPM);
        ConIcon[2] = new wxBitmap(AddPause_xpm);//, wxBITMAP_TYPE_XPM);
        ConIcon[3] = new wxBitmap(AddStopDis_xpm);//, wxBITMAP_TYPE_XPM);
        PlopIcon[0] = new ICON(newplop);
        PlopIcon[1] = new ICON(playplop);
        PlopIcon[2] = new ICON(pauseplop);
        PlopIcon[3] = new ICON(errorplop);
        spacey = 8;
        spacex = 20;
        x1 = 80;
        x2 = 80;
        x3 = 30;
        x4 = 80;
        x5 = 80;
        SetBackgroundColour(BACKGROUND);
        //testdialog();


        DEBUGLOG (other, _T("this is window %p"),this);
        SetSizer(new wxFlexGridSizer(3,0,50));
        SetScrollRate(1, 1);

        initMutIconShapes();
        InitShapes();
}
int Name2Key ( const mutString  name)

Definiert in Zeile 241 der Datei GIS.cpp.

Benutzt mutChar und mutT.

Wird benutzt von GisNote::GetKey().

{
        mutChar notes[] = mutT("c d ef g a b");
        size_t l = mutLen(name);
        int i = 11;

        if ( l == 1 ) {
                while ( i >= 0 ) {
                        if ( notes[i] == name[0] )
                                break;

                        i--;
                }

                if ( name[0] == 'h' )
                        return 11;
                else
                        return i;
        } else if ( l == 3 ) {
                while ( i >= 0 ) {
                        if ( notes[i] == name[0] )
                                break;

                        i--;
                }

                if ( i != -1 ) i++;

                return i;
        } else
                return -1;
}
bool NeedsRealTime ( )

Definiert in Zeile 508 der Datei Device.cpp.

Benutzt InDevice::GetDeviceList(), OutDevice::GetDeviceList(), InDevice::GetNext() und OutDevice::GetNext().

Wird benutzt von CheckNeedsRealTime().

{
        for (OutDevice *Out = OutDevice::GetDeviceList(); Out; Out = Out->GetNext())
                if ( Out->NeedsRealTime() )
                        return true;

        for (InDevice *In = InDevice::GetDeviceList(); In; In = In->GetNext())
                if ( In->NeedsRealTime() )
                        return true;

        return false;
}
virtual bool InDevice::NeedsRealTime ( ) [inline, virtual]

Erneute Implementation in InMidiPort.

Definiert in Zeile 457 der Datei Device.h.

        {
                return false;
        }
virtual bool OutDevice::NeedsRealTime ( ) [inline, virtual]

Erneute Implementation in OutMidiPort.

Definiert in Zeile 320 der Datei Device.h.

        {
                return false;
        }
EDevice* NewDevice ( EDevice **  List,
DevType  dt,
const wxString &  name,
int  devId,
EDevice oldPos = 0,
EDevice newPos = 0 
)

create a new device.

Parameter:
Listlist where the device should be added
dttype of the new device
namename of the new device
devIdidentifier of the new device
oldPosold position of the device (will be removed or overwritten)
newPosnew position of the devices

Definiert in Zeile 98 der Datei EDevice.cpp.

Benutzt EDevice::AddRoute(), ChangeOutReferences(), DEBUGLOG2, EDevice::DevId, EDevice::DT, DTMidiPort, EDevice::Mode, MutaborDeviceUnregistered, name, EDevice::Name, EDevice::Next und EDevice::Routes.

Wird benutzt von ScanRoutes() und WriteRoutes().

{
        DEBUGLOG2(routing,_T("(%x, %d, %s, %x, %x)"), List, dt, (name.c_str()), oldPos,  newPos);
        // Position finden zum Daten abladen
        EDevice *Pos = 0;
        ERoute *R = 0;
        
        if ( oldPos == newPos && oldPos ) {
                Pos = oldPos;
                Pos->DT = dt;
#ifdef WX
                Pos->Name = name;
#else
                strcpy(Pos->Name, name);
#endif
                Pos->DevId = devId;
                Pos->Mode = MutaborDeviceUnregistered;
        } else {
                if ( oldPos ) {
                        // Position von oldPos als Adresse finden
                        EDevice **PreOldPos = List;
                        
                        for (;*PreOldPos; PreOldPos = &((*PreOldPos)->Next))
                                if ( *PreOldPos == oldPos )
                                        break;
                        
                        // oldPos löschen, Routen retten
                        R = oldPos->Routes;

                        oldPos->Routes = 0;
                        
                        *PreOldPos = (*PreOldPos)->Next;
                        
                        oldPos->Next = 0;
                        
                        delete oldPos;
                }

                // evtl. nur löschen
                if ( dt == -1 ) {
                        if ( R )
                                delete R;

                        return 0;
                }

                // Position von newPos als Adresse finden
                EDevice **PreNewPos = List;

                for (;*PreNewPos; PreNewPos = &((*PreNewPos)->Next))
                        if ( *PreNewPos == newPos )
                                break;

                // Device einfügen
                Pos = new EDevice(dt, name, devId);
                Pos->Routes = R;
                Pos->Next = *PreNewPos;
                *PreNewPos = Pos;
        }
        
        // Testen, ob Device schon so existiert
        for (EDevice **Dev = List ; *Dev; Dev = &((*Dev)->Next))
                if ( *Dev != Pos &&
                    (*Dev)->DT == dt && (
#ifdef WX
                                         ( !(*Dev)->Name.Cmp(name) ) ||
#else
                                         ( !strcmp((*Dev)->Name, name) ) ||
#endif
                                         ( dt == DTMidiPort && (*Dev)->DevId == devId ) ) ) {
                        // doppeltes Device gefunden, Routen ¸bertragen und lˆschen
                        EDevice *Dev1 = *Dev;
                        
                        if ( Dev1->Routes ) {
                                Pos->AddRoute(Dev1->Routes);
                                Dev1->Routes = 0;
                        }
                    
                        *Dev = Dev1->Next;

                        Dev1->Next = 0;
                        ChangeOutReferences(Dev1, Pos);
                        delete Dev1;
                        break;
                }
        return Pos;
}
NewMutBoxShape::NewMutBoxShape ( wxWindow *  parent,
wxWindowID  wid 
) [inline]

Definiert in Zeile 124 der Datei NewBoxShape.h.

Benutzt NewMutBoxShape::Create().

                                                         :MutBoxShape()
                {
                        Create (parent, wid);
                }
Route * ERoute::newRoute ( ) [inline]

create a new Route containing our data.

Rückgabe:
pointer to the new route

Definiert in Zeile 347 der Datei EDevice.h.

Benutzt ERoute::Active, ERoute::Box, DEBUGLOG, EDevice::DevId, GetOut(), ERoute::IFrom, ERoute::ITo, ERoute::OFrom, ERoute::ONoDrum, ERoute::OTo, ERoute::Out und ERoute::Type.

{
        if (Box == -2)
                Active = false;

        OutDevice * o;

        if (Out) o = GetOut(Out->DevId);
        else o = NULL;

#ifdef DEBUG
        DEBUGLOG(other,_T("Out: %x, o: %x"),Out,o);

#endif
        return new Route(NULL, o, 
                         Type,
                         IFrom, ITo,
                         Box, Active,
                         OFrom, OTo, ONoDrum);

}
static unsigned int Route::NextRouteId ( ) [inline, static]

Definiert in Zeile 221 der Datei Route.h.

Benutzt Route::maxRouteId.

Wird benutzt von Route::Route().

                                          {
                return maxRouteId++;
        }
int NextSequenz ( )

Definiert in Zeile 660 der Datei GIS.cpp.

Benutzt BuildTag(), GISDEBUG und TagMode.

Wird benutzt von DoParse().

{
        GISDEBUG(", ");

        if ( TagMode ) BuildTag();

        return 0;
};
int Note ( const mutString  name,
const mutString  accedentials,
int  octave,
frac  duration 
)

Definiert in Zeile 669 der Datei GIS.cpp.

Benutzt BuildTag(), DEBUGLOG2, GISDEBUG, GisToken::Next, octave und TagMode.

Wird benutzt von ChordNote::MutNoteOn() und ReadNote().

{
        DEBUGLOG2(other,_T("Note '%s' %s Oktave %d "),
                  name.c_str(),
                  accedentials.c_str(),
                  octave);
        GISDEBUG(name << accedentials << octave << "*" << duration << " ")

        if ( TagMode ) BuildTag();

        GisNote *Note = new GisNote(name, accedentials, octave, duration, Sep);

        *Current = Note;

        Current = &(Note->Next);

        return 0;
};
void OutMidiFile::NoteOff ( int  box,
int  taste,
int  velo,
Route r,
int  channel 
) [virtual]

Implementiert OutDevice.

Definiert in Zeile 418 der Datei DevMidF.cpp.

Benutzt DRUMCHANNEL, TAK1::id, OutMidiFile::KeyDir, MAKE_ID, MIDI_OUT3, OutMidiFile::nKeyOn, Route::OFrom, Route::ONoDrum, TAK1::taste und OutMidiFile::ton_auf_kanal.

Wird benutzt von OutMidiFile::Quite().

{
        if ( box == -2 )
                box = 255;

        DWORD id = MAKE_ID(r, box, taste, channel);

        if ( !velo ) //3 ?? notwendig?
                velo = 64;

        for (int i = r->OFrom; i <= r->OTo; i++)
                if ( i != DRUMCHANNEL || !r->ONoDrum )
                        if ( ton_auf_kanal[i].id == id ) {
                                ton_auf_kanal[i].taste=0;
                                ton_auf_kanal[i].id=0;
                                MIDI_OUT3(0x80+i, ton_auf_kanal[i].key, velo);
                                // KeyDir umsortieren
                                int oldKeyDir = KeyDir[i];

                                for (int k = 0; k < 16; k++)
                                        if ( KeyDir[k] > oldKeyDir || KeyDir[k] < 16) KeyDir[k]--;

                                nKeyOn--;

                                KeyDir[i] = 15;
                        }
}
virtual void OutDevice::NoteOff ( int  box,
int  taste,
int  velo,
Route r,
int  channel 
) [pure virtual]
void OutMidiFile::NoteOn ( int  box,
int  taste,
int  velo,
Route r,
int  channel,
ChannelData cd 
) [virtual]

Implementiert OutDevice.

Definiert in Zeile 325 der Datei DevMidF.cpp.

Benutzt ChannelData::BankSelectLSB, ChannelData::BankSelectMSB, OutMidiFile::Cd, DRUMCHANNEL, GET_FREQ, TAK1::id, TAK1::key, OutMidiFile::KeyDir, MAKE_ID, MIDI_OUT3, MIDI_PITCH, MIDI_SOUND, mut_box, OutMidiFile::nKeyOn, Route::OFrom, Route::ONoDrum, Route::OTo, ChannelData::Pitch, REUSE, ChannelData::Sound, TAK1::taste, OutMidiFile::ton_auf_kanal und zugriff.

{
        int i = 0, s;
        DWORD p;
        unsigned long freq;

        if ( box == -2 ) {
                freq = ((long)taste) << 24;
                box = 255;
        } else
                freq = GET_FREQ (taste, mut_box[box].tonesystem);

        // testen, ob nicht belegte Taste
        if ( !freq )
                return;

        int help = r->OTo;

        i = r->OFrom; // "irgendein" Startwert im g¸ltigen Bereich

        if ( i == DRUMCHANNEL && r->ONoDrum && i < r->OTo )
                i++;

        int j;

        for (j = r->OFrom; j <= r->OTo; j++ )
                if ( j != DRUMCHANNEL || !r->ONoDrum )
                        if ( KeyDir[j] < KeyDir[i] )
                                i = j;

        if ( KeyDir[i] >= 16 )  // keinen freien gefunden
        {
                // "mittelste Taste weglassen"
                int AM = 0; // arithmetisches Mittel der Tasten

                for (REUSE(int) j =r->OFrom; j <= r->OTo; j++)
                        if ( j != DRUMCHANNEL || !r->ONoDrum )
                                AM += ton_auf_kanal[j].taste;

                AM /= help + 1 - r->OFrom;

                for (REUSE(int) j = r->OFrom; j <= r->OTo; j++ )
                        if ( j != DRUMCHANNEL || !r->ONoDrum )
                                if ( abs(AM - ton_auf_kanal[j].taste) < abs(AM - ton_auf_kanal[i].taste) )
                                        i = j;

                // Ton auf Kanal i ausschalten
                MIDI_OUT3(0x80+i, ton_auf_kanal[i].key, 64);

                // KeyDir umsortieren
                BYTE oldKeyDir = KeyDir[i];

                for (int k = 0; k < 16; k++)
                        if ( KeyDir[k] > oldKeyDir ) KeyDir[k]--;

                KeyDir[i] = 15+nKeyOn;
        } else {
                nKeyOn++;
                KeyDir[i] = 15 + nKeyOn;
        }

        // freier Kanal = i

        // Sound testen
        if ( (s = cd->Sound) != Cd[i].Sound ) {
                MIDI_SOUND(i, s);
                Cd[i].Sound = s;
        }

        // Bank testen
        if ( (s = cd->BankSelectMSB) != Cd[i].BankSelectMSB && s != -1 ) {
                MIDI_OUT3(0xB0+i, 0, (BYTE) s);
                Cd[i].BankSelectMSB = s;
        }

        if ( (s = cd->BankSelectLSB) != Cd[i].BankSelectLSB && s != -1 ) {
                MIDI_OUT3(0xB0+i, 32, (BYTE) s);
                Cd[i].BankSelectLSB = s;
        }

        // Pitch testen
        if ( (long) (p = freq & 0xFFFFFF) != Cd[i].Pitch ) {
                MIDI_PITCH(i);
                Cd[i].Pitch = p;
        }

        ton_auf_kanal[i].key = zugriff[3] & 0x7f;

        ton_auf_kanal[i].taste = taste;
        ton_auf_kanal[i].id = MAKE_ID(r, box, taste, channel);
        MIDI_OUT3(0x90+i, ton_auf_kanal[i].key, velo);
}
virtual void OutDevice::NoteOn ( int  box,
int  taste,
int  velo,
Route r,
int  channel,
ChannelData cd 
) [pure virtual]
void NotesCorrect ( int  box)

Definiert in Zeile 548 der Datei Device.cpp.

Benutzt OutDevice::GetDeviceList() und OutDevice::GetNext().

Wird benutzt von execute_aktion().

{
        for (OutDevice *Out = OutDevice::GetDeviceList(); Out; Out = Out->GetNext())
                Out->NotesCorrect(box);
}
void OutMidiFile::NotesCorrect ( int  box) [virtual]

Implementiert OutDevice.

Definiert in Zeile 451 der Datei DevMidF.cpp.

Benutzt OutMidiFile::bending_range, OutMidiFile::Cd, GET_FREQ, TAK1::id, TAK1::key, OutMidiFile::KeyDir, LongAbs(), MIDI_OUT3, mut_box, ChannelData::Pitch, OutMidiFile::ton_auf_kanal und zugriff.

{
        for (int i = 0; i < 16; i++)
                if ( KeyDir[i] >= 16 && ton_auf_kanal[i].id ) {
                        int Box = (ton_auf_kanal[i].id >> 8) & 0xFF;

                        if ( Box != box )
                                break;

                        long freq = GET_FREQ(ton_auf_kanal[i].taste, mut_box[box].tonesystem);

                        // hier kann ein evtl. grˆflerer bending_range genutzt werden, um
                        // Ton aus und einschalten zu vermeiden
                        if ( ton_auf_kanal[i].key == (zugriff[3] & 0x7f) &&
                                        Cd[i].Pitch == (freq & 0xFFFFFF) )
                                continue;

                        long Delta = freq - ((long)ton_auf_kanal[i].key << 24);

                        char SwitchTone = (LongAbs(Delta) >= ((long)bending_range << 24));

                        // evtl. Ton ausschalten
                        if ( SwitchTone ) {
                                MIDI_OUT3(0x80+i, ton_auf_kanal[i].key, 0x7F);
                                ton_auf_kanal[i].key = zugriff[3] & 0x7f;
                                Delta = freq - ((DWORD)ton_auf_kanal[i].key << 24);
                        } else if ( Delta == Cd[i].Pitch )
                                continue;

                        // Spezialbending (grofler Range)
                        Cd[i].Pitch = Delta;

                        Delta /= (4*bending_range);

                        Delta += 0x400000;

                        MIDI_OUT3(0xE0+i, ((BYTE*)&Delta)[1] >> 1, (((BYTE*)&Delta)[2]));

                        // evtl. Ton einschalten
                        if ( SwitchTone )
                                MIDI_OUT3(0x90+i, ton_auf_kanal[i].key, 64);  //3 velo speichern ??
                }
}
virtual void OutDevice::NotesCorrect ( int  box) [pure virtual]

Implementiert in OutGis, OutMidiFile und OutMidiPort.

virtual void CurrentTimer::Notify ( ) [inline, virtual]

Definiert in Zeile 556 der Datei Device.h.

Benutzt STUBC.

Wird benutzt von NRT_Play().

        {
                STUBC;
        }
int InDevice::nRoutes ( )

Definiert in Zeile 292 der Datei Device.cpp.

Benutzt Route::GetNext().

{
        int n = 0;

        for (Route *R = Routes; R; R = R->GetNext())
                n++;

        return n;
}
void OutputDevDlg::OnButton2Click ( wxCommandEvent &  event) [private]

wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON2

Definiert in Zeile 292 der Datei OutputDevDlg.cpp.

Benutzt _() und OutputDevDlg::ctrlMidiFile.

{
        wxString OldFileName;

        if ( !ctrlMidiFile->GetValue().empty() )
                OldFileName = ctrlMidiFile->GetValue();

        wxString NewFileName = wxFileSelector(_("Select Midi-File file"),
                                              _T(""), OldFileName, _T(""), _("Midi-file (*.mid*)|*.mid*|All files (*.*)|*.*"),
#ifdef __WXCOCOA__
                                              0);

#else
                                              wxFD_OPEN | wxFD_FILE_MUST_EXIST);
#endif
        if ( !NewFileName.empty() )
                ctrlMidiFile->SetValue(NewFileName);
        event.Skip();
}
void OutputDevDlg::OnButton3Click ( wxCommandEvent &  event) [private]

wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON3

Definiert in Zeile 316 der Datei OutputDevDlg.cpp.

Benutzt _() und OutputDevDlg::ctrlMidiFile.

{
        wxString OldFileName;

        if ( !ctrlMidiFile->GetValue().empty() )
                OldFileName = ctrlMidiFile->GetValue();

        wxString NewFileName = wxFileSelector(_("Select Midi-File file"),
                                              _T(""), OldFileName, _T(""), _("GUIDO-file (*.gmn)|*.gmn|All files (*.*)|*.*"),
#ifdef __WXCOCOA__
                                              0);

#else
                                              wxFD_OPEN | wxFD_FILE_MUST_EXIST);
#endif
        if ( !NewFileName.empty() )
                ctrlMidiFile->SetValue(NewFileName);
        event.Skip();
}
void OutputDevDlg::OnChoice2Selected ( wxCommandEvent &  event) [private]

wxEVT_COMMAND_CHOICE_SELECTED event handler for ID_CHOICE2

Definiert in Zeile 257 der Datei OutputDevDlg.cpp.

Benutzt OutputDevDlg::ctrlType und OutputDevDlg::UpdateLayout().

{
        UpdateLayout(ctrlType->GetSelection());
        // Before editing this code, remove the block markers.
        event.Skip();
}
void InputDevDlg::OnChoiceSelected ( wxCommandEvent &  event)

wxEVT_COMMAND_CHOICE_SELECTED event handler for ID_CHOICE

Definiert in Zeile 126 der Datei InputDevDlg.cpp.

Benutzt InputDevDlg::UpdateLayout().

{
        int i = DeviceChoice->GetSelection();
        TypeData * data =(TypeData *)DeviceChoice->GetClientObject(i);
        UpdateLayout(*data);
        event.Skip();
}
void OutputDevDlg::OnChoiceSelected ( wxCommandEvent &  event)

wxEVT_COMMAND_CHOICE_SELECTED event handler for ID_CHOICE

Definiert in Zeile 147 der Datei OutputDevDlg.cpp.

Benutzt OutputDevDlg::GetType() und OutputDevDlg::UpdateLayout().

{
        DevType data = GetType();
        UpdateLayout(data);
        event.Skip();
}
void MutIconShape::OnDraw ( wxDC &  dc) [virtual]

Erneute Implementation in MutBoxIconShape.

Definiert in Zeile 228 der Datei IconShape.cpp.

Benutzt DEBUGLOG, MutIconShape::GetIcon(), MutIconShape::GetMutIcon() und MutIconShape::SetIcon().

Wird benutzt von MutTag::OnPaint().

{
        wxRect size = GetRect();
        DEBUGLOG (other, _T("Checking icon"));

        if (!GetIcon().IsOk()) {
                SetIcon(GetMutIcon());
                DEBUGLOG (other, _T("Checking icon again"));

        }
        DEBUGLOG (other, _T("Icon ok."));

        int x = 0, y = 0;
        if (GetIcon().IsOk()) {
                DEBUGLOG (other, _T("Size: %dx%d"),GetIcon().GetHeight(),
                         GetIcon().GetWidth());
                x = (size.width-GetIcon().GetWidth())/2;
                dc.DrawIcon(GetIcon(), x, y);
        }

        DEBUGLOG (other, _T("Focus %p and this %p"),FindFocus(),this);
/*  Draw a black bock around focused item 
        if (FindFocus() == this) {
                DEBUGLOG (other, _T("Painting Box"));
                dc.SetPen(*wxBLACK_PEN);
                dc.SetBrush(*wxTRANSPARENT_BRUSH);
                dc.DrawRectangle(0,0,size.width,size.height);
        }
*/
}
void MutRouteWnd::OnDraw ( wxDC &  dc) [virtual]

Definiert in Zeile 852 der Datei MutRouteWnd.cpp.

Benutzt _(), MutRouteWnd::BoxSizer, MutRouteWnd::ConIcon, MutRouteWnd::DevIcon, MutBoxShape::DrawLines(), DTGis, DTMidiFile, DTMidiPort, GetTextWidth(), InEDevices, LogicOn, max, ERoute::Next, EDevice::Next, MutRouteWnd::PlopIcon, PrintBox(), PRINTSIZER, REUSE, RTall, RTchannel, RTelse, RTstaff, sRange(), TextPin(), MutRouteWnd::x1, MutRouteWnd::x2, MutRouteWnd::x3, MutRouteWnd::x4, MutRouteWnd::x5, xd, xz, yd, ydt, yh, yr, yt und yz.

{
        wxScrolledWindow::OnDraw(dc);
        PRINTSIZER(GetSizer());
        dc.SetDeviceOrigin(0,0);
        wxASSERT(BoxSizer);
        wxSizerItemList & list = BoxSizer->GetChildren();
        for (wxSizerItemList::const_iterator i = list.begin(); i != list.end(); i++) {
                MutBoxShape * box = static_cast<MutBoxShape * > ((*i)->GetWindow());
                wxASSERT(dynamic_cast<MutBoxShape *> ((*i)->GetWindow()));
                if (box)
                        box->DrawLines(dc);
        }

        return;

#if 0
        // x1 und x5 berechnen
        wxSize R = GetClientSize();
        int t1 = 50;
        int t5 = 50;

        for (EDevice *In = InEDevices; In; In = In->Next) {
                t1 = max(t1, GetTextWidth(dc, In->Name));

                for (ERoute *R = In->Routes; R; R = R->Next)
                        if ( R->Out )
                                t5 = max(t5, GetTextWidth(dc, R->Out->Name));
        }

        x1 = max((int)(R.GetWidth() - 10*xz - 30 - 80 - 80) / 2, 50);

        x5 = x1;

        if ( x1 < t1 || x5 < t5 ) {
                int s = x5+x1;
                x1 = s*t1/(t1+t5);
                x5 = s*t5/(t1+t5);
        }

        // Mittelpunkte
        int y = yh + yz+yd/2;

        int z1 = xz+x1/2;

        int z2 = 3*xz+x1+x2/2;

        int z3 = 5*xz+x1+x2+x3/2;

        int z4 = 7*xz+x1+x2+x3+x4/2;

        int z5 = 9*xz+x1+x2+x3+x4+x5/2;

        int z1t = z1;  // f¸r Textplop

        if ( z1-xd/2-20 < 2 )
                z1 = xd/2+22; // evtl. verschieben wegen Play-Plops

        wxString s;

        dc.SetFont(RouteFont);
        dc.SetBackgroundMode(wxSOLID);
        wxPen GrayPen(wxColour(0xee, 0xee, 0xee), 1);

        for (REUSE(EDevice*) In = InEDevices; In; In = In->Next) {

                // first line segment
                dc.SetPen(*wxBLACK_PEN);
                dc.SetBrush(*wxWHITE_BRUSH);
                dc.DrawLine(z1, y, 2*xz+x1, y);

                // InDevice
                dc.DrawIcon(*DevIcon[In->DT], z1-xd/2, y-yd/2);

                // InDevice Name
                TextPin(dc, z1t, y+yd/2+ydt, x1, In->Name, 0);

                // Mode

                if ( LogicOn ) {
                        if ( In->Mode == -1 )
                                dc.DrawIcon(*PlopIcon[0], z1, y-20);
                        else if ( In->Mode == 3 )
                                dc.DrawIcon(*PlopIcon[3], z1, y-20);
                        else if ( In->DT >= DTMidiFile ) {
                                /*TODO                          memDC.SelectObject(*ConIcon[(In->Mode == 1) ? 2 : 1]);
                                  dc.BitBlt(z1-xd/2-20, y-16, 14, 14, memDC, 0, 0, SRCCOPY);
                                  memDC.SelectObject(*ConIcon[(In->Mode) ? 0 : 3]);
                                  dc.BitBlt(z1-xd/2-20, y+2, 14, 14, memDC, 0, 0, SRCCOPY);
                                  if ( In->Mode > 0 )
                                  dc.DrawIcon(z1, y-20, *PlopIcon[In->Mode]);*/
                                dc.DrawBitmap(*ConIcon[(In->Mode == 1) ? 2 : 1],
                                              z1-xd/2-20, y-16, false);
                                dc.DrawBitmap(*ConIcon[(In->Mode) ? 0 : 3],
                                              z1-xd/2-20, y+2, false);

                                if ( In->Mode > 0 )
                                        dc.DrawIcon(*PlopIcon[In->Mode], z1, y-20);
                        }
                }

                // Routes
                int n = In->nRoutes(), yl = 0;

                if ( n > 1 )
                        yl = (n-1)*yr;

                dc.DrawLine(2*xz+x1, y, 2*xz+x1, y+yl);

                for (ERoute *R = In->Routes; R; R = R->Next) {
                        // Line
                        dc.DrawLine(2*xz+x1, y, z5, y);

                        // Filter

                        switch ( R->Type ) {

                        case RTall:
                                s = _("all");

                                break;

                        case RTelse:
                                s = _("else");

                                break;

                        case RTchannel:
                                if ( In->DT == DTGis )
                                        s = wxString::Format(_("box: %s"), sRange(R->IFrom, R->ITo).c_str());
                                else
                                        s = wxString::Format(_("channel: %s"),
                                                             sRange(R->IFrom, R->ITo).c_str());

                                break;

                        case RTstaff:
                                if ( In->DT == DTGis)
                                        s = wxString::Format(_("staff: %s"), sRange(R->IFrom, R->ITo).c_str());
                                else if ( In->DT == DTMidiPort )
                                        s = wxString::Format(_("keys: %s"), sRange(R->IFrom, R->ITo).c_str());
                                else
                                        s = wxString::Format(_("track: %s"), sRange(R->IFrom, R->ITo).c_str());

                                break;
                        }

                        TextPin(dc, z2, y-yt/2, x2, s, 1);

                        // Box
                        PrintBox(dc, z3, y, R->Box, R->Active, x3);
                        dc.SetPen(*wxBLACK_PEN); // reset Pen

                        // Filter

                        if ( R->OFrom != -1 && R->Out && R->Out->DT != DTGis ) {
                                s = wxString::Format(_("channel: %s"),
                                                     sRange(R->OFrom, R->OTo).c_str());
                                dc.SetPen(*wxBLACK_PEN);
                                dc.SetBrush(*wxWHITE_BRUSH);
                                TextPin(dc, z4, y-yt/2, x4, s, 1);
                        }

                        // OutDevice
                        if ( R->Out ) {
                                dc.DrawIcon(*DevIcon[R->Out->DT], z5-xd/2, y-yd/2);
                                TextPin(dc, z5, y+yd/2+ydt, x5, R->Out->Name, 0);
                        }

                        y+=yr;
                }

                //    if ( In->Routes ) {
                dc.SetPen(GrayPen);

                dc.SetBrush(*wxTRANSPARENT_BRUSH);

                dc.DrawRectangle(z2-x2/2, y-yt/2-26, x2, yt-26);

                //}
                if ( !n )
                        y += yr;

                y += yz;
        }

        dc.SetPen(GrayPen);

        dc.SetBrush(*wxTRANSPARENT_BRUSH);
        dc.DrawRectangle(z1-xd/2, y-yd/2, xd, yd);
        SetVirtualSize(CalcXl(), CalcYl());
#endif
}
void MutBoxIconShape::OnDraw ( wxDC &  dc) [virtual]

Erneute Implementation von MutIconShape.

Definiert in Zeile 86 der Datei BoxIconShape.cpp.

Benutzt DEBUGLOG, MutIconShape::GetIcon(), MutBoxIconShape::GetMutIcon(), MutIconShape::SetIcon() und MutIconShape::staticText.

{
        DEBUGLOG (other, _T("Checking icon"));

        if (!GetIcon().IsOk()) {
                SetIcon(GetMutIcon());
                DEBUGLOG (other, _T("Checking icon again"));

        }
        DEBUGLOG (other, _T("Icon ok."));

        int x, y;
        x = 0;
        y = 0;
        wxRect size = GetRect();
        if (staticText) y += staticText->GetSize().y;
        if (GetIcon().IsOk()) {
                DEBUGLOG (other, _T("Size: %dx%d"),GetIcon().GetHeight(),
                         GetIcon().GetWidth());
                x = (size.width-GetIcon().GetWidth())/2;
                dc.DrawIcon(GetIcon(), x, y);
        }

        DEBUGLOG (other, _T("Focus %p and this %p"),FindFocus(),this);
        if (FindFocus() == this) {
                DEBUGLOG (other, _T("Painting Box"));
                dc.SetPen(*wxBLACK_PEN);
                dc.SetBrush(*wxTRANSPARENT_BRUSH);
                dc.DrawRectangle(0,0,size.width,size.height);
        }
}
void InputDevDlg::OnFileChanged ( wxFileDirPickerEvent &  event)

Definiert in Zeile 182 der Datei InputDevDlg.cpp.

Benutzt DEBUGLOG.

{
        DEBUGLOG (_T ("Path changed: %s"),event.GetPath().c_str());
        Fit();
}
void OutputDevDlg::OnFileChanged ( wxFileDirPickerEvent &  event)

Definiert in Zeile 207 der Datei OutputDevDlg.cpp.

Benutzt DEBUGLOG.

{
        DEBUGLOG (other,_T ("Path changed: %s"),event.GetPath().c_str());
        SetSize(wxDefaultSize);
        Layout();
        Fit();
}
void MutIconShape::OnGetFocus ( wxFocusEvent &  event)

Definiert in Zeile 204 der Datei IconShape.cpp.

Benutzt DEBUGLOG und MutIconShape::SetFocus().

{
        DEBUGLOG (other, _T(""));
        OnFocus(event);
        SetFocus();
}
void MutIconShape::OnKillFocus ( wxFocusEvent &  event)

Definiert in Zeile 211 der Datei IconShape.cpp.

Benutzt DEBUGLOG.

{
        DEBUGLOG (other, _T(""));
        SetWindowStyle((GetWindowStyle() & ~ wxBORDER_SUNKEN) | wxBORDER_RAISED);
        wxSizer * sizer = GetContainingSizer();
        if (sizer) sizer->Layout();
        Refresh();
}
void MutTag::OnPaint ( wxPaintEvent &  WXUNUSEDevent)

Definiert in Zeile 221 der Datei IconShape.cpp.

Benutzt MutIconShape::OnDraw().

{
        wxPaintDC dc(this);
        PrepareDC(dc);
        OnDraw(dc);
}
void MutIconShape::OnPaint ( wxPaintEvent &  event)
void InputDevDlg::OnRemoveClick ( wxCommandEvent &  event)

wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON

wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_REMOVE

Definiert in Zeile 177 der Datei InputDevDlg.cpp.

{
        EndModal(::wxID_REMOVE);
}
void BoxDlg::OnRemoveClick ( wxCommandEvent &  event) [protected]

wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON

Definiert in Zeile 405 der Datei BoxDlg.cpp.

{
        EndModal(::wxID_REMOVE);
}
void OutputDevDlg::OnRemoveClick ( wxCommandEvent &  event) [private]

wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_REMOVE

Definiert in Zeile 282 der Datei OutputDevDlg.cpp.

{
        EndModal(wxID_REMOVE);
}
bool InMidiFile::Open ( ) [virtual]

Implementiert InDevice.

Definiert in Zeile 661 der Datei DevMidF.cpp.

Benutzt _(), InMidiFile::curDelta, DEBUGLOG, InMidiFile::FileType, InDevChanged, LAUFZEIT_ERROR1, InMidiFile::MMSPerQuater, InDevice::Mode, MutaborDeviceCompileError, MutaborDeviceStop, mutCloseStream, mutGetC, mutOpenIFstream, mutReadStream, mutStreamBad, mutStreamEOF, mutStreamGood, Device::Name, NRT_Speed, InMidiFile::nTrack, ReadLength(), InMidiFile::Speed, InMidiFile::StatusByte, InMidiFile::Stop(), InMidiFile::TicksPerQuater und InMidiFile::TrackPos.

{
        DEBUGLOG (other, _T("start"));
        Track = 0;
        curDelta = 0;
        TrackPos = 0;
        StatusByte = 0;
        TicksPerQuater = 0;
        MMSPerQuater = (long) 1000000;
        // Datei lesen
        mutOpenIFstream(is, Name);

        if ( mutStreamBad(is) ) {
                DEBUGLOG (other, _T("Opening Stream failed"));
                Mode = MutaborDeviceCompileError;
                InDevChanged = 1;
//              LAUFZEIT_ERROR1(_("Can not open Midi input file '%s'."), GetName());
                LAUFZEIT_ERROR1(_("Can not open Midi input file '%s'."), Name.c_str());
                return false;
        }

        // Header Chunk
        char Header[5];

        mutReadStream(is,Header, 4);

        DWORD l = ReadLength(is);

        BYTE a, b;

        // file type
        a = mutGetC(is); //mutGetC(is,a);

        FileType = mutGetC(is); //mutGetC(is,FileType);

        // number of tracks
        a = mutGetC(is); //mutGetC(is,a);

        b = mutGetC(is); // mutGetC(is,b);

        nTrack = (((int)a) << 8) + b;

        // speed info
        a = mutGetC(is); //mutGetC(is,a);

        b = mutGetC(is); //mutGetC(is,b);

        Speed = (((int)a) << 8) + b;

        NRT_Speed = Speed;

        // rest of header
        DWORD i;

        for (i = 6; i < l && !mutStreamEOF(is) && mutStreamGood(is); i++ )
                a = mutGetC(is);// mutGetC(is,a);

        // Tracks lesen
        Track = (BYTE**) malloc(nTrack*sizeof(BYTE*));

        for (i = 0; i < nTrack; i++ ) {
                mutReadStream(is,Header, 4);
                l = ReadLength(is);

                if ( l > (long) 64000 ) {
                        Mode = MutaborDeviceCompileError;
                        InDevChanged = 1;
                        LAUFZEIT_ERROR1(_("Midi input file '%s' is to long."), Name.c_str());
                        DEBUGLOG (other, _T("Midi input file '%s' is too long."),Name.c_str());
                        return false;
                }

                Track[i] = (BYTE*)malloc(l*sizeof(BYTE));

                if ( l > 32000 ) {
                        mutReadStream(is, (char*)Track[i], 32000);
                        mutReadStream(is, (char*)&Track[i][32000], l-32000);
                } else
                        mutReadStream(is, (char*)Track[i], l);

                if ( /*is.gcount() != l ||*/ mutStreamBad(is) ) {
                        DEBUGLOG (other, _("Midi input file '%s' produces errors."),
                                 Name.c_str());
                        Mode = MutaborDeviceCompileError;
                        InDevChanged = 1;
                        LAUFZEIT_ERROR1(_("Midi input file '%s' produces errors."), Name.c_str());
                        return false;
                }
        }

        mutCloseStream(is);

        // Daten vorbereiten
        curDelta = (long*)malloc(nTrack*sizeof(long));
        TrackPos = (DWORD*)malloc(nTrack*sizeof(DWORD));
        StatusByte = (BYTE*)malloc(nTrack*sizeof(BYTE));
        // Mode setzen
        Mode = MutaborDeviceStop;
        // initialisieren
        Stop();
        DEBUGLOG (other, _T("finished. Mode = %d, this = %p"),Mode,this);
        return true;
}
virtual bool InDevice::Open ( ) [pure virtual]

Implementiert in InGis, InMidiFile und InMidiPort.

virtual bool OutDevice::Open ( ) [pure virtual]

Implementiert in OutGis, OutMidiFile und OutMidiPort.

bool OutMidiFile::Open ( ) [virtual]

Implementiert OutDevice.

Definiert in Zeile 293 der Datei DevMidF.cpp.

Benutzt Track::Data und OutMidiFile::Tracks.

{
        Tracks.Data->Flush();
        return true;
}
bool InGis::Open ( ) [virtual]

Implementiert InDevice.

Definiert in Zeile 247 der Datei DevGIS.cpp.

Benutzt C_STR, compiler_warning(), InGis::Data, DEBUGLOG, GisParse(), GspError, GspErrorLineNr, GspErrorPos, GspErrorText, InGis::Head, InDevChanged, InDevice::Mode, MutaborDeviceCompileError, mutC_STR, Device::Name und InGis::Stop().

{
        DEBUGLOG (other, _T(""));
        Data = GisParse(Name);

        if ( GspError ) {
                /* //4    *Echo << "\n  Parsing interupted !\n";
                    *Echo << "  ErrorNr: " << GspError << " - " << GspErrorText[GspError] << "\n";
                    *Echo << "  Line: " << GspErrorLineNr << ", " << GspErrorPos << "\n";
                    *Echo << "  " << GspErrorLine << "\n  "; */

                DEBUGLOG (other, _T("Issuing Compiler warning 9..."));

                compiler_warning(9, C_STR(Name), GspErrorLineNr, GspErrorPos, mutC_STR(GspErrorText[GspError]));

                DEBUGLOG (other, _T("... done"));
                Mode = MutaborDeviceCompileError;
                InDevChanged = 1;
                return false;
        }

        /*  Head = new GisReadArtHead(NULL, Data, Id);
        DEBUGLOG (other, _T("Head = %p"),Head);
        Head->Box = 0; /// hier mufl noch was hin
        Head->PrevPtr = (GisReadHead **)&Head;
        //  Head->Prev = Head;
        DEBUGLOG (other, _T("Head = %p"),Head);
        // Mode setzen
        Mode = MutaborDeviceStop; 
        */
        // initialisieren
        Stop();

        DEBUGLOG (other, _T("Head = %p"),Head);

        return true;
}
int OpenFile ( const mutString &  Name)

Definiert in Zeile 62 der Datei GSP_File.cpp.

Benutzt File und mutStreamBad.

Wird benutzt von GspParse().

{
//  File = new STD_PRE::ifstream(Name, STD_PRE::ios::in/*, 0/*int = filebuf::openprot*/);
        File = new mutOpenITextStream(,Name);
#ifdef WX
        initialized = false;
        return bad=(!(File->Open()));
#else
        return mutStreamBad(*File);
#endif
}
CurrentTimer::operator long ( ) [inline]

Definiert in Zeile 566 der Datei Device.h.

        {
                return Time();
        }
CurrentTimer::operator unsigned int ( ) [inline]

Definiert in Zeile 561 der Datei Device.h.

        {
                return (unsigned int) Time();
        }
CurrentTimer& CurrentTimer::operator= ( long  t) [inline]

Definiert in Zeile 550 der Datei Device.h.

        {
                Start(t);
                return * this;
        }
bool ChannelData::operator== ( ChannelData cd) [inline]

Definiert in Zeile 163 der Datei Device.h.

Benutzt ChannelData::BankSelectLSB, ChannelData::BankSelectMSB, ChannelData::Sound und ChannelData::Sustain.

        {
                return ( Sound == -1 || cd.Sound == -1 || Sound == cd.Sound ) &&
                       ( Sustain == -1 || cd.Sustain == -1 || Sustain == cd.Sustain ) &&
                       ( BankSelectMSB == -1 || cd.BankSelectMSB == -1 || BankSelectMSB == cd.BankSelectMSB ) &&
                       ( BankSelectLSB == -1 || cd.BankSelectLSB == -1 || BankSelectLSB == cd.BankSelectLSB );
        }
void OutAddTime ( frac  time)

Definiert in Zeile 478 der Datei Device.cpp.

Benutzt OutDevice::GetDeviceList() und OutDevice::GetNext().

{
        for (OutDevice *Out = OutDevice::GetDeviceList(); Out; Out = Out->GetNext())
                Out->AddTime(time);
}
void OutClose ( )

Definiert in Zeile 472 der Datei Device.cpp.

Benutzt OutDevice::GetDeviceList() und OutDevice::GetNext().

Wird benutzt von Activate() und Stop().

{
        for (OutDevice *Out = OutDevice::GetDeviceList(); Out; Out = Out->GetNext())
                Out->Close();
}
OutDevice::OutDevice ( ) [inline]

Definiert in Zeile 278 der Datei Device.h.

Benutzt OutDevice::AppendToDeviceList().

                   :Device(),Next(this,_T("Next"))      
        {
                AppendToDeviceList(this);
        }
OutDevice::OutDevice ( int  devId,
mutString  name,
int  id = -1 
) [inline]

Definiert in Zeile 283 der Datei Device.h.

Benutzt OutDevice::AppendToDeviceList().

                                                         :Device(id, devId, name),Next(this,_T("Next")) 
        {
                AppendToDeviceList(this);
        }
void OutNotesCorrect ( int  box)

Definiert in Zeile 453 der Datei Device.cpp.

Benutzt OutDevice::GetDeviceList() und OutDevice::GetNext().

{
        for (OutDevice *Out = OutDevice::GetDeviceList(); Out; Out = Out->GetNext())
                Out->NotesCorrect(box);
}
bool OutOpen ( )

Definiert in Zeile 459 der Datei Device.cpp.

Benutzt OutDevice::GetDeviceList() und OutDevice::GetNext().

Wird benutzt von Activate().

{
        for (OutDevice *Out = OutDevice::GetDeviceList(); Out; Out = Out->GetNext())
                if ( !Out->Open() ) {
                        for (OutDevice *Out1 = OutDevice::GetDeviceList(); Out1 && Out1 != Out; Out1 = Out1->GetNext())
                                Out1->Close();

                        return false;
                }

        return true;
}
void Route::OutputAvoidDrumChannel ( bool  avoid) [inline]

Definiert in Zeile 347 der Datei Route.h.

Benutzt Route::ONoDrum.

        {
                ONoDrum = avoid;
        }
bool Route::OutputAvoidDrumChannel ( ) const [inline]
OutputDevDlg::OutputDevDlg ( wxWindow *  parent = NULL)

Constructors.

Definiert in Zeile 84 der Datei OutputDevDlg.cpp.

Benutzt OutputDevDlg::Create().

{
        Create(parent, id, caption, pos, size, style);
}
virtual void OutDevice::Panic ( ) [inline, virtual]

Erneute Implementation in OutMidiPort.

Definiert in Zeile 318 der Datei Device.h.

Wird benutzt von Panic().

{};
void InMidiFile::Pause ( ) [virtual]

Implementiert InDevice.

Definiert in Zeile 824 der Datei DevMidF.cpp.

Benutzt InDevice::Mode, MutaborDevicePause, InDevice::Quite(), RealTime und InMidiFile::timer.

Wird benutzt von InMidiFile::Stop().

{
        if ( RealTime )
                timer.Stop();

        //    timeKillEvent(TimerId);
        Mode = MutaborDevicePause;

        Quite();
}
virtual void InDevice::Pause ( ) [pure virtual]

Implementiert in InGis, InMidiFile und InMidiPort.

Wird benutzt von InDeviceAction().

void InGis::Pause ( ) [virtual]

Implementiert InDevice.

Definiert in Zeile 343 der Datei DevGIS.cpp.

Benutzt InDevice::Mode, MutaborDevicePause, InDevice::Quite() und InGis::timer.

Wird benutzt von InGis::Stop().

{
        timer.Stop();
        Mode = MutaborDevicePause;
        Quite();
}
void InGis::Play ( ) [virtual]

Implementiert InDevice.

Definiert in Zeile 336 der Datei DevGIS.cpp.

Benutzt InGis::Busy, InDevice::Mode, MutaborDevicePlay und InGis::timer.

{
        timer.Start(2,wxTIMER_CONTINUOUS);
        Busy = FALSE;
        Mode = MutaborDevicePlay;
}
virtual void InDevice::Play ( ) [pure virtual]

Implementiert in InGis, InMidiFile und InMidiPort.

Wird benutzt von InDeviceAction().

void InMidiFile::Play ( ) [virtual]

Implementiert InDevice.

Definiert in Zeile 813 der Datei DevMidF.cpp.

Benutzt InMidiFile::Busy, InDevice::Mode, MutaborDevicePlay, RealTime und InMidiFile::timer.

{
        if ( RealTime )
                timer.Start(2,wxTIMER_CONTINUOUS);

        //    TimerId = timeSetEvent(2, 1, MidiTimeFunc, (DWORD)this, TIME_PERIODIC);
        Busy = FALSE;

        Mode = MutaborDevicePlay;
}
void PrintBox ( wxDC &  dc,
int  xm,
int  ym,
int  nr,
char  active,
int  x3 
)

Definiert in Zeile 202 der Datei MutRouteWnd.cpp.

Benutzt BACKGROUND, BoxColor(), xb, xz, yb und yr.

Wird benutzt von MutRouteWnd::OnDraw().

{
        if ( nr == -2 )
                return;

        wxString s(_T("x"));
        if ( nr >= 0 )
                s.Printf(_T("%d"), nr);
        wxBrush Brush = wxBrush(BoxColor(nr));
        dc.SetBrush(Brush);

        if ( !active ) {
                int xv = (x3+xb+2*xz) / 4, yv = (yb+yr) / 4;
                dc.SetPen(wxPen(BACKGROUND, 1));
                dc.DrawLine(xm, ym, xm-xv, ym);
                dc.SetPen(*wxBLACK_PEN);
                dc.DrawLine(xm-xv, ym, xm-xv, ym+yv);
                dc.DrawLine(xm-xv, ym+yv, xm+xv, ym+yv);
                dc.DrawLine(xm+xv, ym+yv, xm+xv, ym);
        } else
                dc.SetPen(wxPen(*wxBLACK, 2));

        dc.DrawRectangle(xm-xb/2, ym-yb/2, xb, yb);
        dc.SetPen(wxNullPen);
        dc.SetBrush(wxNullBrush);
        wxCoord w, h;
        dc.GetTextExtent(s, &w, &h);
        dc.SetBackgroundMode(wxTRANSPARENT);
        dc.DrawText(s, xm - w/2, ym-h/2);
        dc.SetBackgroundMode(wxSOLID);
}
void InMidiFile::Proceed ( DWORD  midiCode,
int  track 
) [protected]

Definiert in Zeile 1050 der Datei DevMidF.cpp.

Benutzt FLUSH_UPDATE_UI, Route::GetNext(), InDevice::GetRoutes(), InMidiFile::ProceedRoute(), RTall, RTchannel, RTelse und RTstaff.

Wird benutzt von InMidiFile::ReadMidiProceed().

{
        char DidOut = 0;

        for (Route *R = GetRoutes(); R; R = R->GetNext())
                switch ( R->Type ) {

                case RTchannel:
                        if ( R->Check(midiCode & 0x0F) ) {
                                ProceedRoute(midiCode, R);
                                DidOut = 1;
                        }

                        break;

                case RTstaff:
                        if ( R->Check(track) ) {
                                ProceedRoute(midiCode, R);
                                DidOut = 1;
                        }

                        break;

                case RTelse:
                        if ( DidOut )
                                break;

                case RTall:
                        ProceedRoute(midiCode, R);
                }

        FLUSH_UPDATE_UI;
}
void InGis::Proceed ( GisReadArtHead h,
char  turn,
Route route 
)

Definiert in Zeile 409 der Datei DevGIS.cpp.

Benutzt Route::Active, AddKey(), GisReadArtHead::Box, Route::Box, Cd, CurrentId, CurrentSep, GisReadHead::Cursor, DEBUGLOG, DeleteKey(), GetGisType(), Route::GetId(), GisReadArtHead::GetInstr(), GisReadArtHead::GetIntensity(), GisReadArtHead::GetOctave(), Route::GetOutDevice(), OutDevice::Gis(), GTNote, GTTag, GTTagBegin, GTTagEnd, GisReadHead::Id, MutaborTag(), OutDevice::NoteOff(), OutDevice::NoteOn(), GisToken::Sep, ChannelData::Sound, TTalter und TTmutabor.

Wird benutzt von InGis::ProceedRoute().

{
        wxASSERT(h->Cursor);
        CurrentId = h->Id;
        CurrentSep = h->Cursor->Sep;
        // calculate box
        int Box = route->Box;

        if ( Box == -1 )
                Box = h->Box;

        DEBUGLOG (other, _T("Id: %s, Box: %d, Sep: %s"),
                 CurrentId.c_str(), Box, CurrentSep.c_str());

        OutDevice *out = route->GetOutDevice();

        // check wether no box should be used
        if ( Box == -2 ) {
                if ( out )
                        out->Gis(h->Cursor, turn);

                return;
        }

        // proceed the token
        int Key;

        switch ( GetGisType(h->Cursor)) {

        case GTTag:

        case GTTagBegin:
                if ( ((GisTag*)(h->Cursor))->Id == TTmutabor )
                        MutaborTag(h, ((GisTag*)(h->Cursor))->Para, Box);

                if ( ((GisTag*)(h->Cursor))->Id == TTalter ) return;

                if ( out ) out->Gis(h->Cursor, turn);

                break;

        case GTTagEnd:
                if ( (((GisTagEnd*)(h->Cursor))->Begin)->Id == TTalter ) return;

                if ( out )out->Gis(h->Cursor, turn);

                break;

        case GTNote:
                Key = ((GisNote*)(h->Cursor))->GetKey();

                if ( Key == -1 ) return ;

                Key += h->GetOctave()*12;

                if ( turn != 1 && route->Active ) {
                        if ( turn )
                                DeleteKey(Box, Key, route->GetId());
                        else

                                AddKey(Box, Key, route->GetId());
                }

                if ( turn != 2 && route->GetOutDevice() ) {
                        if ( turn )
                                route->GetOutDevice()->NoteOff(Box, Key, h->GetIntensity(turn), route, 0); //4 ?? channelid aus staff
                        else {
                                Cd.Sound = h->GetInstr();
                                route->GetOutDevice()->NoteOn(Box, Key, h->GetIntensity(turn), route, 0, &Cd);
                        }
                }

                break;

        default:
                if ( out ) out->Gis(h->Cursor, turn);
        }
}
void InMidiFile::ProceedRoute ( DWORD  midiCode,
Route route 
) [protected]

Definiert in Zeile 975 der Datei DevMidF.cpp.

Benutzt Route::Active, AddKey(), ChannelData::BankSelectLSB, ChannelData::BankSelectMSB, Route::Box, InMidiFile::Cd, DEBUGLOG, DeleteKey(), Route::GetId(), Route::GetOutDevice(), MidiAnalysis(), MIDICODE, OutDevice::MidiOut(), nData, OutDevice::NoteOff(), OutDevice::NoteOn(), pData, ChannelData::Sound, OutDevice::Sustain() und ChannelData::Sustain.

Wird benutzt von InMidiFile::Proceed().

{
        
        DEBUGLOG (other, _T("Code: %x, Active: %d, Out: %x"),midiCode,
                 route->Active,
                 route->GetOutDevice());
        int Box = route->Box;
        BYTE MidiChannel = MIDICODE(0) & 0x0F;
        BYTE MidiStatus = MIDICODE(0) & 0xF0;
        DEBUGLOG (other, _T("Status: %x"), MidiStatus);

        switch ( MidiStatus ) {

        case 0x90: // Note On
                if ( MIDICODE(2) > 0 ) {
                        if ( route->Active )
                                AddKey(Box, MIDICODE(1), route->GetId());

                        if ( route->GetOutDevice() )
                                route->GetOutDevice()->NoteOn(Box, MIDICODE(1), MIDICODE(2), route,
                                                   MidiChannel, &Cd[MidiChannel]);

                        break;
                }

        case 0x80: // Note Off
                if ( route->Active )
                        DeleteKey(Box, MIDICODE(1), route->GetId());

                if ( route->GetOutDevice() )
                        route->GetOutDevice()->NoteOff(Box, MIDICODE(1), MIDICODE(2), route, MidiChannel);

                break;

        case 0xC0: // Programm Change
                Cd[MidiChannel].Sound = MIDICODE(1);

                break;

        case 0xB0:
                if ( MIDICODE(1) == 64 ) {
                        Cd[MidiChannel].Sustain = MIDICODE(2);

                        if ( route->GetOutDevice() )
                                route->GetOutDevice()->Sustain(Cd[MidiChannel].Sustain, MidiChannel);

                        break;
                } else if ( MIDICODE(1) == 0 ) { // BankSelect MSB
                        Cd[MidiChannel].BankSelectMSB = MIDICODE(2);
                        break;
                } else if ( MIDICODE(1) == 32 ) {// BankSelectLSB
                        Cd[MidiChannel].BankSelectLSB = MIDICODE(2);
                        break;
                }

        case 0xA0:

        case 0xD0: // Key Pressure, Controler, Channel Pressure
                //3 ??
                break;

        case 0xF0:
                if ( route->GetOutDevice() )
                        route->GetOutDevice()->MidiOut(pData, nData);

        }

        if ( Box >= 0 && route->Active )
                for (int i = 0; i < lMidiCode[MidiStatus >> 5]; i++) {
                        MidiAnalysis(Box, MIDICODE(0));
                        midiCode >>= 8;
                }
}
void InGis::ProceedRoute ( GisReadArtHead h,
char  turn 
)

Definiert in Zeile 488 der Datei DevGIS.cpp.

Benutzt GisReadArtHead::Box, GisReadHead::Cursor, DEBUGLOG, Route::GetNext(), InDevice::GetRoutes(), InGis::Id, GisReadHead::Id, mutChar, InGis::Proceed(), RTall, RTchannel, RTelse und RTstaff.

Wird benutzt von InGis::ReadOn().

{
        wxASSERT(h);
        wxASSERT(h->Cursor);
        DEBUGLOG (other, _T("h->Id = '%s' (%d), Id = '%s' (%d)"),
                 (h->Id).c_str(),(h->Id).Len(), Id.c_str(), Id.Len());
        mutChar staff = h->Id[mutLen(Id)];
        bool DidOut = false;
        DEBUGLOG (other, _T("staff: %d, DidOut: %d"),staff, DidOut);

        for (Route *R = GetRoutes(); R; R = R->GetNext()) {
                DEBUGLOG (other, _T("Route type: %d, DidOut: %d"),R->Type, DidOut);

                switch ( R->Type ) {

                case RTstaff:
                        if ( R->Check(staff) ) {
                                Proceed(h, turn, R);
                                DidOut = true;
                        }

                        break;

                case RTchannel:
                        if ( R->Check(h->Box) ) {
                                Proceed(h, turn, R);
                                DidOut = true;
                        }

                        break;

                case RTelse:
                        if ( DidOut )
                                break;

                case RTall:
                        Proceed(h, turn, R);
                }
        }
}
void OutMidiFile::Quite ( Route r) [virtual]

Implementiert OutDevice.

Definiert in Zeile 519 der Datei DevMidF.cpp.

Benutzt Route::Box, Route::GetId(), TAK1::id, OutMidiFile::NoteOff() und OutMidiFile::ton_auf_kanal.

{
        for (int i = 0; i < 16; i++)
                if ( (char)((ton_auf_kanal[i].id >> 16) & 0x0FF) == r->GetId() )
                        NoteOff(r->Box, ton_auf_kanal[i].id % 256, 64, r, ton_auf_kanal[i].id >> 24);
}
void InDevice::Quite ( )

Definiert in Zeile 321 der Datei Device.cpp.

Benutzt Route::GetNext().

Wird benutzt von InMidiPort::Close(), InMidiFile::Pause() und InGis::Pause().

{
        for (Route *R = Routes; R; R = R->GetNext())
                if ( R->GetOutDevice() )
                        R->GetOutDevice()->Quite(R);
}
virtual void OutDevice::Quite ( Route r) [pure virtual]

Implementiert in OutGis, OutMidiFile und OutMidiPort.

void OutMidiFile::ReadData ( wxConfigBase *  config) [virtual]

Erneute Implementation von Device.

Definiert in Zeile 526 der Datei DevMidF.cpp.

Benutzt _() und OutMidiFile::bending_range.

{
        bending_range = config->Read(_("Bending_Range"),
                                         (long)bending_range);
}
virtual void Device::ReadData ( wxConfigBase *  config) [inline, virtual]

Erneute Implementation in OutMidiFile und OutMidiPort.

Definiert in Zeile 246 der Datei Device.h.

{};
long ReadDelta ( BYTE *  data,
DWORD *  i 
)

Definiert in Zeile 547 der Datei DevMidF.cpp.

Wird benutzt von InMidiFile::ReadMidiProceed() und InMidiFile::Stop().

{
        long l = 0;
        BYTE a;

        do {
                a = data[*i];
                (*i)++;
                l = (l << 7) + (a & 0x7F);
        } while ( a & 0x80 );

        return l;
}
bool MutOutputMidiFileDeviceShape::readDialog ( OutputDevDlg out) [protected, virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 120 der Datei OutputMidiFileDeviceShape.cpp.

Benutzt MutOutputDeviceShape::device, DTMidiFile, Device::GetName(), OutDevice::GetType(), OutMidiFile::SetBendingRange(), MutOutputMidiFileDeviceShape::SetLabel() und Device::SetName().

{
        wxASSERT(device);
        wxASSERT(device->GetType() == DTMidiFile);
        wxASSERT(out);
        wxASSERT (out -> GetType() == DTMidiFile);
        wxASSERT(dynamic_cast<OutMidiFile *> (device));
        OutMidiFile * d = static_cast<OutMidiFile *>(device);
        d->SetName (out -> GetMidiFile());
        d->SetBendingRange (out -> GetMidiFileBendingRange());
        SetLabel (device->GetName());
        return true;
}
bool MutBoxShape::readDialog ( BoxDlg box) [virtual]

Erneute Implementation in NewMutBoxShape.

Definiert in Zeile 465 der Datei BoxShape.cpp.

Benutzt MutBoxShape::AddChannel(), BoxDlg::GetBoxNumber(), BoxDlg::GetBoxType(), GetChannel(), BoxDlg::GetRouteWindow(), GmnBox, NoBox und MutBoxShape::SetBoxId().

Wird benutzt von MutBoxShape::DoLeftDblClick().

                                          {
        wxASSERT(box);
        if (!box) return false;
        int type = box->GetBoxType();
        switch (type) {
                case NoBox:
                case GmnBox:
                        SetBoxId(type);
                        break;
                default:
                        SetBoxId(box->GetBoxNumber());
                        break;
        }
        
        wxWindow * routeWindow = box->GetRouteWindow();
        wxASSERT(routeWindow);
        if (!routeWindow) {
                return false;
        }
        
        wxWindowList & routePanels = routeWindow->GetChildren();
        for (wxWindowList::iterator i = routePanels.begin(); 
             i != routePanels.end(); i++) {
                RoutePanel * panel = dynamic_cast<RoutePanel *> (*i);
                if (!panel) continue;
                wxASSERT(dynamic_cast<RoutePanel *> (*i));
                MutBoxChannelShape * channel = panel -> GetChannel();
                if (!channel && panel->IsEnabled()) 
                        channel = AddChannel(panel);
                if (channel) {
                        channel -> ReadPanel(panel);
                }
        }
        return true;
}
bool MutInputMidiFileDeviceShape::readDialog ( InputDevDlg in) [protected, virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 81 der Datei InputMidiFileDeviceShape.cpp.

Benutzt MutInputDeviceShape::device, DTMidiFile, Device::GetName(), InDevice::GetType(), MutInputMidiFileDeviceShape::SetLabel() und Device::SetName().

{
        wxASSERT(device);
        wxASSERT(device->GetType() == DTMidiFile);
        wxASSERT(in);
        wxASSERT (in -> GetType() == DTMidiFile);
        device->SetName (in -> GetMidiFile());
        SetLabel (device->GetName());
        return true;
}
virtual bool NewMutBoxShape::readDialog ( BoxDlg box) [inline, virtual]

Erneute Implementation von MutBoxShape.

Definiert in Zeile 140 der Datei NewBoxShape.h.

Benutzt UNREACHABLEC.

        { 
                UNREACHABLEC;
                return false; 
        }       
bool MutInputGuidoFileDeviceShape::readDialog ( InputDevDlg in) [protected, virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 165 der Datei InputGuidoFileDeviceShape.cpp.

Benutzt DEBUGLOG, MutInputDeviceShape::device, DTGis, Device::GetName(), InDevice::GetType(), MutInputGuidoFileDeviceShape::SetLabel() und Device::SetName().

{
        wxASSERT(device);
        wxASSERT(device->GetType() == DTGis);
        wxASSERT(in);
        wxASSERT (in -> GetType() == DTGis);
        DEBUGLOG (other,_T ("File %s"),  (in -> GetGUIDOFile()).c_str());
        device->SetName (in -> GetGUIDOFile());
        SetLabel (device->GetName());
        return true;
}
virtual bool MutInputDeviceShape::readDialog ( InputDevDlg in) [inline, protected, virtual]

Erneute Implementation in MutInputGuidoFileDeviceShape, MutInputMidiDeviceShape und MutInputMidiFileDeviceShape.

Definiert in Zeile 184 der Datei InputDeviceShape.h.

Wird benutzt von MutInputDeviceShape::DoLeftDblClick().

                                                   { 
                wxASSERT (false);
                return false; 
        }
bool MutOutputGuidoFileDeviceShape::readDialog ( OutputDevDlg out) [protected, virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 80 der Datei OutputGuidoFileDeviceShape.cpp.

Benutzt DEBUGLOG, MutOutputDeviceShape::device, DTGis, Device::GetName(), OutDevice::GetType(), MutOutputGuidoFileDeviceShape::SetLabel() und Device::SetName().

{
        wxASSERT(device);
        wxASSERT(device->GetType() == DTGis);
        wxASSERT(out);
        wxASSERT (out -> GetType() == DTGis);
        DEBUGLOG (other,_T ("File %s"),  (out -> GetGUIDOFile()).c_str());
        device->SetName (out -> GetGUIDOFile());
        SetLabel (device->GetName());
        return true;
}
bool MutInputMidiDeviceShape::readDialog ( InputDevDlg in) [protected, virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 91 der Datei InputMidiDeviceShape.cpp.

Benutzt MutInputDeviceShape::device, DTMidiPort, InMidiPort::GetName(), InDevice::GetType(), InMidiPort::SetDevId() und MutInputDeviceShape::SetLabel().

{
        wxASSERT(device);
        wxASSERT(device->GetType() == DTMidiPort);
        wxASSERT(in);
        wxASSERT (in -> GetType() == DTMidiPort);
        InMidiPort * dev = dynamic_cast<InMidiPort *> (device);
        if (!dev) return false;
        wxASSERT (dev);
        dev->SetDevId (in -> GetMidiDevice());
        SetLabel (dev->GetName());
        return true;
}
bool MutOutputMidiDeviceShape::readDialog ( OutputDevDlg out) [protected, virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 123 der Datei OutputMidiDeviceShape.cpp.

Benutzt DEBUGLOG, MutOutputDeviceShape::device, DTMidiPort, OutputDevDlg::GetMidiBendingRange(), Device::GetName(), OutDevice::GetType(), OutMidiPort::SetBendingRange(), OutMidiPort::SetDevId() und MutOutputDeviceShape::SetLabel().

{
        wxASSERT(device);
        wxASSERT(device->GetType() == DTMidiPort);
        wxASSERT(out);
        wxASSERT (out -> GetType() == DTMidiPort);
        OutMidiPort * dev = dynamic_cast<OutMidiPort *> (device);
        if (!dev) return false;
        wxASSERT (dev);
        DEBUGLOG(routing,_T("New midi device: %d"),out -> GetMidiDevice());
        dev->SetDevId (out -> GetMidiDevice());
        dev->SetBendingRange (out->GetMidiBendingRange());
        SetLabel (dev->GetName());
        return true;
}
void MutInputGuidoFileDeviceShape::ReadInputFilterPanel ( wxWindow *  panel,
Route route 
) [virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 199 der Datei InputGuidoFileDeviceShape.cpp.

Benutzt GisInputFilterPanel::GetFromBox(), GisInputFilterPanel::GetFromStaff(), GisInputFilterPanel::GetRouteType(), GisInputFilterPanel::GetToBox(), GisInputFilterPanel::GetToStaff(), Route::GetType(), RTall, RTchannel, RTelse, RTstaff, Route::SetInputFrom(), Route::SetInputTo(), Route::SetType() und UNREACHABLEC.

{
        GisInputFilterPanel * pan = dynamic_cast<GisInputFilterPanel *> (panel);
        if (!pan) {
                UNREACHABLEC;
                return;
        }
        route->SetType(pan->GetRouteType());
        switch (route->GetType()) {
                case RTall:
                case RTelse:
                        // those have no data
                        break;
                case RTchannel:
                        route->SetInputFrom(pan->GetFromBox());
                        route->SetInputTo(pan->GetToBox());
                        break;
                case RTstaff:
                        route->SetInputFrom(pan->GetFromStaff());
                        route->SetInputTo(pan->GetToStaff());
                        break;
                default:
                        UNREACHABLEC;
                        break;
        }
        return;
        
}
virtual void MutInputDeviceShape::ReadInputFilterPanel ( wxWindow *  panel,
Route route 
) [inline, virtual]
void MutInputMidiDeviceShape::ReadInputFilterPanel ( wxWindow *  panel,
Route route 
) [virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 132 der Datei InputMidiDeviceShape.cpp.

Benutzt MidiInputFilterPanel::GetFromChannel(), MidiInputFilterPanel::GetFromKey(), MidiInputFilterPanel::GetRouteType(), MidiInputFilterPanel::GetToChannel(), MidiInputFilterPanel::GetToKey(), Route::GetType(), RTall, RTchannel, RTelse, RTstaff, Route::SetInputFrom(), Route::SetInputTo(), Route::SetType() und UNREACHABLEC.

{
        MidiInputFilterPanel * pan = dynamic_cast<MidiInputFilterPanel *> (panel);
        if (!pan) {
                UNREACHABLEC;
                return;
        }
        route->SetType(pan->GetRouteType());
        switch (route->GetType()) {
                case RTall:
                case RTelse:
                        // those have no data
                        break;
                case RTchannel:
                        route->SetInputFrom(pan->GetFromChannel());
                        route->SetInputTo(pan->GetToChannel());
                        break;
                case RTstaff:
                        route->SetInputFrom(pan->GetFromKey());
                        route->SetInputTo(pan->GetToKey());
                        break;
                default:
                        UNREACHABLEC;
                        break;
        }
        return;
}
void MutInputMidiFileDeviceShape::ReadInputFilterPanel ( wxWindow *  panel,
Route route 
) [virtual]
DWORD ReadLength ( mutIFstream &  is)

Definiert in Zeile 173 der Datei DevMidF.cpp.

Benutzt mutReadStream.

Wird benutzt von InMidiFile::Open().

{
        BYTE a[4];
        mutReadStream(is,(char*)a, 4);
        return (((DWORD)a[0]) << 24) + (((DWORD)a[1]) << 16) +
               (((DWORD)a[2]) << 8) + ((DWORD)a[3]);
}
long ReadLong ( int  SignAllowed)

Definiert in Zeile 329 der Datei GSP.cpp.

Benutzt CHAR0, CurrentLine, CurrentPos, DEBUGLOG2, GetSep(), mutT, NumberLength und SepPos.

Wird benutzt von ReadNote() und ReadParaNumber().

{
        long a = 0;
        NumberLength = 0;
        minus = false;

        if ( SignAllowed ) {
                DEBUGLOG2(other,_T("Sign char %c?"), CHAR0);

                if ( CHAR0 == mutT('+') ) CurrentPos++;
                else if ( CHAR0 == mutT('-') ) {
                        CurrentPos++;
                        minus = true;
                }
        }

        GetSep();

        while ( mutIsdigit(CHAR0) && !SepPos ) {
                DEBUGLOG2(other,_T("Number char %c? (a=%d)"), CHAR0, a);
                a = a*10 + (CurrentLine[CurrentPos++]-mutT('0'));
                NumberLength++;
                GetSep();
        }

        if ( minus ) return -a;

        return a;
}
long InMidiFile::ReadMidiProceed ( size_t  nr,
long  time 
) [protected]

Definiert in Zeile 882 der Datei DevMidF.cpp.

Benutzt InMidiFile::curDelta, lMidiCode, InMidiFile::minDelta, InMidiFile::MMSPerQuater, nData, NO_DELTA, InMidiFile::nTrack, pData, InMidiFile::Proceed(), ReadDelta(), RealTime, REUSE, InMidiFile::Speed, InMidiFile::StatusByte, InMidiFile::TicksPerQuater und InMidiFile::TrackPos.

Wird benutzt von InMidiFile::IncDelta().

{
        long Delta = 0;
        long OldPos;

        while ( time >= Delta ) {
                time -= Delta;
                pData = &(Track[nr][TrackPos[nr]]);
                OldPos = TrackPos[nr];
                DWORD a = Track[nr][TrackPos[nr]++];

                if ( a & 0x80 )
                        StatusByte[nr] = a;
                else {
                        TrackPos[nr]--;
                        a = StatusByte[nr];
                }

                BYTE SB = StatusByte[nr];

                if ( SB <  0xF0 ) // normaler midi code
                {
                        int l = lMidiCode[(SB >> 4) & 07];
                        int shift = 8;

                        for (int i = 1; i < l; i++)
                        {
                                a += (DWORD)Track[nr][TrackPos[nr]++] << shift;
                                shift += 8;
                        }
                }
                else if ( SB == 0xF0 || SB == 0xF7 ) // SysEx I, SysEx II
                {
                        DWORD EventLength = ReadDelta(Track[nr], &(TrackPos[nr])); // length
                        TrackPos[nr] += EventLength;
                } else if ( SB == 0xFF ) // meta event
                {
                        a += Track[nr][TrackPos[nr]++] << 8;         // event number
                        DWORD EventLength = ReadDelta(Track[nr], &(TrackPos[nr])); // length

                        if ( (a >> 8) == 0x58 ) // Time Signature
                        {
                                TicksPerQuater = Track[nr][TrackPos[nr]+2];
                        } else if ( (a >> 8) == 0x51 ) // Tempo
                        {
                                long NewMMSPerQuater =
                                        (((DWORD)Track[nr][TrackPos[nr]]) << 16) +
                                        (((DWORD)Track[nr][TrackPos[nr]+1]) << 8) +
                                        ((DWORD)Track[nr][TrackPos[nr]]);

                                for (size_t j = 0; j < nr; j++ )
                                        if ( curDelta[j] != NO_DELTA )
                                                curDelta[j] = curDelta[j] * NewMMSPerQuater / MMSPerQuater;

                                for (REUSE(size_t) j = nr+1; j < nTrack; j++ )
                                        if ( curDelta[j] != NO_DELTA && curDelta[j] >= minDelta)
                                                curDelta[j] = (curDelta[j]-minDelta) * NewMMSPerQuater / MMSPerQuater +minDelta;

                                MMSPerQuater = NewMMSPerQuater;
                        }
                        TrackPos[nr] += EventLength;
                } else if ( SB == 0xF2 ) // song position pointer
                {
                        a += Track[nr][TrackPos[nr]++] << 8;
                        a += Track[nr][TrackPos[nr]++] << 16;
                } else if ( SB == 0xF3 ) // song select
                        a += Track[nr][TrackPos[nr]++] << 8;

                // ausf¸hren
                nData = TrackPos[nr] - OldPos;

//9    if ( *((BYTE*)(&a)) < 0xF0 )
                if ( a == 0x2FFF ) {
                        TrackPos[nr] = 0xFFFFFFFF;
                        return NO_DELTA;
                } else
                        Proceed(a, nr);

                // Delta Time
                Delta = ReadDelta(Track[nr], &(TrackPos[nr]));

                if ( RealTime )
                        Delta = MMSPerQuater / 2000 * Delta / Speed;
        }

        return Delta - time;
}
int ReadNewLine ( )

Definiert in Zeile 83 der Datei GSP_File.cpp.

Benutzt CurrentLine, CurrentPos, Eof, File, GSP_MAX_LINE, GspCurrentLineNr, mutEmptyString, mutStreamBad und mutStreamEOF.

Wird benutzt von GetSep() und ReadParaStr().

{
        CurrentPos = 0;
#ifdef WX

        if ( (Eof = mutStreamEOF(*File)) || bad ) {
                CurrentLine  = mutEmptyString;
                return bad;
        }

        if (initialized)
                CurrentLine = File->GetNextLine();
        else {
                CurrentLine = File->GetFirstLine();
                initialized = true;
        }

        GspCurrentLineNr++;

        return bad;
#else

        if ( (Eof = mutStreamEOF(*File)) || mutStreamBad(*File) ) {
                CurrentLine[0] = 0;
                return mutStreamBad(*File);
        }

        File->getline(CurrentLine, GSP_MAX_LINE);

        GspCurrentLineNr++;
        return mutStreamBad(*File);
#endif
}
int ReadNote ( )

Definiert in Zeile 481 der Datei GSP.cpp.

Benutzt accedentials, CHAR0, CharIn(), CheckError(), CurrentLine, CurrentPos, DEBUGLOG2, DoError(), duration, GetSep(), GSP_MAX_LINE, IsLetter(), mutChar, mutString, mutT, Note(), octave, ReadLong() und SepPos.

Wird benutzt von DoParse().

{
        mutChar i = 0;
#ifdef WX
        mutString Name /* [GSP_MAX_LINE]*/ = wxEmptyString;
        accedentials = wxEmptyString;
#else
        mutChar Name[GSP_MAX_LINE] = mutT("");
        accedentials[0] = 0;
#endif

        GetSep();

#ifdef WX

        for (i = CurrentPos; IsLetter(CHAR0) && !SepPos; CurrentPos++)
                GetSep();

        Name = CurrentLine(i,CurrentPos-i);

        GetSep();

#else
        while ( IsLetter(CHAR0) && !SepPos ) {
                Name[i++] = CurrentLine[CurrentPos++];
                GetSep();
                mutString Name /* [GSP_MAX_LINE]*/ = mutT("");

        }

        Name[i] = 0;

#endif

        DEBUGLOG2(other,_T("SepPos: %d"),SepPos);

        if ( SepPos )
                return CheckError(Note(Name, accedentials, octave, duration));

        i = 0; // accedentials

        while ( CharIn(CHAR0, mutT("#&")) && !SepPos ) {
#ifdef WX
                accedentials += CurrentLine[CurrentPos++];
#else
                accedentials[i++] = CurrentLine[CurrentPos++];
#endif
                GetSep();
        }

#ifndef WX
        accedentials[i] = 0;

#endif

        DEBUGLOG2(other,_T("SepPos: %d"),SepPos);

        if ( SepPos )
                return CheckError(Note(Name, accedentials, octave, duration));

        int cp = CurrentPos; // octave

        int oct = ReadLong(1);

        if ( cp != CurrentPos ) octave = oct;

        if ( SepPos || !CharIn(CHAR0, mutT("/*.")) )
                return CheckError(Note(Name, accedentials, octave, duration));

        int DurOk = 0; // duration

        duration = frac(1,1);

        if ( CHAR0 == mutT('*') ) {
                DurOk = 1;
                CurrentPos++;
                duration = frac(ReadLong(0));

                if ( !duration )
                        return DoError(21); // error: nominator expected
        }

        if ( SepPos || !CharIn(CHAR0, mutT("/.")) )
                return CheckError(Note(Name, accedentials, octave, duration));

        if ( CHAR0 == mutT('/') ) {
                DurOk = 1;
                CurrentPos++;
                duration /= ReadLong(0);

                if ( !duration )
                        return DoError(22); // error: denominator expected
        }

        if ( SepPos )
                return CheckError(Note(Name, accedentials, octave, duration));

        if ( CHAR0 == mutT('.') && !DurOk )
                return DoError(23); // error: dotting wihtout duration

        frac add = duration;

        while ( CHAR0 == mutT('.') && !SepPos ) {
                add *= frac(1,2);

                duration += add;

                CurrentPos++;

                GetSep();
        }

        return CheckError(Note(Name, accedentials, octave, duration));
}
long InGis::ReadOn ( long  delta) [virtual]

Definiert in Zeile 562 der Datei DevGIS.cpp.

Benutzt GisReadHead::Boss, GisReadHead::Cursor, GisReadHead::CursorNext(), GisReadHead::CutOut(), DEBUGLOG, DEBUGLOG2, GisReadArtHead::Delta, frac::denominator(), GisReadArtHead::GetSpeedFactor(), InGis::Head, GisReadHead::Next, GisReadHead::nSub, frac::numerator(), InGis::ProceedRoute(), GisReadArtHead::Read(), GisReadHead::Time, GisReadArtHead::Time2 und GisReadHead::Turn.

Wird benutzt von InGis::IncDelta().

{
        GisReadHead **H = (GisReadHead **)&Head;
        long MinDelta = -1;

beginloop:

        //  printHeadChain(DEBUGLOG (other, _T("Head Chain:")), *H);

        while ( *H ) {

                GisReadArtHead *h = dynamic_cast<GisReadArtHead *> (*H);
                DEBUGLOG (other, _T("H = %p; h = %p"),H,
                         dynamic_cast<GisReadArtHead *>(*H));

                wxASSERT(h);
                DEBUGLOG (other, _T("h->nSub = %d"),h->nSub);

                if ( h->nSub > 0) { // header has subsGisReadHead
                        H =  &(h->Next);
                        continue;
                }

                // printHeadChain(DEBUGLOG (other, _T("Working Chain:")), *H);
                //DEBUGLOG (other, _T("Reading on with %p\n%s"), *H, (GISPrettyPrint(*Head).c_str()));

                if ( h->nSub == 0 ) { // all subs has finished
                        ProceedRoute(h, h->Turn++);   // end of segment or sequenz
                        DEBUGLOG (other, _T("CursorNext()"));
                        h->CursorNext();
                        h->Time = 0;
                        h->Delta = 0;
                }

                DEBUGLOG (other, _T("h->Delta = %d"),h->Delta);

                if ( h->Delta > 0 ) {// header in normal state
                        DEBUGLOG (other, _T("Time: %d/%d, delta: %d, speed: %d"),
                                 h->Time.numerator(),h->Time.denominator(), delta,
                                 h->GetSpeedFactor());
                        h->Time -= frac(delta, h->GetSpeedFactor());
                        h->Delta -= delta;

                        if ( h->Delta <= 0 ) {
                                ProceedRoute(h, h->Turn++);

                                if ( h->Turn == 2 ) {
                                        h->Time = h->Time2;
                                        h->Time2 = 0;
                                }

                                if ( h->Turn > 2 ) {
                                        DEBUGLOG (other, _T("CursorNext()"));
                                        h->CursorNext();
                                }
                        }

                        h->Delta = (h->GetSpeedFactor() * h->Time.numerator())

                                   / h->Time.denominator();
                        DEBUGLOG (other, _T("Time: %d/%d, Time2: %d/%d, delta: %d, speed: %d"),
                                 h->Time.numerator(),h->Time.denominator(),
                                 h->Time2.numerator(),h->Time2.denominator(),
                                 delta,
                                 h->GetSpeedFactor());
                }

                h->nSub = -1; // normal header

                // now check, wether count down Time is 0
                // if h->time = 0 then h->Cursor points to the GisToken next to proceed

                DEBUGLOG (other, _T("h->Delta = %d"),h->Delta);

                while ( h->Delta == 0 ) { // read next tokens
                        DEBUGLOG (other, _T("h->Turn = %d"),h->Turn);

                        if ( h->Turn) {
                                ProceedRoute(h, h->Turn++);
                                DEBUGLOG (other, _T("h->Delta = %d, h->Turn = %d"),h->Delta, h->Turn);

                                if ( h->Turn == 2 ) {
                                        h->Time = h->Time2;
                                        h->Time2 = 0;
                                        h->Delta = (h->GetSpeedFactor() * h->Time.numerator())
                                                   / h->Time.denominator();
                                        DEBUGLOG (other, _T("h->Delta = %d * %d / %d = %d"), h->GetSpeedFactor(),
                                                 h->Time.numerator(), h->Time.denominator(), h->Delta);
                                }

                                if ( h->Turn > 2 ) {
                                        h->CursorNext();
                                } else {
                                        DEBUGLOG2(other,_T("continue loop"));
                                        continue;
                                }
                        }

                        if ( !h->Cursor ) { // header finished, kick away
                                h->CutOut();

                                if ( h->Boss ) h->Boss->nSub--; // inform the boss

                                delete h;

                                DEBUGLOG2(other,_T("goto beginloop"));

                                goto beginloop;
                        }

                        // proceed
                        DEBUGLOG (other, _T("Proceed with Turn 0"));

                        ProceedRoute(h, 0);

                        DEBUGLOG (other, _T("h->Read()"));

                        h->Read();

                        DEBUGLOG (other, _T("Time: %d/%d, Time2: %d/%d, delta: %d"),
                                 h->Time.numerator(),h->Time.denominator(),
                                 h->Time2.numerator(),h->Time2.denominator(),
                                 delta);

                        h->Delta = (h->GetSpeedFactor() * h->Time.numerator())
                                   / h->Time.denominator();

                        DEBUGLOG (other, _T("h->Delta = %d * %d / %d = %d"), h->GetSpeedFactor(),
                                 h->Time.numerator(), h->Time.denominator(), h->Delta);

                        DEBUGLOG (other, _T("Time: %d/%d, Time2: %d/%d, delta: %d, speed: %d"),
                                 h->Time.numerator(),h->Time.denominator(),
                                 h->Time2.numerator(),h->Time2.denominator(),
                                 delta,
                                 h->GetSpeedFactor());

                        if ( h->nSub != -1 ) {
                                DEBUGLOG2(other,_T("goto beginloop"));
                                goto beginloop;
                        }

                        if ( !(h->Time) ) {// token without duration
                                DEBUGLOG (other, _T("CursorNext()"));
                                h->CursorNext();
                        }
                }

                // check MinTime
                DEBUGLOG (other, _T("h->Delta = %d, MinDelta = %d"),h->Delta,MinDelta);

                if ( MinDelta == -1 || h->Delta < MinDelta )
                        MinDelta = h->Delta;

                // next Header
                H = &(h->Next);
        }

        DEBUGLOG2(other,_T("returning %d"),MinDelta);

        return MinDelta;
}
void MutOutputMidiFileDeviceShape::ReadOutputFilterPanel ( wxWindow *  panel,
Route route 
) [virtual]
void MutOutputGuidoFileDeviceShape::ReadOutputFilterPanel ( wxWindow *  panel,
Route route 
) [virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 102 der Datei OutputGuidoFileDeviceShape.cpp.

Benutzt UNREACHABLEC.

{
        GisOutputFilterPanel * pan = dynamic_cast<GisOutputFilterPanel *> (panel);
        if (!pan) {
                UNREACHABLEC;
                return;
        }
        // Room for actions
        
}
void MutOutputMidiDeviceShape::ReadOutputFilterPanel ( wxWindow *  panel,
Route route 
) [virtual]
void MutOutputDeviceShape::ReadPanel ( OutputFilterPanel panel,
MutBoxChannelShape channel 
) [virtual]

Definiert in Zeile 359 der Datei OutputDeviceShape.cpp.

Benutzt MutOutputDeviceShape::AddRoute(), DEBUGLOG, OutputFilterPanel::GetCurrentDevicePage(), OutputFilterPanel::GetCurrentSelection(), MutBoxChannelShape::GetRoute(), MutOutputDeviceShape::ReadOutputFilterPanel(), MutOutputDeviceShape::RemoveRoute(), MutBoxChannelShape::SetOutput() und UNREACHABLEC.

Wird benutzt von MutBoxChannelShape::ReadPanel().

{
        wxASSERT(panel);
        wxASSERT(channel);
        if (!panel || !channel) return;
        DEBUGLOG(dialog,_T("Reading output device dialog"));
        
        bool active = panel->IsShown();
        
        // newShape may be NULL if the route ends at the box
        MutOutputDeviceShape * newShape = panel->GetCurrentSelection();
        Route * route = channel->GetRoute();
        if (!active) {
                RemoveRoute(route);
                channel->SetOutput(NULL);
                return;
        } else if (newShape != this) {
                RemoveRoute(route);
                channel->SetOutput(newShape,true);
                if (newShape)
                        newShape->AddRoute(route);
        }
        if (newShape) {
                wxWindow * FilterPanel = panel->GetCurrentDevicePage();
                if (!panel) {
                        UNREACHABLEC;
                        return;
                }
                newShape->ReadOutputFilterPanel(FilterPanel,route);
        }
        
}
void MutInputDeviceShape::ReadPanel ( InputFilterPanel panel,
MutBoxChannelShape channel 
) [virtual]

Definiert in Zeile 340 der Datei InputDeviceShape.cpp.

Benutzt MutInputDeviceShape::AddRoute(), InputFilterPanel::GetCurrentDevicePage(), InputFilterPanel::GetCurrentSelection(), MutBoxChannelShape::GetRoute(), MutInputDeviceShape::ReadInputFilterPanel(), MutInputDeviceShape::RemoveRoute(), MutBoxChannelShape::SetInput() und UNREACHABLEC.

Wird benutzt von MutBoxChannelShape::ReadPanel().

{
        wxASSERT(panel);
        wxASSERT(channel);
        if (!panel || !channel) return;
        
        bool active = panel->IsShown();
        
        MutInputDeviceShape * newShape = panel->GetCurrentSelection();

        Route * route = channel->GetRoute();
        if (!active) {
                RemoveRoute(route);
                channel->SetInput(NULL);
                return;
        } else if (newShape != this) {
                RemoveRoute(route);
                channel->SetInput(newShape);
                if (newShape)
                        newShape->AddRoute(route);
        }
        if (newShape) {
                wxWindow * FilterPanel = panel->GetCurrentDevicePage();
                if (!panel) {
                        UNREACHABLEC;
                        return;
                }
                newShape->ReadInputFilterPanel(FilterPanel,route);
        }
}
void MutBoxChannelShape::ReadPanel ( RoutePanel panel) [virtual]

Noch zu erledigen:
reparent box channel

TODO: consistency check

Definiert in Zeile 385 der Datei BoxChannelShape.cpp.

Benutzt MutBoxShape::AddChannel(), MutOutputDeviceShape::AddRoute(), DEBUGLOG, MutIconShape::DeleteSelf(), MutBoxShape::Detach(), MutBoxChannelShape::DetachChannel(), RoutePanel::GetActive(), Route::GetActive(), RoutePanel::GetBox(), OutputFilterPanel::GetCurrentSelection(), InputFilterPanel::GetCurrentSelection(), RoutePanel::GetInput(), RoutePanel::GetOutput(), MutBoxChannelShape::input, MutBoxChannelShape::output, MutOutputDeviceShape::ReadPanel(), MutInputDeviceShape::ReadPanel(), MutBoxChannelShape::Refresh(), MutBoxChannelShape::route, Route::SetActive(), MutBoxChannelShape::SetOutput(), STUBC und UNREACHABLEC.

Wird benutzt von MutBoxShape::AddChannel().

{
        wxASSERT(panel);
        wxASSERT(route);
        if (!panel) return;
        if (!route) return;
        
        if (!panel->IsEnabled()) {
                DetachChannel();
                DeleteSelf();
                return;
        }

        DEBUGLOG (dialog, _T("Setting route channel: old: %d; new: %d"),route->GetActive(),panel->GetActive());
        route->SetActive(panel->GetActive());
        
        MutBoxShape * box = panel->GetBox();
        if (!box) {
                box = dynamic_cast<MutBoxShape *> (GetParent());
                if (!box) UNREACHABLEC;
        } else if (box != GetParent()) {
                MutBoxShape * parent = dynamic_cast<MutBoxShape *> (GetParent());
                parent->Detach(this);
                box->AddChannel(this);
                
                STUBC;
                return;
        }
        
        InputFilterPanel * inputPanel = panel->GetInput();
        if (!inputPanel) UNREACHABLEC;
        else if (inputPanel && !input) {
                input = inputPanel->GetCurrentSelection();
                if (input) input -> AddRoute(route);
        }
        wxASSERT(inputPanel);
        if (input)
                input->ReadPanel(inputPanel,this);
        
        OutputFilterPanel * outputPanel = panel->GetOutput();
        if (!outputPanel) UNREACHABLEC;
        else if (outputPanel && !output) {
                SetOutput(outputPanel->GetCurrentSelection(),true);
                if (output) output->AddRoute(this);
        }
        if (output)
                output->ReadPanel(outputPanel,this);
        Refresh();
}
int ReadParaNumber ( )

Definiert in Zeile 360 der Datei GSP.cpp.

Benutzt CHAR0, CheckError(), CurrentPos, GetSep(), minus, mutChar, mutT, NumberLength, ReadLong(), SepPos, TagParaInt() und TagParaReal().

Wird benutzt von DoParse().

{
        long a = ReadLong(1);

        if ( SepPos || CHAR0 != mutT('.') ) // integer
                return CheckError(TagParaInt(a));

        // real
        CurrentPos++; // comma position

        GetSep();

        mutChar minus1 = minus;

        double r = (double)a;

        if ( SepPos ) // real without fraction part
                return CheckError(TagParaReal(r));

        float b = (double) ReadLong(0);

        for (int i = 1; i <= NumberLength; i++)
                b = b / 10;

        if ( minus1 ) b = -b;

        return CheckError(TagParaReal(r+b));
}
int ReadParaStr ( )

Definiert in Zeile 390 der Datei GSP.cpp.

Benutzt AddStr(), CHAR0, CHAR1, CheckError(), CurrentLine, CurrentPos, Eof, GetSep(), GSP_MAX_LINE, mutChar, mutString, mutT, NEW_LINE, ReadNewLine() und TagParaStr().

Wird benutzt von DoParse().

{
#ifdef WX
        mutString s /*[GSP_MAX_LINE]*/ = mutT("");
#else
        mutChar s[GSP_MAX_LINE] = "";
#endif
        int i = 0;
        CurrentPos++;

        while ( (CHAR0 != mutT('"') || CHAR1 == mutT('"')) && !Eof ) {
                if ( !CHAR0 ) // new Line
                {
                        ReadNewLine();
                        AddStr(s, i, NEW_LINE);
                        continue;
                }
                if ( CHAR0 == mutT('"') ) CurrentPos++;

#ifdef WX
                s += CurrentLine[CurrentPos++];

#else
                s[i++] = CurrentLine[CurrentPos++];

#endif
        }

        if ( CHAR0 == mutT('"') ) CurrentPos++;

#ifndef WX
        s[i] = 0;

#endif
        GetSep();

        return CheckError(TagParaStr(s));
}
int ReadTag ( )

Definiert in Zeile 430 der Datei GSP.cpp.

Benutzt BeginParameter(), CHAR0, CheckError(), CurrentLine, CurrentPos, EndParameter(), GetSep(), GspError, IsLetter(), LastTag, mutChar, mutString, mutT, ParaMode, SepPos und Tag().

Wird benutzt von DoParse().

{
        mutString Name/* [GSP_MAX_LINE] */ = mutT("");
        mutChar i = 0;
        LastTag = 2; // to have an indicator, wether the last token was a tag
        CurrentPos++;
        GetSep();
#ifdef WX
        i = CurrentPos;
#endif

        while ( IsLetter(CHAR0) && !SepPos ) {
#ifdef WX
                CurrentPos++;
#else
                Name[i++] = CurrentLine[CurrentPos++];
#endif
                GetSep();
        }

#ifdef WX
        Name = CurrentLine (i,CurrentPos-i);

#else
        Name[i] = 0;

#endif
        if ( !GspError ) CheckError(Tag(Name));

        if ( CHAR0 == mutT('<') ) {
                CurrentPos++;
                GetSep();

                if ( !GspError ) CheckError(BeginParameter());

                ParaMode = 1;
        }

        if ( CHAR0 == mutT('>') ) {
                CurrentPos++;
                GetSep();

                if ( !GspError ) CheckError(EndParameter());

                ParaMode = 0;
        }

        return GspError;
}
bool MutIconShape::Recompute ( ) [virtual]

Erneute Implementation in MutDeviceShape.

Definiert in Zeile 296 der Datei IconShape.cpp.

{
        return true;
}
virtual bool MutDeviceShape::Recompute ( ) [virtual]

Erneute Implementation von MutIconShape.

void MutBoxChannelShape::Refresh ( bool  eraseBackground = true,
const wxRect *  rect = NULL 
) [virtual]

Definiert in Zeile 439 der Datei BoxChannelShape.cpp.

Benutzt MutBoxChannelShape::GetMutIcon() und MutIconShape::SetIcon().

Wird benutzt von MutBoxChannelShape::ReadPanel().

                                                                         {
        if (!rect) {
                SetIcon(GetMutIcon());
        }
        MutIconShape::Refresh(eraseBackground,rect);
}
void RouteRemoveButton::RemoveButtonPressed ( wxCommandEvent &  event) [protected]

Definiert in Zeile 295 der Datei BoxDlg.cpp.

Benutzt RouteRemoveButton::EnableRoute() und RouteRemoveButton::panel.

{
        if (panel) 
                EnableRoute(!panel->IsEnabled());
}
void OutDevice::RemoveFromDeviceList ( OutDevice dev) [static, protected]

Definiert in Zeile 184 der Datei Device.cpp.

Benutzt OutDevice::GetNext() und OutDevice::SetNext().

Wird benutzt von OutDevice::Destroy().

{
        if (!deviceList) return;
        
        if (deviceList == dev) {
                deviceList = dev -> GetNext(); 
                dev -> SetNext(NULL);
                return;
        }
        
        OutDevice * d = deviceList ;
        while (d -> GetNext() != dev && d -> GetNext()) d = d -> GetNext();
        if (d -> GetNext()) {
                d -> SetNext(dev -> GetNext());
                dev -> SetNext(NULL);
        }
}
void InDevice::RemoveFromDeviceList ( InDevice dev) [static, protected]

Definiert in Zeile 412 der Datei Device.cpp.

Benutzt InDevice::GetNext(), umstimmung::next und InDevice::SetNext().

Wird benutzt von InDevice::Destroy().

{
        if (!deviceList) return;
        
        if (deviceList == dev) {
                deviceList = dev -> GetNext(); 
                dev -> SetNext(NULL);
                return;
        }

        InDevice * d = deviceList, *next ;
        while ((next = d->GetNext()) != dev && next) d = next;
        if (next) {
                d->SetNext(dev -> GetNext());
                dev -> SetNext(NULL);
        }
}
void Route::RemoveFromRouteList ( Route route) [static, protected]

Definiert in Zeile 157 der Datei Route.cpp.

Wird benutzt von Route::~Route().

{
        if (!routeList) return;
        
        if (routeList == route) {
                routeList = route -> globalNext; 
                route -> globalNext = NULL;
                return;
        }
        
        Route * d = routeList;
        while (d -> globalNext != route && d -> globalNext) d = d -> globalNext;
        if (d -> globalNext) {
                d -> globalNext = (route -> globalNext);
                route -> globalNext = NULL;
        }
}
void MutOutputDeviceShape::RemoveRoute ( Route route) [virtual]

Definiert in Zeile 177 der Datei OutputDeviceShape.cpp.

Benutzt MutBoxChannelShape::GetOutput(), MutBoxChannelShape::GetRoute(), Route::getUserData(), MutOutputDeviceShape::routes und MutBoxChannelShape::SetOutput().

Wird benutzt von MutBoxChannelShape::DetachChannel(), MutOutputDeviceShape::DetachDevice(), MutOutputDeviceShape::ReadPanel(), MutOutputDeviceShape::RemoveRoute() und MutOutputDeviceShape::replaceSelfBy().

{
        wxASSERT(route);
        MutBoxChannelShape * channel = (MutBoxChannelShape *)route->getUserData();
        wxASSERT(dynamic_cast<MutBoxChannelShape *>(channel));
        wxASSERT(channel->GetRoute() == route);
        wxASSERT(channel->GetOutput() == this);
        
        channel->SetOutput(NULL, channel->GetOutput()==this);
        MutBoxChannelShapeList::iterator i;
        for (i = routes.begin(); i != routes.end(); i++) if (*i == channel) break;
//      if (i == routes.end()) return;
        routes.erase(i);
}
void MutInputDeviceShape::RemoveRoute ( Route route) [virtual]

Definiert in Zeile 154 der Datei InputDeviceShape.cpp.

Benutzt MutInputDeviceShape::device, Route::GetNext(), MutInputDeviceShape::getRoutes(), Route::SetNext() und InDevice::SetRoute().

Wird benutzt von MutBoxChannelShape::DetachChannel(), MutInputDeviceShape::DetachDevice() und MutInputDeviceShape::ReadPanel().

                                                   {
        if (!route) return;
        Route * r = getRoutes();
        if (!r) return;

        if (r == route) {
                device->SetRoute(route->GetNext());
                route->SetNext(NULL);
                return;
        }
        
        do {
                if (r->GetNext() == route) {
                        r->SetNext(route->GetNext());
                        route->SetNext(NULL);
                        return;
                }
        } while ((r = r->GetNext()));
        wxASSERT(!r);
}
Route * InDevice::ReplaceDevice ( InDevice dev) [virtual]

Definiert in Zeile 328 der Datei Device.cpp.

Benutzt InDevice::GetDeviceList(), InDevice::GetNext(), InDevice::GetRoutes() und InDevice::SetRoute().

Wird benutzt von MutInputDeviceShape::replaceSelfBy().

{
        // we don't replace the position in the device list since it is
        // already appended and we don't rely on the order in this list.
#ifdef DEBUG
        if (debugFlags::flags[debugFlags::routing]) {
                InDevice * test = GetDeviceList();
                while (test && test != dev) test = test->GetNext();
                wxASSERT(test);
        }
#endif
        SetRoute(dev->GetRoutes());
        dev -> SetRoute(NULL);
        return GetRoutes();
}
bool MutOutputDeviceShape::replaceSelfBy ( MutOutputDeviceShape newshape) [protected, virtual]

Erneute Implementation in MutNewOutputDeviceShape.

Definiert in Zeile 319 der Datei OutputDeviceShape.cpp.

Benutzt MutOutputDeviceShape::AddRoute(), DEBUGLOG, MutOutputDeviceShape::device, Route::GetOutDevice(), MutBoxChannelShape::GetRoute(), Device::getUserData(), MutOutputDeviceShape::RemoveRoute(), MutOutputDeviceShape::routes, MutIconShape::SetFocus() und MutBoxChannelShape::SetOutput().

Wird benutzt von MutOutputDeviceShape::DoLeftDblClick().

{
        wxASSERT (newshape);
        wxASSERT (newshape->device);

        DEBUGLOG (routing, _T(""));
        
        for(MutBoxChannelShapeList::iterator i = routes.begin(); i!=routes.end(); i = routes.begin())
        {
                DEBUGLOG (routing, _T("this = %p ; newshape = %p ; device = %p ; newshape->device = %p ; boxchannel = %p"),
                          this,newshape,device, newshape->device, (*i));
                MutBoxChannelShape * channel = *i;
                wxASSERT(channel->GetRoute()->GetOutDevice() == device);
                RemoveRoute(channel);
                channel->SetOutput(newshape,true);
                wxASSERT(channel->GetRoute()->GetOutDevice() == newshape->device);
                wxASSERT(channel->GetRoute()->GetOutDevice()->getUserData() == newshape);
                newshape->AddRoute(channel);
        }

        DEBUGLOG (routing, _T(""));
        device -> Destroy();
        device = NULL;
       
        newshape->MoveBeforeInTabOrder (this);

        wxSizer * sizer = GetContainingSizer();
        sizer -> Replace (this, newshape, false);
        
        if (FindFocus()==this) {
                m_parent->Layout();
                m_parent->FitInside();
                m_parent->SetVirtualSize(wxDefaultSize);
                newshape->SetFocus();
        }

        Hide();
        return true;
}
bool MutNewOutputDeviceShape::replaceSelfBy ( MutOutputDeviceShape newshape) [protected, virtual]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 71 der Datei NewOutputDeviceShape.cpp.

Benutzt MutRouteWnd::AddOutputDevice(), MutOutputDeviceShape::sizerFlags und UNREACHABLEC.

{
        MutRouteWnd * p = dynamic_cast<MutRouteWnd *> (m_parent);
        if (!p) UNREACHABLEC;
        // the "New device" icon won't be replaced, so we just append the device
        p->AddOutputDevice(newshape,sizerFlags);
        return false;
}
bool MutInputDeviceShape::replaceSelfBy ( MutInputDeviceShape newshape) [protected, virtual]

Erneute Implementation in MutNewInputDeviceShape.

Definiert in Zeile 303 der Datei InputDeviceShape.cpp.

Benutzt InDevice::Destroy(), MutInputDeviceShape::device, MutBoxChannelShape::GetInput(), Route::GetNext(), InDevice::ReplaceDevice(), MutIconShape::SetFocus() und MutBoxChannelShape::SetInput().

Wird benutzt von MutInputDeviceShape::DoLeftDblClick().

{
        wxASSERT (newshape);
        wxASSERT (newshape->device);

        for(Route * route = newshape->device->ReplaceDevice (device);
            route; route = route->GetNext()) 
        {
                void * p = route->getUserData();
                wxASSERT (wxDynamicCast (p,MutBoxChannelShape));
                MutBoxChannelShape * channel = (MutBoxChannelShape *) p;

                wxASSERT (channel->GetInput() == this);
                channel->SetInput (newshape);

                
        }

        device->Destroy();
        device = NULL;

        newshape->MoveBeforeInTabOrder (this);

        wxSizer * sizer = GetContainingSizer();
        sizer -> Replace (this, newshape, false);

        if (FindFocus()==this) {
                m_parent->Layout();
                m_parent->FitInside();
                m_parent->SetVirtualSize(wxDefaultSize);
                newshape->SetFocus();
        }
        
        Hide(); 
        return true;
}
bool MutBoxShape::replaceSelfBy ( MutBoxShape newshape) [virtual]

Erneute Implementation in NewMutBoxShape.

Definiert in Zeile 501 der Datei BoxShape.cpp.

Benutzt UNREACHABLEC.

Wird benutzt von MutBoxShape::DoLeftDblClick().

{
        wxASSERT (newshape);
        
        // this is only used in NewMutBoxShape so far.
        // But we need it, when we implement other Box types
        UNREACHABLEC;
        
/*
        for(Route * route = newshape->device->ReplaceDevice (device);
            route; route = route->Next) 
        {
                void * p = route->getUserData();
                wxASSERT (wxDynamicCast (p,MutBoxChannelShape));
                MutBoxChannelShape * channel = (MutBoxChannelShape *) p;
                
                wxASSERT (channel->GetInput() == this);
                channel->SetInput (newshape);
                
                
        }
        
        delete device;
        device = NULL;
        
        newshape->MoveBeforeInTabOrder (this);
        
        wxSizer * sizer = GetContainingSizer();
        sizer -> Replace (this, newshape, false);
        
        if (FindFocus()==this) {
                m_parent->Layout();
                m_parent->FitInside();
                m_parent->SetVirtualSize(wxDefaultSize);
                newshape->SetFocus();
        }
        
        Hide(); 
        return true;
 */
        return false;
}
bool NewMutBoxShape::replaceSelfBy ( MutBoxShape newshape) [virtual]

Erneute Implementation von MutBoxShape.

Definiert in Zeile 135 der Datei NewBoxShape.cpp.

Benutzt MutRouteWnd::AddBox() und MutBoxShape::sizerFlags.

{
        MutRouteWnd * p = dynamic_cast<MutRouteWnd *> (m_parent);
        wxASSERT(p);
        // the "New device" icon won't be replaced, so we just append the device
        p->AddBox(newshape,sizerFlags);
        return false;
}
bool MutNewInputDeviceShape::replaceSelfBy ( MutInputDeviceShape newshape) [protected, virtual]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 75 der Datei NewInputDeviceShape.cpp.

Benutzt MutRouteWnd::AddInputDevice() und MutInputDeviceShape::sizerFlags.

{
        MutRouteWnd * p = dynamic_cast<MutRouteWnd *> (m_parent);
        wxASSERT(p);
        // the "New device" icon won't be replaced, so we just append the device
        p->AddInputDevice(newshape,sizerFlags);
        return false;
}
void ChannelData::Reset ( ) [inline]
Route::Route ( InDevice in = NULL,
OutDevice out = NULL,
RouteType  type = RTall,
int  iFrom = -1,
int  iTo = -1,
int  box = -1,
bool  active = false,
int  oFrom = -1,
int  oTo = -1,
bool  oNoDrum = true,
Route next = 0 
) [inline]

Definiert in Zeile 174 der Datei Route.h.

Benutzt Route::Active, Route::AppendToRouteList(), Route::Box, Route::Id, Route::IFrom, Route::ITo, Route::NextRouteId(), Route::OFrom, Route::ONoDrum, Route::OTo und Route::Type.

Wird benutzt von Route::LoadRoutes().

                              :userdata(this,_T("userdata")),
        Next(this,_T("Next"),next),
        Out(this,_T("Out"),out),
        In(this,_T("In"),in),
        globalNext(this,_T("Global Next"),NULL)
        {
                Type = type;
                IFrom = iFrom;
                ITo = iTo;
                Box = box;
                Active = active;
                OFrom = oFrom;
                OTo = oTo;
                ONoDrum = oNoDrum;
                Id = NextRouteId();
                AppendToRouteList(this);
        }
void Track::Save ( mutOFstream &  os)

Definiert in Zeile 212 der Datei DevMidF.cpp.

Benutzt Track::Data, mutPutC, mutWriteStream und WriteLength().

Wird benutzt von OutMidiFile::Close().

{
        mutWriteStream(os,"MTrk",4);
        WriteLength(os, Data->GetItemsInContainer()+4);

        for (DWORD i = 0; i < Data->GetItemsInContainer(); i++)
                mutPutC(os,(BYTE)(*Data)[i]);

        mutPutC(os,(BYTE)0x00);

        mutPutC(os,(BYTE)0xFF);

        mutPutC(os,(BYTE)0x2F);

        mutPutC(os,(BYTE)0x00);
}
void OutGis::Save ( tree_storage config,
const Route route 
) [virtual]

Save route settings (filter settings) for a given route.

Some route settings (e.g. filter settings) are device type specific. This function saves them in a tree storage. config (tree_storage *) Storage class, where the data will be saved. route (Route *) Route whos data shall be saved.

Implementiert Device.

Definiert in Zeile 183 der Datei DevGIS.cpp.

Benutzt STUBC.

{
        STUBC;
}
virtual void Device::Save ( tree_storage config,
const Route route 
) [pure virtual]

Save route settings (filter settings) for a given route.

Some route settings (e.g. filter settings) are device type specific. This function saves them in a tree storage. config (tree_storage *) Storage class, where the data will be saved. route (Route *) Route whos data shall be saved.

Implementiert in OutGis, InGis, OutMidiFile, InMidiFile, OutMidiPort und InMidiPort.

void InGis::Save ( tree_storage config) [virtual]

Save current device settings in a tree storage.

config (tree_storage) storage class, where the data will be saved.

Implementiert Device.

Definiert in Zeile 212 der Datei DevGIS.cpp.

Benutzt Device::Name und tree_storage::Write().

{
        config.Write(_T("File Name"),Name);
}
void InGis::Save ( tree_storage config,
const Route route 
) [virtual]

Save route settings (filter settings) for a given route.

Some route settings (e.g. filter settings) are device type specific. This function saves them in a tree storage. config (tree_storage *) Storage class, where the data will be saved. route (Route *) Route whos data shall be saved.

Implementiert Device.

Definiert in Zeile 223 der Datei DevGIS.cpp.

{
}
void InMidiFile::Save ( tree_storage config,
const Route route 
) [virtual]

Save route settings (filter settings) for a given route.

Some route settings (e.g. filter settings) are device type specific. This function saves them in a tree storage. config (tree_storage *) Storage class, where the data will be saved. route (Route *) Route whos data shall be saved.

Implementiert Device.

Definiert in Zeile 575 der Datei DevMidF.cpp.

Benutzt Route::IFrom, Route::ITo, RTall, RTchannel, RTelse, RTstaff, Route::Type und tree_storage::Write().

{
        config.Write(_T("Filter Type"), route->Type);
        switch(route->Type) {
                case RTchannel: 
                        config.Write(_T("Channel From"), route->IFrom);
                        config.Write(_T("Channel To"), route->ITo);
                        break;
                case RTstaff:
                        config.Write(_T("Track From"), route->IFrom);
                        config.Write(_T("Track To"), route->ITo);
                        break;
                case RTelse:
                case RTall:
                        break;
        }
                        
}
void OutMidiFile::Save ( tree_storage config,
const Route route 
) [virtual]

Save route settings (filter settings) for a given route.

Some route settings (e.g. filter settings) are device type specific. This function saves them in a tree storage. config (tree_storage *) Storage class, where the data will be saved. route (Route *) Route whos data shall be saved.

Implementiert Device.

Definiert in Zeile 246 der Datei DevMidF.cpp.

Benutzt Route::OFrom, Route::ONoDrum, Route::OTo und tree_storage::Write().

{
        wxASSERT(route);
        config.Write(_T("Avoid Drum Channel"), route->ONoDrum);
        config.Write(_T("Channel Range From"), route->OFrom);
        config.Write(_T("Channel Range To"), route->OTo);
}
void InMidiFile::Save ( tree_storage config) [virtual]

Save current device settings in a tree storage.

config (tree_storage) storage class, where the data will be saved.

Implementiert Device.

Definiert in Zeile 564 der Datei DevMidF.cpp.

Benutzt Device::Name und tree_storage::Write().

{
        config.Write(_T("File Name"),Name);
}
void Route::Save ( tree_storage config) [virtual]

Write the route settings into a tree based configuration.

config (tree_storage &) configuration where the route settings will be stored

Definiert in Zeile 66 der Datei Route.cpp.

Benutzt Route::Active, Route::Box und tree_storage::Write().

Wird benutzt von Route::SaveRoutes().

{
        config.Write(_T("Box"),Box);
        config.Write(_T("Active"),Active);
        if (In)
                ((InDevice *)In)->Save(config,this);
        if (Out)
                ((OutDevice *) Out)->Save(config,this);
}
void OutMidiFile::Save ( tree_storage config) [virtual]

Save current device settings in a tree storage.

config (tree_storage) storage class, where the data will be saved.

Implementiert Device.

Definiert in Zeile 234 der Datei DevMidF.cpp.

Benutzt OutMidiFile::bending_range, Device::Name und tree_storage::Write().

{
        config.Write(_T("Bending Range"),bending_range);
        config.Write(_T("File Name"),Name);
}
virtual void Device::Save ( tree_storage config) [pure virtual]

Save current device settings in a tree storage.

config (tree_storage) storage class, where the data will be saved.

Implementiert in OutGis, InGis, OutMidiFile, InMidiFile, OutMidiPort und InMidiPort.

Wird benutzt von InDevice::SaveDevices() und OutDevice::SaveDevices().

void OutGis::Save ( tree_storage config) [virtual]

Save current device settings in a tree storage.

config (tree_storage) storage class, where the data will be saved.

Implementiert Device.

Definiert in Zeile 172 der Datei DevGIS.cpp.

Benutzt Device::Name und tree_storage::Write().

{
        config.Write(_T("File Name"),Name);
}
void OutDevice::SaveDevices ( tree_storage config) [static]

Definiert in Zeile 128 der Datei Device.cpp.

Benutzt OutDevice::GetDeviceList(), Device::GetId(), OutDevice::GetNext(), Device::Save(), tree_storage::toLeaf(), tree_storage::toParent() und tree_storage::Write().

Wird benutzt von SaveRoutes().

{
        config.toLeaf(_T("OutDevices"));
        
        for (OutDevice * out = GetDeviceList(); out; out = out->GetNext()) {
                config.toLeaf(_T("Device"),static_cast<Device *>(out)->GetId());
                config.Write(_T("Type"),out->GetType());
                config.Write(_T("Type Name"),out->GetTypeName());
                out -> Save (config);
                config.toParent();
        }
        
        config.toParent();
}
void InDevice::SaveDevices ( tree_storage config) [static]

Save the current devices in a tree based storage.

This function saves all input devices in a tree storage. config (tree_storage &) storage driver to use for saving.

Definiert in Zeile 357 der Datei Device.cpp.

Benutzt InDevice::GetDeviceList(), InDevice::GetNext(), Device::Save(), tree_storage::toLeaf(), tree_storage::toParent() und tree_storage::Write().

Wird benutzt von SaveRoutes().

{
        config.toLeaf(_T("InDevices"));
        
        for (InDevice * in = GetDeviceList(); in; in = in->GetNext()) {
                config.toLeaf(_T("Device"),in->Device::GetId());
                config.Write(_T("Type"),in->GetType());
                config.Write(_T("Type Name"),in->GetTypeName());
                in -> Save (config);
                config.toParent();
        }
        
        config.toParent();
}
void SavePos ( )
void SaveRoutes ( tree_storage config)

write the routes to the configuration

Parameter:
configconfiguration to be written to

Definiert in Zeile 373 der Datei Route.cpp.

Benutzt tree_storage::DeleteGroup(), Route::InitializeIds(), OutDevice::SaveDevices(), InDevice::SaveDevices(), Route::SaveRoutes(), tree_storage::toLeaf() und tree_storage::toParent().

Wird benutzt von MutRouteWnd::CmRouteSave(), SaveRoutes() und MutApp::SaveState().

{
        config.DeleteGroup(_T("Routing"));
        
        config.toLeaf(_T("Routing"));
        
        // clean configuration
        // delete unused output devices
        Route::InitializeIds();
        
        InDevice::SaveDevices(config);
        OutDevice::SaveDevices(config);
        Route::SaveRoutes(config);
        
        config.toParent();
}
void compat30::SaveRoutes ( mutStringRef  )

write the routes to the given string

Parameter:
configstring to be written to

reimplement WriteRoutes

Definiert in Zeile 311 der Datei RouteCompat.cpp.

Benutzt _(), DEBUGLOG2, DTGis, DTMidiFile, DTMidiPort, DTNotSet, DTUnknown, OutMidiFile::GetBendingRange(), OutMidiPort::GetBendingRange(), InDevice::GetDeviceList(), OutDevice::GetDeviceList(), Device::GetDevId(), Device::GetId(), Device::GetName(), Route::GetNext(), InDevice::GetNext(), OutDevice::GetNext(), InDevice::GetRoutes(), InDevice::GetType(), OutDevice::GetType(), Route::InitializeIds(), MidiOut(), RTName, STUB und UNREACHABLE.

        {
                STUB;

                Route::InitializeIds();
        
                // clean config
                config = wxEmptyString;
                // remove unused output devices
                OutDevice *Out;
                InDevice *In;
        
                // Output schreiben
                config << _T("OUTPUT\n");
        
                for ( Out = OutDevice::GetDeviceList(); Out; 
                      Out = Out->GetNext()) {

                  wxString sName = Out->GetName();
                        
                        if ( sName.Find(_T(" ")) )
                                sName.Prepend(_T("\"")) << _T("\"");
                
                        switch ( Out->GetType() ) {
                                        
                                case DTUnknown:
                                  config << wxString::Format(_T("  UNKNOWN %s\n"),
                                                             sName.c_str());
                                        
                                        break;
                                        
                                case DTMidiPort:
                                  {
                                    OutMidiPort * MidiOut = 
                                      dynamic_cast <OutMidiPort *>(Out);
                                    if (MidiOut)
                                      config << wxString::Format(_T("  MIDIPORT %s %d %d\n"),
                                                                 sName.c_str(), 
                                                                 Out->Device::GetId(),
                                                                 MidiOut->GetBendingRange());
                                  else 
                                    UNREACHABLE;
                                  }
                                  break;
                                        
                                case DTMidiFile:
                                  {
                                    OutMidiFile * MidiFile = 
                                      dynamic_cast <OutMidiFile *>(Out);
                                    if (MidiFile)
                                      config << wxString::Format(_T("  MIDIFILE %s %d %d\n"),
                                                                 sName.c_str(), 
                                                                 0,
                                                                 MidiFile->GetBendingRange());
                                    else
                                      UNREACHABLE;
                                  }
                                  break;
                                        
                                case DTGis:
                                        config << wxString::Format(_T("  GMN %s\n"), sName.c_str());
                                        
                                        break;
                                        
                                case DTNotSet:
                                        wxLogWarning(_("Device found, but device type not set."));
                        }
                }
        
                DEBUGLOG2(routing,_T("WriteConfig: %s"), (config.c_str()));
        
                // Input schreiben
                config << _T("INPUT\n");
                
                for ( In = InDevice::GetDeviceList(); In; In = In->GetNext()) {
                  wxString sName = In->GetName();
                        
                        if ( sName.Find(_T(" ")) )
                                sName.Prepend(_T("\"")) << _T("\"");
                
                        switch ( In->GetType() ) {
                                        
                                case DTUnknown:
                                        config << wxString::Format(_T("  UNKNOWN %s\n"), sName.c_str());
                                        
                                        break;
                                
                                case DTGis:
                                        config << wxString::Format(_T("  GMN %s\n"), sName.c_str());
                                
                                        break;
                                
                                case DTMidiPort:
                                  config << wxString::Format(_T("  MIDIPORT %s %d\n"), sName.c_str(), In->GetDevId());
                                        
                                        break;
                                
                                case DTMidiFile:
                                        config << wxString::Format(_T("  MIDIFILE %s\n"), sName.c_str());
                                
                                        break;
                                
                                case DTNotSet:
                                        wxLogWarning(_("Device found but device type not set."));
                                        
                                break;
                        }
                
                        // Routen schreiben
                        for (Route *R = In->GetRoutes(); R; R = R->GetNext()) {
                          Device * dev = R->GetOutDevice();
                          int OutNr;
                          OutNr = (dev ? dev->GetId(): -1);
                          config << wxT("    ") << RTName[R->Type]  <<
                            wxString::Format(_T(" %d %d  %d %d  %d  %d %d %d\n"),
                                             R->IFrom, 
                                             R->ITo, 
                                             R->Box, 
                                             R->Active, 
                                             OutNr,
                                             R->OFrom, 
                                             R->OTo, 
                                             R->ONoDrum ? 1 : 0);
                        }
                }
                
                DEBUGLOG2(routing,_T("WriteRoutes: %s"), (config.c_str()));
        }
void Route::SaveRoutes ( tree_storage config) [static]

Save the current routes in a tree storage.

This function saves all routes in a tree based storage. config (tree_storage *) storage driver to use for saving.

Definiert in Zeile 102 der Datei Route.cpp.

Benutzt Route::GetGlobalNext(), Route::GetRouteList(), Route::Save(), tree_storage::toLeaf(), tree_storage::toParent() und tree_storage::Write().

Wird benutzt von SaveRoutes().

{
        config.toLeaf(_T("Routes"));
        
        for (Route * route = GetRouteList(); route; route = route->GetGlobalNext()) {
                config.toLeaf(_T("Route"),route->GetId());
                config.Write(_T("Input Device"), route->inputid);
                config.Write(_T("Output Device"), route->outputid);
                route -> Save (config);
                config.toParent();
        }
        
        config.toParent();      
}
void ScanDevices ( )

translate the GUI routing information to mutabor

make devices and routes so that we can avoid this function enable changes on line

Noch zu erledigen:
Check if this is ok.

Definiert in Zeile 1200 der Datei EDevice.cpp.

Benutzt InDevice::AddRoute(), DEBUGLOG2, OutDevice::GetDeviceList(), InDevice::GetDeviceList(), OutDevice::GetNext(), EDevice::newInDevice(), EDevice::newOutDevice(), ERoute::Next, EDevice::Next und OutEDevices.

{
        // clean device lists
        DEBUGLOG2(routing,_T(""));

        if ( InDevice::GetDeviceList() ) {
                delete InDevice::GetDeviceList();
        }

        if ( OutDevice::GetDeviceList() ) {
                delete OutDevice::GetDeviceList();
        }

        // handle output devices
        {
                OutDevice *Out = OutDevice::GetDeviceList();
                EDevice * oute = OutEDevices;
                if (oute) {
                        Out = oute->newOutDevice();
                        for (oute = oute -> Next; oute ; oute = oute->Next) {
                                DEBUGLOG2(other,_T("oute: %x"), oute);
                                Out -> SetNext(oute->newOutDevice());
                                Out = Out->GetNext();
                        }
                }
        }

        // handle input devices
        for (EDevice * ine = InEDevices; ine ; ine = ine->Next) {

                InDevice *In = ine->newInDevice();
                DEBUGLOG2(other,_T("ine: %x; In: %x"), ine, In);

                if (!In) continue; // Permit unknown devices


                wxASSERT(In);

                // handle routes
                for (ERoute * routee = ine->Routes; routee; routee = routee->Next) {
                        DEBUGLOG2(other,_T("routee: %x"), routee);
                        Route * r = routee->newRoute();
                        wxASSERT(r);
                        DEBUGLOG2(other,_T("route: %x"), r);
                        In->AddRoute(r);
                }
        }
}
void ScanRoutes ( wxConfigBase *  config)

read the routes from the configuration

Parameter:
configconfiguration to be read
void ScanRoutes ( const wxString &  config)

read the routes from the configuration

Parameter:
configconfiguration to be read
void ScanRoutes ( char config)

read the routes from the configuration

Parameter:
configconfiguration to be read

Definiert in Zeile 641 der Datei EDevice.cpp.

Benutzt EDevice::AddRoute(), EDevice::BendingRange, DTUnknown, GetEOut(), GETLINE, InEDevices, NewDevice(), OutEDevices, Str2DT() und Str2RT().

{
        // Listen s‰ubern

        if ( InEDevices ) {
                delete InEDevices;
                InEDevices = 0;
        }

        if ( OutEDevices ) {
                delete OutEDevices;
                OutEDevices = 0;
        }

        // Zerlegen von config
        char s[200], *p1 = config;

        GETLINE;

        while ( strncmp(s, "OUTPUT", 6) ) {
                GETLINE;
        }

        GETLINE;

        // Output lesen

        while ( strncmp(s, "INPUT", 5) ) {
                char Type[20], Name[200];
                int DevId, BendingRange;
                //    int test = sscanf (s, "%s %s %d %d", Type, Name,
                //                     &DevId, &BendingRange);
                int test = sscanf (s, "%s \"%[^\"]^^\" %d %d", Type, Name,
                                   &DevId, &BendingRange);

                if ( test < 2 )
                        test = sscanf (s, "%s %s %d %d", Type, Name, &DevId, &BendingRange);

                if ( test < 2 ) {
                        //3 ??
                }

                EDevice *Out = NewDevice(&OutEDevices, Str2DT(Type), Name, DevId);

                if ( test == 4 )
                        Out->BendingRange = BendingRange;

                GETLINE;
        }

        GETLINE;

        // Input lesen

        while ( 1 ) {
                // Device lesen
                char Type[20], Name[200];
                int DevId = -1;
                int test = sscanf (s, "%s \"%[^\"]\" %d", Type, Name, &DevId);

                if ( test < 2 )
                        test = sscanf (s, "%s %s %d", Type, Name, &DevId);

                if ( test < 2 ) {
                        //3 ??
                }

                EDevice *In = NewDevice(&InEDevices, Str2DT(Type), Name, DevId);

                GETLINE;
                // Routen lesen

                while ( Str2DT(s) == DTUnknown ) {
                        // Route lesen
                        char Type[20];
                        int IFrom = 0, ITo = 0, Box = 0, BoxActive = 0, OutDev = -1, OFrom = -1, OTo = -1, ONoDrum = 1;
                        test = sscanf(s, "%s %d %d %d %d %d %d %d %d",
                                      Type, &IFrom, &ITo, &Box, &BoxActive, &OutDev, &OFrom, &OTo, &ONoDrum);

                        if ( test < 2 ) {
                                //3 ??
                        }

                        In->AddRoute(new ERoute(Str2RT(Type), IFrom, ITo, Box, BoxActive, GetEOut(OutDev), OFrom, OTo, ONoDrum));

                        GETLINE;
                }
        }
}
void CurrentTimer::Set ( long  t = 0) [inline]

Definiert in Zeile 545 der Datei Device.h.

        {
                Start(t);
        }
void Route::SetActive ( bool  active) [inline]

Definiert in Zeile 272 der Datei Route.h.

Benutzt Route::Active.

Wird benutzt von MutBoxChannelShape::ReadPanel().

        {
                Active = active;
        }
void MidiOutputFilterPanel::SetAvoidDrumChannel ( bool  avoid) [inline]

Definiert in Zeile 100 der Datei OutputMidiDeviceShape.cpp.

Wird benutzt von MutOutputMidiDeviceShape::GetOutputFilterPanel().

                                             {
                avoid_drum_channel->SetValue(avoid);
        }
void MidiFileOutputFilterPanel::SetAvoidDrumChannel ( bool  avoid) [inline]

Definiert in Zeile 98 der Datei OutputMidiFileDeviceShape.cpp.

Wird benutzt von MutOutputMidiFileDeviceShape::GetOutputFilterPanel().

                                             {
                avoid_drum_channel->SetValue(avoid);
        }
void Route::SetBox ( int  box) [inline]

Definiert in Zeile 282 der Datei Route.h.

Benutzt Route::Box.

        {
                Box = box;
        }
void MutBoxShape::SetBoxId ( int  Id,
bool  layout = true 
) [private]

Definiert in Zeile 241 der Datei BoxShape.cpp.

Benutzt _(), BoxColor(), MutBoxShape::boxId, GmnBox, MutBoxShape::m_icon, MutBoxShape::maxBoxId, NewBox, NoBox und MutIconShape::SetLabel().

Wird benutzt von MutBoxShape::readDialog().

                                              {
        boxId = Id;
        if (boxId >= maxBoxId) maxBoxId = boxId + 1;
        if (m_icon) {
                switch (boxId) {
                        case NewBox:
                                m_icon->SetLabel(_("New Box"));
                                m_icon->SetBackgroundStyle(wxBG_STYLE_SYSTEM);
                                break;
                        case NoBox:
                                m_icon->SetLabel(_("No Box / Though mode"));
                                m_icon->SetBackgroundStyle(wxBG_STYLE_SYSTEM);
                                break;
                        case GmnBox:
                                m_icon->SetLabel(_("GUIDO Box"));
                                m_icon->SetBackgroundColour(BoxColor(boxId));
                                break;
                        default:
                                m_icon->SetLabel(wxString::Format(_("Box %d"),
                                                                  boxId));
                                m_icon->SetBackgroundColour(BoxColor(boxId));
                                break;
                }
                if (layout) {
                        InvalidateBestSize();
                        SetInitialSize(wxDefaultSize);
                        m_parent->Layout();
                }
        }
        
}
void MutaborBoxSettings::SetBoxNumber ( int  nr)

Definiert in Zeile 127 der Datei BoxDlg.cpp.

                                             {
        wxASSERT(boxNumber);
        if (!boxNumber) return;
        int m;
        if (nr > (m = boxNumber->GetMax())) nr = m;
        if (nr < (m = boxNumber->GetMin())) nr = m;
        boxNumber -> SetValue(nr);
}
bool BoxDlg::SetBoxType ( int  value) [inline, private]

Definiert in Zeile 110 der Datei BoxDlg.h.

Benutzt BoxDlg::Type.

Wird benutzt von NewMutBoxShape::InitializeDialog() und MutBoxShape::InitializeDialog().

        {
                Type = value ;
        }
void MutInputDeviceShape::SetDevice ( InDevice d) [inline]

Definiert in Zeile 158 der Datei InputDeviceShape.h.

Benutzt MutInputDeviceShape::device und Device::getUserData().

                                      {
                wxASSERT (d);
                device = d;
                wxASSERT (device->getUserData());
                device -> setUserData (this);
        }
virtual void Device::SetDevId ( int  id) [inline, virtual]

Erneute Implementation in OutMidiPort und InMidiPort.

Definiert in Zeile 236 der Datei Device.h.

Benutzt Device::DevId.

        {
                DevId = id;
        }
void MutIconShape::SetFocus ( ) [virtual]

Definiert in Zeile 196 der Datei IconShape.cpp.

Benutzt DEBUGLOG.

Wird benutzt von MutIconShape::OnGetFocus(), MutOutputDeviceShape::replaceSelfBy() und MutInputDeviceShape::replaceSelfBy().

                            {
        MutPanel::SetFocus();
        DEBUGLOG (other, _T(""));
        SetWindowStyle((GetWindowStyle() & ~ wxBORDER_RAISED)| wxBORDER_SUNKEN);
        GetContainingSizer()->Layout();
        Refresh();
}
void GisInputFilterPanel::SetFromBox ( int  current,
int  min,
int  max 
) [inline]

TODO: set limits according to changes: min.max = max.value and max.min = min.value.

Definiert in Zeile 83 der Datei InputGuidoFileDeviceShape.cpp.

Wird benutzt von MutInputGuidoFileDeviceShape::GetInputFilterPanel().

                                                       {
                from_box->SetRange(min,max);
                from_box->SetValue(current);
        }
void MidiFileInputFilterPanel::SetFromChannel ( int  current,
int  min,
int  max 
) [inline]

TODO: set limits according to changes: min.max = max.value and max.min = min.value.

Definiert in Zeile 77 der Datei InputMidiFileDeviceShape.h.

Wird benutzt von MutInputMidiFileDeviceShape::GetInputFilterPanel().

                                                           {
                from_channel->SetRange(min,max);
                from_channel->SetValue(current);
        }
void MidiOutputFilterPanel::SetFromChannel ( int  current,
int  min,
int  max 
) [inline]

TODO: set limits according to changes: min.max = max.value and max.min = min.value.

Definiert in Zeile 82 der Datei OutputMidiDeviceShape.cpp.

Wird benutzt von MutOutputMidiDeviceShape::GetOutputFilterPanel().

                                                           {
                from_channel->SetRange(min,max);
                from_channel->SetValue(current);
        }
void MidiInputFilterPanel::SetFromChannel ( int  current,
int  min,
int  max 
) [inline]

TODO: set limits according to changes: min.max = max.value and max.min = min.value.

Definiert in Zeile 77 der Datei InputMidiDeviceShape.h.

Wird benutzt von MutInputMidiDeviceShape::GetInputFilterPanel().

                                                           {
                from_channel->SetRange(min,max);
                from_channel->SetValue(current);
        }
void MidiFileOutputFilterPanel::SetFromChannel ( int  current,
int  min,
int  max 
) [inline]

TODO: set limits according to changes: min.max = max.value and max.min = min.value.

Definiert in Zeile 80 der Datei OutputMidiFileDeviceShape.cpp.

Wird benutzt von MutOutputMidiFileDeviceShape::GetOutputFilterPanel().

                                                           {
                from_channel->SetRange(min,max);
                from_channel->SetValue(current);
        }
void MidiInputFilterPanel::SetFromKey ( int  current,
int  min,
int  max 
) [inline]

Definiert in Zeile 89 der Datei InputMidiDeviceShape.h.

Wird benutzt von MutInputMidiDeviceShape::GetInputFilterPanel().

                                                       {
                from_key->SetRange(min,max);
                from_key->SetValue(current);
        }
void GisInputFilterPanel::SetFromStaff ( int  current,
int  min,
int  max 
) [inline]

Definiert in Zeile 101 der Datei InputGuidoFileDeviceShape.cpp.

Wird benutzt von MutInputGuidoFileDeviceShape::GetInputFilterPanel().

                                                         {
                from_staff->SetRange(min,max);
                from_staff->SetValue(current);
        }
void MidiFileInputFilterPanel::SetFromTrack ( int  current,
int  min,
int  max 
) [inline]

Definiert in Zeile 89 der Datei InputMidiFileDeviceShape.h.

Wird benutzt von MutInputMidiFileDeviceShape::GetInputFilterPanel().

                                                         {
                from_track->SetRange(min,max);
                from_track->SetValue(current);
        }
void MutIconShape::SetIcon ( const MutIcon &  icon) [inline]

Definiert in Zeile 94 der Datei IconShape.h.

Benutzt MutIconShape::Icon.

Wird benutzt von MutBoxIconShape::OnDraw(), MutIconShape::OnDraw() und MutBoxChannelShape::Refresh().

                                           {
                Icon = icon;
        }
void Device::SetId ( int  id) [inline, protected]

Definiert in Zeile 259 der Datei Device.h.

Benutzt Device::Id.

Wird benutzt von InDevice::LoadDevices() und OutDevice::LoadDevices().

        {
                Id = id;
        }
void Route::SetInDevice ( InDevice in) [inline]

Definiert in Zeile 254 der Datei Route.h.

Benutzt Route::GetNext().

Wird benutzt von InDevice::AddRoute() und InDevice::SetRoute().

        {
                In = in;
                for (Route * route = GetNext(); route; route=route->GetNext())
                        route -> In = in;
        }
void MutBoxChannelShape::SetInput ( MutInputDeviceShape device)
void Route::SetInputFrom ( int  i) [inline]
void Route::SetInputId ( int  Id) [inline]

Definiert in Zeile 261 der Datei Route.h.

Benutzt Route::Id und Route::inputid.

        {
                inputid = Id;
        }
void Route::SetInputTo ( int  i) [inline]
void MutOutputMidiFileDeviceShape::SetLabel ( const wxString &  st) [inline]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 93 der Datei OutputMidiFileDeviceShape.h.

Benutzt MutOutputMidiFileDeviceShape::fileName.

Wird benutzt von MutOutputMidiFileDeviceShape::readDialog().

                                            {
                fileName = st;
                fileName.Normalize();
                MutOutputDeviceShape::SetLabel (fileName.GetFullName());
        }
void MutIconShape::SetLabel ( const wxString &  st) [inline]

Erneute Implementation in MutInputDeviceShape, MutInputGuidoFileDeviceShape, MutInputMidiFileDeviceShape, MutOutputDeviceShape, MutOutputGuidoFileDeviceShape und MutOutputMidiFileDeviceShape.

Definiert in Zeile 102 der Datei IconShape.h.

Benutzt MutIconShape::staticText.

Wird benutzt von MutDeviceShape::Create() und MutBoxShape::SetBoxId().

                                            {
          if (!staticText) staticText = new wxStaticText(this,wxID_ANY,_T(""));
          wxASSERT(staticText);
          if (!staticText) return;
          wxControl::SetLabel(st);
          staticText->SetLabel(st);
        }
void MutInputGuidoFileDeviceShape::SetLabel ( const wxString &  st) [inline]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 95 der Datei InputGuidoFileDeviceShape.h.

Benutzt MutInputGuidoFileDeviceShape::fileName.

Wird benutzt von MutInputGuidoFileDeviceShape::readDialog().

                                            {
                fileName = st;
                fileName.Normalize();
                MutInputDeviceShape::SetLabel (fileName.GetFullName());
        }
void MutOutputDeviceShape::SetLabel ( const wxString &  st)

Erneute Implementation von MutIconShape.

Erneute Implementation in MutOutputGuidoFileDeviceShape und MutOutputMidiFileDeviceShape.

Definiert in Zeile 149 der Datei OutputDeviceShape.cpp.

Wird benutzt von MutOutputMidiDeviceShape::readDialog().

void MutInputMidiFileDeviceShape::SetLabel ( const wxString &  st) [inline]

Erneute Implementation von MutInputDeviceShape.

Definiert in Zeile 168 der Datei InputMidiFileDeviceShape.h.

Benutzt MutInputMidiFileDeviceShape::fileName.

Wird benutzt von MutInputMidiFileDeviceShape::readDialog().

                                            {
                fileName = st;
                fileName.Normalize();
                MutInputDeviceShape::SetLabel (fileName.GetFullName());
        }
void MutInputDeviceShape::SetLabel ( const wxString &  st)

Erneute Implementation von MutIconShape.

Erneute Implementation in MutInputGuidoFileDeviceShape und MutInputMidiFileDeviceShape.

Definiert in Zeile 150 der Datei InputDeviceShape.cpp.

Wird benutzt von MutInputMidiDeviceShape::readDialog().

void MutOutputGuidoFileDeviceShape::SetLabel ( const wxString &  st) [inline]

Erneute Implementation von MutOutputDeviceShape.

Definiert in Zeile 93 der Datei OutputGuidoFileDeviceShape.h.

Benutzt MutOutputGuidoFileDeviceShape::fileName.

Wird benutzt von MutOutputGuidoFileDeviceShape::readDialog().

                                            {
                fileName = st;
                fileName.Normalize();
                MutOutputDeviceShape::SetLabel (fileName.GetFullName());
        }
void InDevice::SetMode ( MutaborModeType  m) [inline]

Definiert in Zeile 469 der Datei Device.h.

Benutzt InDevice::Mode.

{ Mode = m; }
virtual void Device::SetName ( const wxString &  s) [inline, virtual]
void Route::SetNext ( Route route) [inline]

Definiert in Zeile 356 der Datei Route.h.

Benutzt Route::GetNext().

Wird benutzt von MutInputDeviceShape::AddRoute() und MutInputDeviceShape::RemoveRoute().

        {
                Next = route;
                for (Route * r = GetNext(); r; r=r->GetNext())
                        r -> In = In;
        }
void OutDevice::SetNext ( OutDevice N) [inline]

Definiert in Zeile 332 der Datei Device.h.

Wird benutzt von OutDevice::AppendToDeviceList(), OutDevice::RemoveFromDeviceList() und OutDevice::TruncateDeviceList().

                                    {
                Next = N;               
        }
void InDevice::SetNext ( InDevice n) [inline]
void Route::SetOutDevice ( OutDevice out) [inline]

Definiert in Zeile 245 der Datei Route.h.

        {
                Out = out;
        }
void MutBoxChannelShape::SetOutput ( MutOutputDeviceShape device,
bool  changeRoute = false 
)

Definiert in Zeile 163 der Datei BoxChannelShape.cpp.

Benutzt DEBUGLOG, MutOutputDeviceShape::GetDevice(), Route::GetOutDevice(), MutBoxChannelShape::output und MutBoxChannelShape::route.

Wird benutzt von MutBoxChannelShape::AddPossibleOutput(), MutOutputDeviceShape::ReadPanel(), MutBoxChannelShape::ReadPanel(), MutOutputDeviceShape::RemoveRoute() und MutOutputDeviceShape::replaceSelfBy().

{
        DEBUGLOG(routing,_T("Setting output of %p to %p (change route %p = %d)"),this,device,route, changeRoute);
        if (changeRoute) {
                wxASSERT(route);
                OutDevice * dev = device ? device -> GetDevice() : NULL;
                route -> SetOutDevice(dev);
        }
#ifdef DEBUG
        if (device && route) {
                wxASSERT(device->GetDevice() == route->GetOutDevice());
        }
#endif
        output = device;
}
void Route::SetOutputFrom ( int  o) [inline]
void Route::SetOutputTo ( int  o) [inline]
virtual void InDevice::SetRoute ( Route route) [inline, virtual]

Definiert in Zeile 444 der Datei Device.h.

Benutzt Route::SetInDevice().

Wird benutzt von MutInputDeviceShape::AddRoute(), InDevice::GetMoveRoutes(), MutInputDeviceShape::RemoveRoute() und InDevice::ReplaceDevice().

        { 
                Routes = route; 
                if (route)
                        route->SetInDevice(this);
        }
void MidiInputFilterPanel::SetRouteType ( RouteType  routetype) [inline]

Definiert in Zeile 101 der Datei InputMidiDeviceShape.h.

Benutzt RTall, RTchannel, RTelse, RTstaff und UNREACHABLEC.

Wird benutzt von MutInputMidiDeviceShape::GetInputFilterPanel().

                                               {
                wxPanel * panel;
                switch (routetype) {
                        case RTall: panel = all_panel; break;
                        case RTchannel: panel = channel_panel; break;
                        case RTstaff: panel = key_panel; break;
                        case RTelse: panel = else_panel; break;
                        default:
                                UNREACHABLEC;
                                std::cerr << "MidiInputFilterPanel::SetRouteType: invaid route type " 
                                << routetype << std::endl;
                                abort();
                }
                for (size_t i = 0 ; i < type->GetPageCount(); i++) {
                        if (type -> GetPage(i) != panel) continue;
                        type->SetSelection(i);
                }
        }
void MidiFileInputFilterPanel::SetRouteType ( RouteType  routetype) [inline]

Definiert in Zeile 107 der Datei InputMidiFileDeviceShape.h.

Benutzt RTall, RTchannel, RTelse und RTstaff.

Wird benutzt von MutInputMidiFileDeviceShape::GetInputFilterPanel().

                                               {
                wxPanel * panel;
                switch (routetype) {
                        case RTall: panel = all_panel; break;
                        case RTchannel: panel = channel_panel; break;
                        case RTstaff: panel = track_panel; break;
                        case RTelse: panel = else_panel; break;
                        default:
                                std::cerr << "MidiFileInputFilterPanel::SetRouteType: invaid route type " 
                                << routetype << std::endl;
                                abort();
                }
                for (size_t i = 0 ; i < type->GetPageCount(); i++) {
                        if (type -> GetPage(i) != panel) continue;
                        type->SetSelection(i);
                }
        }
void GisInputFilterPanel::SetRouteType ( RouteType  routetype) [inline]

Definiert in Zeile 119 der Datei InputGuidoFileDeviceShape.cpp.

Benutzt RTall, RTchannel, RTelse, RTstaff und UNREACHABLEC.

Wird benutzt von MutInputGuidoFileDeviceShape::GetInputFilterPanel().

                                               {
                wxPanel * panel;
                switch (routetype) {
                        case RTall: panel = all_panel; break;
                        case RTchannel: panel = box_tag_panel; break;
                        case RTstaff: panel = staves_panel; break;
                        case RTelse: panel = else_panel; break;
                        default:
                                UNREACHABLEC;
                                std::cerr << "GisInputFilterPanel::SetRouteType: invaid route type " 
                                << routetype << std::endl;
                                abort();
                }
                for (size_t i = 0 ; i < type->GetPageCount(); i++) {
                        if (type -> GetPage(i) != panel) continue;
                        type->SetSelection(i);
                }
        }
static void MutInputDeviceShape::SetSizerFlags ( wxSizerFlags  flags) [inline, static]

Definiert in Zeile 139 der Datei InputDeviceShape.h.

Benutzt MutInputDeviceShape::sizerFlags.

Wird benutzt von MutRouteWnd::createInputDevices().

{sizerFlags = flags; }
static void MutBoxShape::SetSizerFlags ( wxSizerFlags  flags) [inline, static]

Definiert in Zeile 164 der Datei BoxShape.h.

Benutzt MutBoxShape::sizerFlags.

Wird benutzt von MutRouteWnd::createBoxes().

{sizerFlags = flags; }
void GisInputFilterPanel::SetToBox ( int  current,
int  min,
int  max 
) [inline]

Definiert in Zeile 92 der Datei InputGuidoFileDeviceShape.cpp.

Wird benutzt von MutInputGuidoFileDeviceShape::GetInputFilterPanel().

                                                     {
                to_box->SetRange(min,max);
                to_box->SetValue(current);
        }
void MidiFileOutputFilterPanel::SetToChannel ( int  current,
int  min,
int  max 
) [inline]

Definiert in Zeile 89 der Datei OutputMidiFileDeviceShape.cpp.

Wird benutzt von MutOutputMidiFileDeviceShape::GetOutputFilterPanel().

                                                         {
                to_channel->SetRange(min,max);
                to_channel->SetValue(current);
        }
void MidiOutputFilterPanel::SetToChannel ( int  current,
int  min,
int  max 
) [inline]

Definiert in Zeile 91 der Datei OutputMidiDeviceShape.cpp.

Wird benutzt von MutOutputMidiDeviceShape::GetOutputFilterPanel().

                                                         {
                to_channel->SetRange(min,max);
                to_channel->SetValue(current);
        }
void MidiFileInputFilterPanel::SetToChannel ( int  current,
int  min,
int  max 
) [inline]

Definiert in Zeile 83 der Datei InputMidiFileDeviceShape.h.

Wird benutzt von MutInputMidiFileDeviceShape::GetInputFilterPanel().

                                                         {
                to_channel->SetRange(min,max);
                to_channel->SetValue(current);
        }
void MidiInputFilterPanel::SetToChannel ( int  current,
int  min,
int  max 
) [inline]

Definiert in Zeile 83 der Datei InputMidiDeviceShape.h.

Wird benutzt von MutInputMidiDeviceShape::GetInputFilterPanel().

                                                         {
                to_channel->SetRange(min,max);
                to_channel->SetValue(current);
        }
void MidiInputFilterPanel::SetToKey ( int  current,
int  min,
int  max 
) [inline]

Definiert in Zeile 95 der Datei InputMidiDeviceShape.h.

Wird benutzt von MutInputMidiDeviceShape::GetInputFilterPanel().

                                                     {
                to_key->SetRange(min,max);
                to_key->SetValue(current);
        }
void GisInputFilterPanel::SetToStaff ( int  current,
int  min,
int  max 
) [inline]

Definiert in Zeile 110 der Datei InputGuidoFileDeviceShape.cpp.

Wird benutzt von MutInputGuidoFileDeviceShape::GetInputFilterPanel().

                                                       {
                to_staff->SetRange(min,max);
                to_staff->SetValue(current);
        }
void MidiFileInputFilterPanel::SetToTrack ( int  current,
int  min,
int  max 
) [inline]

Definiert in Zeile 98 der Datei InputMidiFileDeviceShape.h.

Wird benutzt von MutInputMidiFileDeviceShape::GetInputFilterPanel().

                                                       {
                to_track->SetRange(min,max);
                to_track->SetValue(current);
        }
void Route::SetType ( RouteType  type) [inline]
void Device::setUserData ( void *  data) [inline]

Definiert in Zeile 216 der Datei Device.h.

Benutzt Device::userdata.

                                       {
                userdata = data; 
        }
void Route::setUserData ( void *  data) [inline]

Definiert in Zeile 231 der Datei Route.h.

Wird benutzt von MutBoxChannelShape::Create() und MutBoxChannelShape::~MutBoxChannelShape().

        { 
                userdata = data; 
        }
BoxDlg * MutBoxShape::ShowBoxDialog ( ) const

Constructs the box configuration dialog.

Noch zu erledigen:
use value “unknown” for dynamic dialog creation

Definiert in Zeile 412 der Datei BoxShape.cpp.

Benutzt MutBoxShape::channels, MutBoxChannelShape::CreateRoutePanel(), MutBoxShape::GetBoxId(), BoxDlg::GetRouteWindow(), MutBoxShape::InitializeDialog() und UNREACHABLEC.

Wird benutzt von MutBoxShape::DoLeftDblClick().

                                         {
        MutRouteWnd * parentwin = dynamic_cast<MutRouteWnd *>(GetParent());
        wxASSERT(parentwin);
        if (!parentwin) return NULL;
        
        BoxDlg * box = new BoxDlg (parentwin);
        wxASSERT(box);
        if (!box) return NULL;

        wxWindow * routeWindow = box->GetRouteWindow();
        wxASSERT(routeWindow);
        if (!routeWindow) {
                box->Destroy();
                return NULL;
        }
        wxGridSizer * routeSizer = dynamic_cast<wxGridSizer *> (routeWindow->GetSizer());
        
        if (!routeSizer) {
                if (routeWindow->GetSizer()) UNREACHABLEC;
                
                routeSizer = new wxGridSizer(4);
                if (!routeSizer) box->Destroy(); return NULL;
                routeWindow->SetSizer(routeSizer);              
        }
        
        wxSizerItemList list = channels->GetChildren();
        for (wxSizerItemList::iterator i = list.begin(); 
             i != (list.end()); i++) {
                wxASSERT(dynamic_cast<MutBoxChannelShape *> ((*i) -> GetWindow()));
                MutBoxChannelShape::CreateRoutePanel(static_cast<MutBoxChannelShape *> ((*i)->GetWindow()),
                                                     parentwin, routeWindow, GetBoxId());
        }
         
        InitializeDialog(box);

        routeWindow->Layout();
        routeWindow->FitInside();
        box->Layout();
        box->Fit();
        box->CenterOnParent(wxBOTH);
        
        return box;
}
OutputDevDlg * MutOutputDeviceShape::ShowDeviceDialog ( )

Definiert in Zeile 233 der Datei OutputDeviceShape.cpp.

Benutzt _(), OutputDevDlg::AppendPortChoice(), DEBUGLOG, RtMidiOut::getPortCount(), RtMidiOut::getPortName(), MutOutputDeviceShape::InitializeDialog(), muT, RtError::printMessage(), rtmidiout, OutputDevDlg::SetGUIDOFile(), OutputDevDlg::SetMidiBendingRange(), OutputDevDlg::SetMidiDevice(), OutputDevDlg::SetMidiFile() und OutputDevDlg::SetMidiFileBendingRange().

Wird benutzt von MutOutputDeviceShape::DoLeftDblClick().

{
        OutputDevDlg * out = new OutputDevDlg (m_parent);
        int nMidi = rtmidiout->getPortCount();
        DEBUGLOG (other, _T("Midi ports %d"),nMidi);

#ifdef RTMIDI
        nMidi = rtmidiout->getPortCount();

        if ( nMidi )  {
#ifdef __WXMSW__
                wxString portName;
#else
                std::string portName;
#endif

                for (int i = 0; i < nMidi; i++) {
                        try {
                                portName = rtmidiout->getPortName(i);
                        } catch (RtError &error) {
                                error.printMessage();
                                break;
                        }
#ifdef __WXMSW__
                        out->AppendPortChoice(portName);
#else
                        out->AppendPortChoice(muT(portName.c_str()));
#endif
                }
        } else
                out->AppendPortChoice(_("no device"));
#else
        /*    nMidi = midiInGetNumDevs();
              if ( nMidi )
              {
              for (int i = 0; i < nMidi; i++)
              {
              MIDIINCAPS miin;
              midiInGetDevCaps(i, &miin, sizeof(MIDIINCAPS));
              DataR0.Device.AddString(miin.szPname);
              }
              }
              else
              DataR0.Device.AddString("no device");*/
#endif
        //              in->SetType(DTUnknown);
        out->SetMidiDevice(0);
        out->SetMidiFile(wxEmptyString);
        out->SetGUIDOFile(wxEmptyString);
        out->SetMidiBendingRange(2);
        out->SetMidiFileBendingRange(2);

        InitializeDialog(out);
                
        out->Fit();

        return out;
}
InputDevDlg * MutInputDeviceShape::ShowDeviceDialog ( )

Definiert in Zeile 223 der Datei InputDeviceShape.cpp.

Benutzt _(), InputDevDlg::AppendPortChoice(), RtMidiIn::getPortCount(), RtMidiIn::getPortName(), MutInputDeviceShape::InitializeDialog(), muT, RtError::printMessage(), rtmidiin, InputDevDlg::SetGUIDOFile(), InputDevDlg::SetMidiDevice(), InputDevDlg::SetMidiFile() und STUBC.

Wird benutzt von MutInputDeviceShape::DoLeftDblClick().

                                                    {
        InputDevDlg * in = new InputDevDlg (m_parent);
        int nMidi = rtmidiin->getPortCount();

#ifdef RTMIDI
        nMidi = rtmidiin->getPortCount();

        if ( nMidi )  {
#ifdef __WXMSW__
                wxString portName;
#else
                std::string portName;
#endif

                for (int i = 0; i < nMidi; i++) {
                        try {
                                portName = rtmidiin->getPortName(i);
#ifdef __WXMSW__
                                in->AppendPortChoice(portName);
#else
                                in->AppendPortChoice(muT(portName.c_str()));
#endif
                        } catch (RtError &error) {
                                error.printMessage();
                                break;
                        }
                }
        } else
                in->AppendPortChoice(_("no device"));
#else
        STUBC;
#endif
        //              in->SetType(DTUnknown);
        in->SetMidiDevice(0);
        in->SetMidiFile(wxEmptyString);
        in->SetGUIDOFile(wxEmptyString);

        InitializeDialog(in);
                
        in->Fit();

        return in;
}
bool BoxDlg::ShowToolTips ( ) [static, private]

Should we show tooltips?

Definiert in Zeile 180 der Datei BoxDlg.cpp.

{
        return TRUE;
}
bool InputDevDlg::ShowToolTips ( ) [static]

Should we show tooltips?

Definiert in Zeile 93 der Datei InputDevDlg.cpp.

{
        return TRUE;
}
bool OutputDevDlg::ShowToolTips ( ) [static, private]

Should we show tooltips?

Definiert in Zeile 224 der Datei OutputDevDlg.cpp.

{
        return TRUE;
}
wxString sRange ( int  from,
int  to 
)

Definiert in Zeile 189 der Datei MutRouteWnd.cpp.

Benutzt _().

Wird benutzt von MutRouteWnd::OnDraw().

{
        if ( from == to )
                return wxString::Format(_T("%d"), from);
        else if ( from < to )
                return wxString::Format(_("%d -- %d"), from, to);

        return _("--");
}
void StartCurrentTime ( )

Definiert in Zeile 66 der Datei Device.cpp.

Wird benutzt von Activate().

{
        CurrentTime.Start(0);
        //  CurrentTimeId = timeSetEvent(2, 1, CurrentTimeFunc, 0, TIME_PERIODIC);
}
int StartSep ( )

Definiert in Zeile 512 der Datei GIS.cpp.

Benutzt DEBUGLOG2.

Wird benutzt von GspParse().

{
        DEBUGLOG2(other,_T("saving Sep %s"),Sep.c_str());
        *Current = new GisToken(Sep, 0);
        Current = &((*Current)->Next);
        return 0;
};
void InMidiFile::Stop ( ) [virtual]

Implementiert InDevice.

Definiert in Zeile 782 der Datei DevMidF.cpp.

Benutzt InMidiFile::actDelta, InMidiFile::curDelta, DEBUGLOG, InMidiFile::minDelta, InMidiFile::MMSPerQuater, InDevice::Mode, MutaborDeviceCompileError, MutaborDevicePlay, MutaborDeviceStop, MutaborDeviceTimingError, NO_DELTA, InMidiFile::nTrack, InMidiFile::Pause(), ReadDelta() und InMidiFile::TrackPos.

Wird benutzt von InMidiFile::Close(), InMidiFile::IncDelta() und InMidiFile::Open().

{
  DEBUGLOG(routing,_T("old mode = %d"),Mode);
        if ( Mode == MutaborDevicePlay || Mode == MutaborDeviceTimingError )
                Pause();

        // OK ?
        if ( Mode == MutaborDeviceCompileError )
                return;

        // Delta-Times lesen
        minDelta = 0;

        long NewMinDelta = NO_DELTA;

        MMSPerQuater = 1000000l;

        for (size_t i = 0; i < nTrack; i++ ) {
                TrackPos[i] = 0;
                curDelta[i] = ReadDelta(Track[i], &(TrackPos[i]));

                if ( curDelta[i] < NewMinDelta )
                        NewMinDelta = curDelta[i];
        }

        minDelta = NewMinDelta;

        actDelta = -1;
        Mode = MutaborDeviceStop;
}
void InGis::Stop ( ) [virtual]

hier mufl noch was hin

Implementiert InDevice.

Definiert in Zeile 306 der Datei DevGIS.cpp.

Benutzt InGis::actDelta, GisReadArtHead::Box, InGis::Data, DEBUGLOG, InGis::Head, InGis::Id, InGis::minDelta, InDevice::Mode, MutaborDeviceCompileError, MutaborDevicePlay, MutaborDeviceStop, MutaborDeviceTimingError, InGis::Pause() und GisReadHead::PrevPtr.

Wird benutzt von InGis::Close(), InGis::IncDelta() und InGis::Open().

{
        if ( Mode == MutaborDevicePlay || Mode == MutaborDeviceTimingError )
                Pause();

        // OK ?
        if ( Mode == MutaborDeviceCompileError )
                return;

        // Header auf Start setzen
        if ( Head ) {
                delete Head;
                Head = 0;
        }

        Head = new GisReadArtHead(NULL, Data, Id);

        DEBUGLOG (other, _T("Head = %p"),Head);
        Head->Box = 0; 
        DEBUGLOG (other, _T("Head = %p"),Head);
        //  Head->Prev = Head;
        Head->PrevPtr = (GisReadHead**)&Head;
        DEBUGLOG (other, _T("Head = %p"),Head);
        // Delta-Times lesen
        minDelta = 0;
        actDelta = -1;
        Mode = MutaborDeviceStop;
}
virtual void InDevice::Stop ( ) [pure virtual]

Implementiert in InGis, InMidiFile und InMidiPort.

Wird benutzt von InDeviceAction().

void StopCurrentTime ( )

Definiert in Zeile 73 der Datei Device.cpp.

Wird benutzt von Stop().

{
        // not needed any more
        //CurrentTime.Stop();
}
char* strdupchr ( char  a)

Definiert in Zeile 299 der Datei GIS.cpp.

Wird benutzt von GisNote::GisNote().

{
        char s[2] = "w";
        s[0] = a;
        return strdup(s);
}
virtual void OutDevice::Sustain ( char  on,
int  channel 
) [pure virtual]
void OutMidiFile::Sustain ( char  on,
int  channel 
) [virtual]

Implementiert OutDevice.

Definiert in Zeile 495 der Datei DevMidF.cpp.

{}
int Tag ( const mutString  tagName)

Definiert in Zeile 688 der Datei GIS.cpp.

Benutzt BuildTag(), GISDEBUG, mutCopyString, TagMode, TagName und TagSep.

Wird benutzt von BeginRange(), BuildTag(), MutLogicWnd::CmMutTag(), DoParse(), EndRange() und ReadTag().

{
        GISDEBUG("\n\\" << tagName)

        if ( TagMode ) BuildTag();

        mutCopyString(TagName, tagName);

        mutCopyString(TagSep, Sep);

        TagMode = 1;

        return 0;
};
int TagParaInt ( long  i)

Definiert in Zeile 703 der Datei GIS.cpp.

Benutzt GISDEBUG und GisToken::Next.

Wird benutzt von ReadParaNumber().

{
        GISDEBUG("ParaInt: " << i << ", ")
        GisParaInt *p = new GisParaInt(i, Sep);

        if ( LastPara )
                LastPara->Next = p;
        else
                Para = p;

        LastPara = p;

        return 0;
};
int TagParaReal ( double  x)

Definiert in Zeile 718 der Datei GIS.cpp.

Benutzt GISDEBUG und GisToken::Next.

Wird benutzt von ReadParaNumber().

{
        GISDEBUG("ParaReal: " << x << ", ")
        GisParaReal *p = new GisParaReal(x, Sep, 0);

        if ( LastPara )
                LastPara->Next = p;
        else
                Para = p;

        LastPara = p;

        return 0;
};
int TagParaStr ( mutString  s)

Definiert in Zeile 733 der Datei GIS.cpp.

Benutzt GISDEBUG und GisToken::Next.

Wird benutzt von ReadParaStr().

{
        GISDEBUG("ParaStr: " << """" << s << """" << ", ")
        GisParaStr *p = new GisParaStr(s, Sep, 0);

        if ( LastPara )
                LastPara->Next = p;
        else
                Para = p;

        LastPara = p;

        return 0;
};
wxString& takesep ( ) [inline]

Definiert in Zeile 205 der Datei GSP.cpp.

Benutzt CurrentLine, CurrentPos, DEBUGLOG2 und Sep.

{
        Sep += CurrentLine[CurrentPos++];
        DEBUGLOG2(other,_T("New Sep: %s"), Sep.c_str());
        return Sep;
}
void testdialog ( )
void TextPin ( wxDC &  dc,
int  xm,
int  y,
int  xl,
const wxString &  s,
char  withBox 
)

Definiert in Zeile 160 der Datei MutRouteWnd.cpp.

Benutzt _(), GetTextWidth() und yt.

Wird benutzt von MutRouteWnd::OnDraw().

{
        if ( withBox )
                dc.DrawRectangle(xm-xl/2, y, xl, yt);

        wxString s1 = s;

        int w = GetTextWidth(dc, s1);

        while ( s1.Length() > 3 ) {
                if ( (w = GetTextWidth(dc, s1)) < xl )
                        break;

                s1 = s1.Mid(4).Prepend(_("..."));
        }

        dc.SetBackgroundMode(wxTRANSPARENT);
        dc.DrawText(s1, xm - w/2, y + 2);
        dc.SetBackgroundMode(wxSOLID);
}
void OutDevice::TruncateDeviceList ( OutDevice dev) [static, protected]

Definiert in Zeile 202 der Datei Device.cpp.

Benutzt OutDevice::GetNext() und OutDevice::SetNext().

Wird benutzt von OutDevice::~OutDevice().

{
        if (!deviceList) return;
        
        if (deviceList == dev) {
                deviceList = NULL; 
                return;
        }
        
        OutDevice * d = deviceList ;
        while (d->GetNext() && d->GetNext() != dev) {
                d = d->GetNext();
        }
        if (d->GetNext()) {
                d -> SetNext(NULL);
        }
}
void InDevice::TruncateDeviceList ( InDevice dev) [static, protected]

Definiert in Zeile 430 der Datei Device.cpp.

Benutzt InDevice::GetNext(), umstimmung::next und InDevice::SetNext().

Wird benutzt von InDevice::~InDevice().

{
        if (!deviceList) return;
        
        if (deviceList == dev) {
                deviceList = NULL; 
                return;
        }

        InDevice * d = deviceList;
        InDevice * next = d->GetNext();
        while (next && next != dev) {
                d = next;
                next = d -> GetNext();
        }
        if (next) {
                d -> SetNext(NULL);
        }
}
void UnRavel ( )

Definiert in Zeile 765 der Datei GIS.cpp.

Benutzt Clear(), LastOpenBracket, GisToken::Next, Para und TagName.

Wird benutzt von GisParse().

{
        *Current = 0;
        // unravel Next pointers

        while ( LastOpenBracket ) {
                GisToken *p = LastOpenBracket;
                LastOpenBracket = p->Next;
                p->Next = 0;
        }

        // clear TagName
        if ( TagName.size() ) Clear(&TagName);

        // clear Para
        if ( Para ) delete Para;
}
void BoxDlg::UpdateEnable ( wxCommandEvent &  event) [private]

wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RADIOBUTTON

Definiert in Zeile 213 der Datei BoxDlg.cpp.

Benutzt BoxDlg::ctrlBox2, BoxDlg::ctrlBox3 und BoxDlg::UpdateLayout().

{
        UpdateLayout((ctrlBox2->GetValue() ? 1 : 0) + (ctrlBox3->GetValue() ? 2 : 0));
        // Before editing this code, remove the block markers.
        event.Skip();
}
void BoxDlg::UpdateLayout ( int  type) [private]

Definiert in Zeile 222 der Datei BoxDlg.cpp.

Benutzt BoxDlg::ctrlBoxNr und BoxDlg::ctrlMode.

Wird benutzt von BoxDlg::UpdateEnable().

{
        ctrlBoxNr->Enable(type == 0);
        ctrlMode->Enable(type != 2);
}
void OutputDevDlg::UpdateLayout ( DevType  type)

Definiert in Zeile 154 der Datei OutputDevDlg.cpp.

Benutzt _(), DEBUGLOG, DTGis, DTMidiFile, DTMidiPort, DTNotSet, DTUnknown, OutputDevDlg::FindType() und OutputDevDlg::Type.

{
        DEBUGLOG (other, _T("type: %d"),type);
        if (type == DTNotSet) {
                DEBUGLOG (other, _T("Type not set"));
                if (FindType (type) == wxNOT_FOUND)
                        DeviceChoice->Insert (_ ("Choose device type"),
                                              0,
                                              new TypeData (type));
        } else {
                int notset = FindType (DTNotSet);
                if (notset != wxNOT_FOUND) {
                        DeviceChoice->Delete (notset);
                }

                if (type == DTUnknown) {
                        if (FindType (type) == wxNOT_FOUND)
                                DeviceChoice->Insert (_ ("Unknown device type"),
                                                      0,
                                                      new TypeData (type));
                }
        }
        int Type = FindType (type);
        DeviceChoice -> SetSelection (Type);

        DEBUGLOG (other, _T("found Number %d (wxNOT_FOUND=%d)"),type,wxNOT_FOUND);
        wxSizer * sizer = GetSizer();

        DEBUGLOG (other, _T("DTMidiPort=%d"),DTMidiPort);
        sizer->Show(PortBox, type == DTMidiPort, true);
        DEBUGLOG (other, _T("DTMidiFile=%d"),DTMidiFile);
        sizer->Show(MidiFileBox, (type == DTMidiFile), true);
        DEBUGLOG (other, _T("DTGis=%d"),DTGis);
        sizer->Show(GuidoFileBox, (type == DTGis) , true);

        // We need Layout here, since otherwise the output boxex are not
        // shown in certain circumstances
        //CenterOnScreen();
        Layout();
        GetSizer()->SetSizeHints(this);
        Fit();
}
void OutputDevDlg::UpdateLayout ( int  type) [private]

Definiert in Zeile 267 der Datei OutputDevDlg.cpp.

Benutzt OutputDevDlg::ctrlGUIDOFilePanel, OutputDevDlg::ctrlMidiDevicePanel, OutputDevDlg::ctrlMidiFilePanel und OutputDevDlg::ctrlPanel.

Wird benutzt von OutputDevDlg::OnChoice2Selected(), OutputDevDlg::OnChoiceSelected() und OutputDevDlg::SetType().

{
        ctrlPanel->Show(ctrlMidiDevicePanel, type == 0, true);
        ctrlPanel->Show(ctrlMidiFilePanel, type == 1, true);
        ctrlPanel->Show(ctrlGUIDOFilePanel, type == 2, true);
        ctrlPanel->Layout();
        GetSizer()->SetSizeHints(this);
        Fit();
}
void InputDevDlg::UpdateLayout ( DevType  type)

Definiert in Zeile 134 der Datei InputDevDlg.cpp.

Benutzt _(), DEBUGLOG, DTGis, DTMidiFile, DTMidiPort, DTNotSet, DTUnknown und InputDevDlg::FindType().

Wird benutzt von InputDevDlg::OnChoiceSelected() und InputDevDlg::SetType().

{
        if (type == DTNotSet) {
                if (FindType (type) == wxNOT_FOUND)
                        DeviceChoice->Insert (_ ("Choose device type"),
                                              0,
                                              new TypeData (type));
        } else {
                int notset = FindType (DTNotSet);
                if (notset != wxNOT_FOUND) {
                        DeviceChoice->Delete (notset);
                }

                if (type == DTUnknown) {
                        if (FindType (type) == wxNOT_FOUND)
                                DeviceChoice->Insert (_ ("Unknown device type"),
                                                      0,
                                                      new TypeData (type));
                }
        }
        int Type = FindType (type);
        DeviceChoice -> SetSelection (Type);

        DEBUGLOG(_T("%d"),type);
        wxSizer * sizer = GetSizer();

        DEBUGLOG(_T("%d"),DTMidiPort);
        sizer->Show(PortBox, type == DTMidiPort, true);
        DEBUGLOG(_T("%d"),DTMidiFile);
        sizer->Show(MidiFileBox, (type == DTMidiFile), true);
        DEBUGLOG(_T("%d"),DTGis);
        sizer->Show(GuidoFileBox, (type == DTGis) , true);

//      Layout();
//      GetSizer()->SetSizeHints(this);
        Fit();
}
Route::WATCHEDPTR ( Route  ,
routing  ,
Route   
) [private]
Route::WATCHEDPTR ( OutDevice  ,
routing  ,
Route   
) [private]
static InDevice::WATCHEDPTR ( InDevice  ,
routing  ,
InDevice   
) [static, private]
InDevice::WATCHEDPTR ( Route  ,
routing  ,
InDevice   
) [private]
static OutDevice::WATCHEDPTR ( OutDevice  ,
routing  ,
OutDevice   
) [static, private]
Route::WATCHEDPTR ( InDevice  ,
routing  ,
Route   
) [private]
void OutMidiFile::WriteData ( wxConfigBase *  config) [virtual]

Erneute Implementation von Device.

Definiert in Zeile 532 der Datei DevMidF.cpp.

Benutzt _() und OutMidiFile::bending_range.

{
        config->Write(_("Bending_Range"), (long)bending_range);
}
virtual void Device::WriteData ( wxConfigBase *  config) [inline, virtual]

Erneute Implementation in OutMidiFile und OutMidiPort.

Definiert in Zeile 247 der Datei Device.h.

{};     
void Track::WriteDelta ( )

Definiert in Zeile 193 der Datei DevMidF.cpp.

Benutzt CurrentTime, Track::Data und Track::Time.

Wird benutzt von OutMidiFile::MidiOut(), Track::MidiOut2() und Track::MidiOut3().

{
        BYTE w[5];
        int i = 0;
        DWORD Delta = (unsigned int)CurrentTime - Time;
        Time = (unsigned int) CurrentTime;
        w[0] = Delta & 0x7F;
        Delta >>= 7;

        while ( Delta ) {
                i++;
                w[i] = 0x80 | (Delta & 0x7F);
                Delta >>= 7;
        }

        for (;i>=0;i--)
                Data->Add(w[i]);
}
void WriteLength ( mutOFstream &  os,
DWORD  l 
)

Definiert in Zeile 181 der Datei DevMidF.cpp.

Benutzt mutPutC.

Wird benutzt von Track::Save().

{
        mutPutC(os,(BYTE) ((l >> 24) & 0xFF));
        mutPutC(os,(BYTE) ((l >> 16) & 0xFF));
        mutPutC(os,(BYTE) ((l >> 8) & 0xFF));
        mutPutC(os,(BYTE) (l & 0xFF));
}
void WriteRoutes ( wxConfigBase *  config)

write the routes to the configuration

Parameter:
configconfiguration to be written to
void WriteRoutes ( char **  config)

write the routes to the configuration

Parameter:
configconfiguration to be written to

Definiert in Zeile 1030 der Datei EDevice.cpp.

Benutzt EDevice::BendingRange, EDevice::DevId, EDevice::DT, DTGis, DTMidiFile, DTMidiPort, DTNotSet, DTUnknown, Route::IFrom, EDevice::Mode, EDevice::Name, NewDevice(), ERoute::Next, EDevice::Next, EDevice::Nr, OutEDevices, EDevice::Routes und RTName.

{
        char *s = (char*) malloc(30000), s1[200];
        s[0] = 0;
        // config s‰ubern

        if ( *config )
                free(*config);

        // Unbenˆtigte Out Devices entfernen
        EDevice *Out;

        EDevice *In;

        for (Out = OutEDevices; Out; Out = Out->Next)
                Out->Nr = 0;

        for (In = InEDevices; In; In = In->Next)
                for (ERoute *R = In->Routes; R; R = R->Next)
                        if ( R->Out )
                                R->Out->Nr = 1;

        Out = OutEDevices;

        while ( Out ) {
                if ( !Out->Nr ) {
                        NewDevice(&OutEDevices, DTNotSet, "", 0, Out, 0);
                        Out = OutEDevices;
                        continue;
                }

                Out = Out->Next;
        }

        // Output schreiben
        strcat(s, "OUTPUT\n");

        int nr = 0;

        for ( Out = OutEDevices; Out; Out = Out->Next) {
                Out->Nr = nr++; // Nummerierung zur bequemen Referenzierung beim Input schreiben
                char s2[200];

                if ( strchr(Out->Name, ' ') )
                        sprintf(s2, "\"%s\"", Out->Name);
                else
                        strcpy(s2, Out->Name);

                switch ( Out->DT ) {

                case DTUnknown:
                        sprintf(s1, "  UNKNOWN %s\n", s2);

                        break;

                case DTMidiPort:
                        sprintf(s1, "  MIDIPORT %s %d %d\n", s2, Out->DevId, Out->BendingRange);

                        break;

                case DTMidiFile:
                        sprintf(s1, "  MIDIFILE %s %d %d\n", s2, 0, Out->BendingRange);

                        break;

                case DTGis:
                        sprintf(s1, "  GMN %s\n", s2);

                        break;
                }

                strcat(s, s1);
        }

        // Input schreiben
        nr = 0;

        strcat(s, "INPUT\n");

        for ( In = InEDevices; In; In = In->Next) {
                // Device schreiben
                In->Nr = nr++; // Nummern zur Referenz bei Play/Stop
                In->Mode = 0; // Mode auf "registriert" setzen
                char s2[200];

                if ( strchr(In->Name, ' ') )
                        sprintf(s2, "\"%s\"", In->Name);
                else
                        strcpy(s2,In->Name);

                switch ( In->DT ) {

                case DTUnknown:
                        sprintf(s1, "  UNKNOWN %s\n", s2);

                        break;

                case DTGis:
                        sprintf(s1, "  GMN %s\n", s2);

                        break;

                case DTMidiPort:
                        sprintf(s1, "  MIDIPORT %s %d\n", s2, In->DevId);

                        break;

                case DTMidiFile:
                        sprintf(s1, "  MIDIFILE %s\n", s2);

                        break;
                }

                strcat(s, s1);

                // Routen schreiben

                for (ERoute *R = In->Routes; R; R = R->Next) {
                        int OutNr = ( R->Out ) ?  R->Out->Nr : -1;
                        sprintf(s1, "    %s  %d %d  %d %d  %d  %d %d %d\n",
                                RTName[R->Type], R->IFrom, R->ITo, R->Box, R->Active, OutNr,
                                R->OFrom, R->OTo, R->ONoDrum ? 1 : 0);
                        strcat(s, s1);
                }
        }

        *config = strdup(s);

        free(s);
}
void WriteRoutes ( wxString &  config)

write the routes to the configuration

Parameter:
configconfiguration to be written to
WX_DECLARE_LIST ( MutDeviceShape  ,
MutDeviceShapeList   
)
WX_DECLARE_LIST ( MutBoxChannelShape  ,
MutBoxChannelShapeList   
)
WX_DECLARE_LIST ( MutBoxShape  ,
MutBoxShapeList   
)
WX_DEFINE_LIST ( MutBoxChannelShapeList  )
WX_DEFINE_LIST ( MutDeviceShapeList  )
WX_DEFINE_LIST ( MutBoxShapeList  )
virtual CurrentTimer::~CurrentTimer ( ) [inline, virtual]

Definiert in Zeile 543 der Datei Device.h.

{}
virtual Device::~Device ( ) [inline, virtual]

Definiert in Zeile 187 der Datei Device.h.

{       }
virtual InDevice::~InDevice ( ) [inline, virtual]

Definiert in Zeile 414 der Datei Device.h.

Benutzt DEBUGLOG und InDevice::TruncateDeviceList().

        {
                DEBUGLOG(routing,_T("%p deleting route %p"),this,(Route *)Routes);
                if ( Routes ) delete Routes;

                TruncateDeviceList (this);
                InDevice * root = deviceList;
                deviceList = NULL;

                DEBUGLOG(routing,_T("%p deleting Next %p"),this,(InDevice *)Next);
                if ( Next ) delete Next;

                deviceList = root;
                DEBUGLOG(routing,_T("deleting %p"),this);
        }
virtual MutBoxChannelShape::~MutBoxChannelShape ( ) [inline, virtual]

Definiert in Zeile 159 der Datei BoxChannelShape.h.

Benutzt DEBUGLOG, Route::getUserData(), MutBoxChannelShape::route und Route::setUserData().

        {
                if (route) {
                        wxASSERT (route->getUserData() == this);
                        route->setUserData (NULL);
                }
                DEBUGLOG(routing,_T("Parent is %p"),m_parent);
                if (m_parent) {
                        m_parent->InvalidateBestSize();
                        m_parent->SetInitialSize(wxDefaultSize);
                        m_parent->Layout();             
                }
        }
virtual MutBoxIconShape::~MutBoxIconShape ( ) [inline, virtual]

Definiert in Zeile 76 der Datei BoxIconShape.h.

{}
virtual MutBoxShape::~MutBoxShape ( ) [inline, virtual]

Definiert in Zeile 157 der Datei BoxShape.h.

        { 
//              delete channels; 
        }
virtual MutDeviceShape::~MutDeviceShape ( ) [inline, virtual]

Definiert in Zeile 111 der Datei DeviceShape.h.

{}
virtual MutIconShape::~MutIconShape ( ) [inline, virtual]

Definiert in Zeile 91 der Datei IconShape.h.

{}
MutInputDeviceShape::~MutInputDeviceShape ( ) [virtual]

Definiert in Zeile 143 der Datei InputDeviceShape.cpp.

Benutzt MutInputDeviceShape::device.

                                          {
        if (device) {
                wxASSERT (device -> getUserData() == this);
                device -> setUserData (NULL);
        }
}
virtual NewMutBoxShape::~NewMutBoxShape ( ) [inline, virtual]

Definiert in Zeile 135 der Datei NewBoxShape.h.

{}
virtual OutDevice::~OutDevice ( ) [inline, virtual]

Definiert in Zeile 288 der Datei Device.h.

Benutzt DEBUGLOG und OutDevice::TruncateDeviceList().

        {
                DEBUGLOG(routing,_T("this = %p"),this);
                TruncateDeviceList (this);
                OutDevice * root = deviceList;
                deviceList = NULL;
                
                if ( Next ) delete Next;
                
                deviceList = root;
        }
virtual Route::~Route ( ) [inline, virtual]

Definiert in Zeile 203 der Datei Route.h.

Benutzt DEBUGLOG und Route::RemoveFromRouteList().

        {
                DEBUGLOG(routing,_T("deleting chain from %p"));
                if ( Next ) delete Next;
                DEBUGLOG(routing,_T("deleting %p"));
                RemoveFromRouteList(this);
        }

Variablen-Dokumentation

mutString accedentials [static]

Definiert in Zeile 79 der Datei GSP.cpp.

Wird benutzt von GisNote::GisNote() und ReadNote().

Definiert in Zeile 70 der Datei RouteIcons.cpp.

Wird benutzt von MutBoxChannelShape::GetMutIcon() und initMutIconShapes().

Definiert in Zeile 70 der Datei RouteIcons.cpp.

Wird benutzt von MutBoxChannelShape::GetMutIcon() und initMutIconShapes().

MutIcon BoxBitmap

Definiert in Zeile 68 der Datei RouteIcons.cpp.

Wird benutzt von MutBoxIconShape::GetMutIcon() und initMutIconShapes().

MutIcon BoxBitmap

Definiert in Zeile 68 der Datei RouteIcons.cpp.

Wird benutzt von MutBoxIconShape::GetMutIcon() und initMutIconShapes().

wxColour BoxColors[MAX_BOX]

Definiert in Zeile 157 der Datei BoxShape.cpp.

Wird benutzt von BoxColor() und initBoxColors().

int MutBoxShape::boxId [protected]
bool BoxUsed[MAX_BOX]

which mutabor boxes are used at all?

Definiert in Zeile 1165 der Datei EDevice.cpp.

Definiert in Zeile 71 der Datei GSP.cpp.

Wird benutzt von DoParse() und GspParse().

char Brackets[200]

Definiert in Zeile 72 der Datei GSP.cpp.

Wird benutzt von DoParse() und GspParse().

ChannelData Cd(0, 0)

Wird benutzt von InGis::Proceed().

wxSizer* MutBoxShape::channels [protected]
char[GSP_MAX_SEP]
int curBox

Definiert in Zeile 60 der Datei GIS.cpp.

mutString CurrentId

Definiert in Zeile 48 der Datei DevGIS.cpp.

Wird benutzt von OutGis::Gis() und InGis::Proceed().

mutString CurrentId

Definiert in Zeile 48 der Datei DevGIS.cpp.

Wird benutzt von OutGis::Gis() und InGis::Proceed().

mutChar CurrentLine[GSP_MAX_LINE]
mutString CurrentLine
size_t CurrentPos
size_t CurrentPos
mutString CurrentSep

Definiert in Zeile 49 der Datei DevGIS.cpp.

Wird benutzt von InGis::Proceed().

mutString CurrentSep

Definiert in Zeile 49 der Datei DevGIS.cpp.

Wird benutzt von InGis::Proceed().

Definiert in Zeile 55 der Datei Device.cpp.

Wird benutzt von Activate(), NRT_Play() und Track::WriteDelta().

Definiert in Zeile 55 der Datei Device.cpp.

Wird benutzt von Activate(), NRT_Play() und Track::WriteDelta().

mutChar DelimitChars[] = mutT("{}[]()")

Definiert in Zeile 86 der Datei GSP.cpp.

Wird benutzt von DoParse().

int Device::DevId [protected]
const mutString DevTypeName[]
Initialisierung:
{
N_("Unknown"),
N_("Midi Port"),
N_("Midi File"),
N_("GUIDO .gmn File")
}

Definiert in Zeile 175 der Datei Route.cpp.

const mutString DevTypeName[]

Definiert in Zeile 175 der Datei Route.cpp.

Definiert in Zeile 61 der Datei RouteIcons.cpp.

Wird benutzt von initMutIcon() und initMutIconShapes().

frac duration [static]

Definiert in Zeile 81 der Datei GSP.cpp.

Wird benutzt von GisNote::GisNote() und ReadNote().

int Eof

Definiert in Zeile 43 der Datei GSP_File.cpp.

Wird benutzt von DoParse(), GetSep(), GspParse(), ReadNewLine() und ReadParaStr().

int Eof

Definiert in Zeile 43 der Datei GSP_File.cpp.

Wird benutzt von DoParse(), GetSep(), GspParse(), ReadNewLine() und ReadParaStr().

Definiert in Zeile 69 der Datei DeviceShape.cpp.

{
        SetIcon(GetMutIcon());
        //  SetLabel (filename.GetFullName());
        return GetIcon().IsOk();
}
MutPanel EVT_PAINT(MutIconShape::OnPaint) EVT_SET_FOCUS(MutIconShape

Definiert in Zeile 134 der Datei IconShape.cpp.

{
        DEBUGLOG (other,_T (""));
        //    Enable(true);
        //                SetBackgroundColour(BoxColor(GetId()));
        if (!MutPanel::Create(parent,id,wxDefaultPosition,wxDefaultSize,wxBORDER_RAISED | wxTAB_TRAVERSAL)) return false;
        Icon = GetMutIcon();
        wxASSERT(Icon.IsOk());
        SetAutoLayout(true);
        //      Layout();
        
        
        return true;
}
mutTextStream* File

Definiert in Zeile 45 der Datei GSP_File.cpp.

Wird benutzt von CloseFile(), OpenFile() und ReadNewLine().

Definiert in Zeile 107 der Datei OutputMidiFileDeviceShape.h.

Wird benutzt von MutOutputMidiFileDeviceShape::SetLabel().

wxFileName MutInputMidiFileDeviceShape::fileName [protected]

Definiert in Zeile 183 der Datei InputMidiFileDeviceShape.h.

Wird benutzt von MutInputMidiFileDeviceShape::SetLabel().

Definiert in Zeile 109 der Datei InputGuidoFileDeviceShape.h.

Wird benutzt von MutInputGuidoFileDeviceShape::SetLabel().

Definiert in Zeile 108 der Datei OutputGuidoFileDeviceShape.h.

Wird benutzt von MutOutputGuidoFileDeviceShape::SetLabel().

GisReadArtProceed GisReadArtDummy
GisReadProceed GisReadDummy

Definiert in Zeile 37 der Datei GSP.cpp.

Wird benutzt von DoError(), GetSep(), GspParse(), ReadNewLine() und SavePos().

Definiert in Zeile 37 der Datei GSP.cpp.

Wird benutzt von DoError(), GetSep(), GspParse(), ReadNewLine() und SavePos().

int GspError

Definiert in Zeile 41 der Datei GSP.cpp.

Wird benutzt von CheckError(), DoError(), DoParse(), GetSep(), GspParse(), InGis::Open() und ReadTag().

int GspError

Definiert in Zeile 41 der Datei GSP.cpp.

Wird benutzt von CheckError(), DoError(), DoParse(), GetSep(), GspParse(), InGis::Open() und ReadTag().

mutString GspErrorLine

Definiert in Zeile 40 der Datei GSP.cpp.

Wird benutzt von CheckError(), DoError() und GspParse().

mutString GspErrorLine

Definiert in Zeile 40 der Datei GSP.cpp.

Wird benutzt von CheckError(), DoError() und GspParse().

Definiert in Zeile 38 der Datei GSP.cpp.

Wird benutzt von CheckError(), DoError(), GspParse() und InGis::Open().

Definiert in Zeile 38 der Datei GSP.cpp.

Wird benutzt von CheckError(), DoError(), GspParse() und InGis::Open().

Definiert in Zeile 39 der Datei GSP.cpp.

Wird benutzt von CheckError(), DoError(), GspParse() und InGis::Open().

Definiert in Zeile 39 der Datei GSP.cpp.

Wird benutzt von CheckError(), DoError(), GspParse() und InGis::Open().

const mutTranslationChar* GspErrorText[]

Definiert in Zeile 28 der Datei GSP_Err.cpp.

Wird benutzt von InGis::Open().

const mutTranslationChar* GspErrorText[]

Definiert in Zeile 28 der Datei GSP_Err.cpp.

Wird benutzt von InGis::Open().

MutIcon GuidoFileBitmap
MutIcon GuidoFileBitmap
int Device::Id [private]

Erneute Implementation in InGis.

Definiert in Zeile 177 der Datei Device.h.

Wird benutzt von Device::GetId() und Device::SetId().

int Route::Id [private]

Definiert in Zeile 160 der Datei Route.h.

Wird benutzt von Route::GetId(), Route::InitializeIds(), Route::Route() und Route::SetInputId().

WATCHEDPTR (OutDevice,routing,OutDevice) OutDevice char InDevChanged = 0

input devices for GUI

Definiert in Zeile 41 der Datei EDevice.cpp.

Wird benutzt von MutRouteWnd::OnDraw() und ScanRoutes().

int Route::inputid [private]

Definiert in Zeile 161 der Datei Route.h.

Wird benutzt von Route::InitializeIds(), Route::LoadRoutes() und Route::SetInputId().

Definiert in Zeile 134 der Datei MutRouteWnd.cpp.

Definiert in Zeile 64 der Datei GSP.cpp.

Wird benutzt von DoParse() und GetSep().

Definiert in Zeile 74 der Datei GIS.cpp.

Definiert in Zeile 72 der Datei GIS.cpp.

Definiert in Zeile 60 der Datei GIS.cpp.

Wird benutzt von UnRavel().

Definiert in Zeile 62 der Datei GIS.cpp.

Wird benutzt von BeginRange().

Definiert in Zeile 70 der Datei GIS.cpp.

Definiert in Zeile 74 der Datei GSP.cpp.

Wird benutzt von DoParse(), GspParse() und ReadTag().

int lMidiCode[8] = { 3, 3, 3, 3, 2, 2, 3, 1 }
int MutBoxShape::maxBoxId [static, protected]

Definiert in Zeile 140 der Datei BoxShape.h.

Wird benutzt von MutBoxShape::InitializeDialog() und MutBoxShape::SetBoxId().

int Route::maxRouteId = 1 [static]

Definiert in Zeile 170 der Datei Route.h.

Wird benutzt von Route::NextRouteId().

MutIcon MidiFileBitmap
MutIcon MidiFileBitmap
bool minus

Definiert in Zeile 326 der Datei GSP.cpp.

Wird benutzt von ReadParaNumber().

enum MutaborModeType InDevice::Mode [protected]
mutString Device::Name [protected]
int nData

Definiert in Zeile 170 der Datei DevMidF.cpp.

Wird benutzt von InMidiFile::ProceedRoute() und InMidiFile::ReadMidiProceed().

MutIcon NewBoxBitmap

Definiert in Zeile 69 der Datei RouteIcons.cpp.

Wird benutzt von IMPLEMENT_CLASS() und initMutIconShapes().

MutIcon NewBoxBitmap

Definiert in Zeile 69 der Datei RouteIcons.cpp.

Wird benutzt von IMPLEMENT_CLASS() und initMutIconShapes().

Definiert in Zeile 63 der Datei RouteIcons.cpp.

Wird benutzt von MutNewInputDeviceShape::GetMutIcon() und initMutIconShapes().

Definiert in Zeile 63 der Datei RouteIcons.cpp.

Wird benutzt von MutNewInputDeviceShape::GetMutIcon() und initMutIconShapes().

Definiert in Zeile 65 der Datei RouteIcons.cpp.

Wird benutzt von MutNewOutputDeviceShape::GetMutIcon() und initMutIconShapes().

Definiert in Zeile 65 der Datei RouteIcons.cpp.

Wird benutzt von MutNewOutputDeviceShape::GetMutIcon() und initMutIconShapes().

long NRT_Speed

Definiert in Zeile 171 der Datei DevMidF.cpp.

Wird benutzt von OutMidiFile::Close() und InMidiFile::Open().

Definiert in Zeile 65 der Datei GSP.cpp.

Wird benutzt von ReadLong() und ReadParaNumber().

int octave [static]

Definiert in Zeile 77 der Datei GSP.cpp.

Wird benutzt von GisNote::GisNote(), GspParse(), Note() und ReadNote().

output devices for GUI

Definiert in Zeile 42 der Datei EDevice.cpp.

Wird benutzt von GetEOut(), ScanDevices(), ScanRoutes() und WriteRoutes().

int Route::outputid [private]

Definiert in Zeile 162 der Datei Route.h.

Wird benutzt von Route::InitializeIds() und Route::LoadRoutes().

Definiert in Zeile 70 der Datei GIS.cpp.

Wird benutzt von MutaborTag() und UnRavel().

Definiert in Zeile 63 der Datei GSP.cpp.

Wird benutzt von DoParse(), GetSep() und ReadTag().

Definiert in Zeile 71 der Datei RouteIcons.cpp.

Wird benutzt von MutBoxChannelShape::GetMutIcon() und initMutIconShapes().

Definiert in Zeile 71 der Datei RouteIcons.cpp.

Wird benutzt von MutBoxChannelShape::GetMutIcon() und initMutIconShapes().

BYTE* pData

Definiert in Zeile 169 der Datei DevMidF.cpp.

Wird benutzt von InMidiFile::ProceedRoute() und InMidiFile::ReadMidiProceed().

mutString PossibleErrorLine

Definiert in Zeile 46 der Datei GSP.cpp.

Wird benutzt von CheckError() und SavePos().

Definiert in Zeile 44 der Datei GSP.cpp.

Wird benutzt von CheckError() und SavePos().

Definiert in Zeile 45 der Datei GSP.cpp.

Wird benutzt von CheckError() und SavePos().

Definiert in Zeile 58 der Datei GIS.cpp.

Wird benutzt von GisParse().

WATCHEDPTR (Route,routing,Route) Route const mutString RTName[]
Initialisierung:
{
_T("ALL"), _T("ELSE"), _T("CHANNEL"), _T("STAFF")
}

Definiert in Zeile 61 der Datei Route.cpp.

Wird benutzt von Route::GetTypeName(), compat30::SaveRoutes(), compat30::Str2RT(), Str2RT() und WriteRoutes().

const mutString RTName[]

Definiert in Zeile 61 der Datei Route.cpp.

Wird benutzt von Route::GetTypeName(), compat30::SaveRoutes(), compat30::Str2RT(), Str2RT() und WriteRoutes().

char Sep[GSP_MAX_SEP]

Definiert in Zeile 58 der Datei GSP.cpp.

Wird benutzt von ChordNote::CheckCloseAlter(), ChordNote::CheckCloseTie(), GetSep() und takesep().

mutChar SepChars[] = mutT(" \t\r\n")

Definiert in Zeile 84 der Datei GSP.cpp.

Wird benutzt von GetSep().

int SepPos

Definiert in Zeile 59 der Datei GSP.cpp.

Wird benutzt von GetSep(), ReadLong(), ReadNote(), ReadParaNumber() und ReadTag().

int SepPos

Definiert in Zeile 59 der Datei GSP.cpp.

Wird benutzt von GetSep(), ReadLong(), ReadNote(), ReadParaNumber() und ReadTag().

wxSizerFlags MutBoxShape::sizerFlags [static, protected]
wxSizerFlags MutInputDeviceShape::sizerFlags [static, protected]
wxStaticText* MutIconShape::staticText [protected]
mutString TagName

Definiert in Zeile 66 der Datei GIS.cpp.

Wird benutzt von BeginRange(), BuildTag(), GisParse(), Tag() und UnRavel().

const mutChar* Tags[NTAGS]

Definiert in Zeile 38 der Datei GIS.cpp.

Wird benutzt von GetTagId() und GisTag::GisTag().

const mutChar* Tags[NTAGS]
Initialisierung:
        {
                mutT(""), mutT("intens"),  mutT("slur"),  mutT("beam"), mutT("text"),
                mutT("bar"), mutT("cresc"), mutT("dim"), mutT("crescBegin"), mutT("crescEnd"),
                mutT("dimBegin"), mutT("dimEnd"), mutT("tempo"), mutT("accel"), mutT("rit"),
                mutT("accelBegin"), mutT("accelEnd"), mutT("ritBegin"), mutT("ritEnd"), mutT("instr"),
                mutT("tie"), mutT("stacc"), mutT("accent"), mutT("ten"), mutT("marcato"),
                mutT("trill"), mutT("mord"), mutT("turn"), mutT("trem"), mutT("fermata"),
                mutT("grace"), mutT("cue"), mutT("repeatBegin"), mutT("repeatEnd"), mutT("clef"),
                mutT("meter"), mutT("key"), mutT("oct"), mutT("staff"), mutT("beamsAuto"),
                mutT("beamsOff"), mutT("stemsAuto"), mutT("stemsUp"), mutT("stemsDown"), mutT("doubleBar"),
                mutT("tactus"), mutT("title"), mutT("composer"), mutT("mark"), mutT("label"),
                mutT("alter"), mutT("mutabor")
        }

Definiert in Zeile 38 der Datei GIS.cpp.

Wird benutzt von GetTagId() und GisTag::GisTag().

mutString TagSep

Definiert in Zeile 68 der Datei GIS.cpp.

Wird benutzt von BeginParameter(), BeginRange(), BuildTag(), EndParameter(), GisParse() und Tag().

const mutChar* TagShorts[NTAGSHORTS]

Definiert in Zeile 53 der Datei GIS.cpp.

Wird benutzt von GetTagId() und GisTag::GisTag().

const mutChar* TagShorts[NTAGSHORTS]
Initialisierung:
        {
                mutT(""), mutT("i"), mutT("sl"), mutT("bm"), mutT("t"), mutT("|")
        }

Definiert in Zeile 53 der Datei GIS.cpp.

Wird benutzt von GetTagId() und GisTag::GisTag().

Definiert in Zeile 454 der Datei MutRouteWnd.cpp.

Definiert in Zeile 454 der Datei MutRouteWnd.cpp.

Definiert in Zeile 454 der Datei MutRouteWnd.cpp.


Erzeugt am Sun Aug 21 2011 10:52:05 für Mutabor von doxygen 1.7.4