/[svn]/linuxsampler/trunk/src/engines/EngineChannel.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/EngineChannel.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2499 by schoenebeck, Mon Mar 12 15:14:31 2012 UTC revision 2500 by schoenebeck, Fri Jan 10 12:20:05 2014 UTC
# Line 1  Line 1 
1  /***************************************************************************  /***************************************************************************
2   *                                                                         *   *                                                                         *
3   *   Copyright (C) 2005 - 2012 Christian Schoenebeck                       *   *   Copyright (C) 2005 - 2014 Christian Schoenebeck                       *
4   *                                                                         *   *                                                                         *
5   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
6   *   it under the terms of the GNU General Public License as published by  *   *   it under the terms of the GNU General Public License as published by  *
# Line 58  namespace LinuxSampler { Line 58  namespace LinuxSampler {
58              // abstract methods              // abstract methods
59              //     (these have to be implemented by the descendant)              //     (these have to be implemented by the descendant)
60    
61              virtual void    PrepareLoadInstrument(const char* FileName, uint Instrument) = 0;              // general sampler part management
             virtual void    LoadInstrument() = 0;  
62              virtual void    Reset() = 0;              virtual void    Reset() = 0;
63              virtual void    SendNoteOn(uint8_t Key, uint8_t Velocity, uint8_t MidiChannel) = 0;              virtual void    SendNoteOn(uint8_t Key, uint8_t Velocity, uint8_t MidiChannel) = 0;
64              virtual void    SendNoteOn(uint8_t Key, uint8_t Velocity, uint8_t MidiChannel, int32_t FragmentPos) = 0;              virtual void    SendNoteOn(uint8_t Key, uint8_t Velocity, uint8_t MidiChannel, int32_t FragmentPos) = 0;
# Line 76  namespace LinuxSampler { Line 75  namespace LinuxSampler {
75              virtual float   Pan() = 0;              virtual float   Pan() = 0;
76              virtual void    Pan(float f) = 0;              virtual void    Pan(float f) = 0;
77              virtual uint    Channels() = 0;              virtual uint    Channels() = 0;
78    
79                // audio driver management
80              virtual void    Connect(AudioOutputDevice* pAudioOut) = 0;              virtual void    Connect(AudioOutputDevice* pAudioOut) = 0;
81              virtual void    DisconnectAudioOutputDevice() = 0;              virtual void    DisconnectAudioOutputDevice() = 0;
82              virtual AudioOutputDevice* GetAudioOutputDevice() = 0;              virtual AudioOutputDevice* GetAudioOutputDevice() = 0;
83              virtual void    SetOutputChannel(uint EngineAudioChannel, uint AudioDeviceChannel) = 0;              virtual void    SetOutputChannel(uint EngineAudioChannel, uint AudioDeviceChannel) = 0;
84              virtual int     OutputChannel(uint EngineAudioChannel) = 0;              virtual int     OutputChannel(uint EngineAudioChannel) = 0;
85              virtual void    Connect(MidiInputPort* pMidiPort, midi_chan_t MidiChannel) = 0;  
86              virtual void    DisconnectMidiInputPort() = 0;              // MIDI driver management
87              virtual MidiInputPort* GetMidiInputPort() = 0;              virtual void    Connect(MidiInputPort* pMidiPort) = 0;
88                virtual void    Disconnect(MidiInputPort* pMidiPort) = 0;
89                virtual void    DisconnectAllMidiInputPorts() = 0;
90                virtual uint    GetMidiInputPortCount() = 0;
91                virtual MidiInputPort* GetMidiInputPort(uint index) = 0;
92              virtual midi_chan_t MidiChannel() = 0;              virtual midi_chan_t MidiChannel() = 0;
93                virtual void    SetMidiChannel(midi_chan_t MidiChannel) = 0;
94                // (deprecated MIDI driver management methods)
95                virtual void    Connect(MidiInputPort* pMidiPort, midi_chan_t MidiChannel) DEPRECATED_API = 0;
96                virtual void    DisconnectMidiInputPort() DEPRECATED_API = 0;
97                virtual MidiInputPort* GetMidiInputPort() DEPRECATED_API = 0;
98    
99                // virtual MIDI driver management (i.e. virtual on-screen MIDI keyboards)
100                virtual void    Connect(VirtualMidiDevice* pDevice) = 0;
101                virtual void    Disconnect(VirtualMidiDevice* pDevice) = 0;
102    
103                // instrument (sound file) management
104                virtual void    PrepareLoadInstrument(const char* FileName, uint Instrument) = 0;
105                virtual void    LoadInstrument() = 0;
106              virtual String  InstrumentFileName() = 0; ///< Returns the file name of the currently loaded instrument. Equivalent as calling InstrumentFileName(0).              virtual String  InstrumentFileName() = 0; ///< Returns the file name of the currently loaded instrument. Equivalent as calling InstrumentFileName(0).
107              virtual String  InstrumentFileName(int index);              virtual String  InstrumentFileName(int index);
108              virtual String  InstrumentName() = 0;              virtual String  InstrumentName() = 0;
109              virtual int     InstrumentIndex() = 0;              virtual int     InstrumentIndex() = 0;
110              virtual int     InstrumentStatus() = 0;              virtual int     InstrumentStatus() = 0;
111    
112                // sampler format / sampler engine implementation details
113              virtual Engine* GetEngine() = 0;              virtual Engine* GetEngine() = 0;
114              virtual String  EngineName() = 0;              virtual String  EngineName() = 0;
115    
116                // effect routing
117              virtual FxSend* AddFxSend(uint8_t MidiCtrl, String Name = "") throw (Exception) = 0;              virtual FxSend* AddFxSend(uint8_t MidiCtrl, String Name = "") throw (Exception) = 0;
118              virtual FxSend* GetFxSend(uint FxSendIndex) = 0;              virtual FxSend* GetFxSend(uint FxSendIndex) = 0;
119              virtual uint    GetFxSendCount() = 0;              virtual uint    GetFxSendCount() = 0;
120              virtual void    RemoveFxSend(FxSend* pFxSend) = 0;              virtual void    RemoveFxSend(FxSend* pFxSend) = 0;
             virtual void    Connect(VirtualMidiDevice* pDevice) = 0;  
             virtual void    Disconnect(VirtualMidiDevice* pDevice) = 0;  
121    
122    
123              /////////////////////////////////////////////////////////////////              /////////////////////////////////////////////////////////////////

Legend:
Removed from v.2499  
changed lines
  Added in v.2500

  ViewVC Help
Powered by ViewVC