/[svn]/linuxsampler/trunk/src/mididriver/MidiInputDeviceAlsa.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/mididriver/MidiInputDeviceAlsa.h

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

revision 152 by schoenebeck, Sun May 23 19:18:06 2004 UTC revision 153 by senkov, Mon Jun 28 04:21:11 2004 UTC
# Line 39  namespace LinuxSampler { Line 39  namespace LinuxSampler {
39       */       */
40      class MidiInputDeviceAlsa : public MidiInputDevice, public Thread {      class MidiInputDeviceAlsa : public MidiInputDevice, public Thread {
41          public:          public:
42              MidiInputDeviceAlsa(char* AutoConnectPortID = NULL);              MidiInputDeviceAlsa(std::map<String,String> Parameters);
43              ~MidiInputDeviceAlsa();              ~MidiInputDeviceAlsa();
44    
45              // derived abstract methods from class 'MidiInputDevice'              // derived abstract methods from class 'MidiInputDevice'
46              void Listen();              void Listen();
47              void StopListen();              void StopListen();
48              void SetInputPort(const char *);              String Driver() { return "Alsa"; };
49    
50                static String Description();
51                static String Version();
52    
53                class MidiInputPortAlsa : public MidiInputPort {
54                        public:
55                                void ConnectToAlsaMidiSource(const char* MidiSource);
56    
57                                class ParameterAlsaSeqBindings : public DeviceCreationParameterString {
58                                        public:
59                                                ParameterAlsaSeqBindings(MidiInputPortAlsa* pPort) { this->pPort = pPort; InitWithDefault();}
60                                                virtual String Description()                                                    { return "Bindings to other Alsa sequencer clients";   }
61                                                virtual bool   Fix()                                                            { return false;   }
62                                                virtual bool   Mandatory()                                                      { return false;   }
63                                                virtual std::map<String,DeviceCreationParameter*> DependsAsParameters()         { return std::map<String,DeviceCreationParameter*>(); }
64                                                virtual optional<String>    Default(std::map<String,String> Parameters)         { return ""; }
65                                                virtual std::vector<String> PossibilitiesAsString(std::map<String,String> Parameters) { return std::vector<String>(); } //TODO
66                                                virtual void             OnSetValue(String s) throw (LinuxSamplerException)     { pPort->ConnectToAlsaMidiSource(s.c_str()); }
67                                        protected:
68                                                MidiInputPortAlsa* pPort;
69                                };
70    
71                        protected:
72                                MidiInputPortAlsa(MidiInputDeviceAlsa* pDevice, int portNumber);
73                                ~MidiInputPortAlsa();
74                                friend class MidiInputDeviceAlsa;
75                        private:
76                                MidiInputDeviceAlsa* pDevice;
77                };
78    
79                MidiInputPortAlsa* CreateMidiPort( void );
80    
             // own methods  
             void ConnectToAlsaMidiSource(const char* MidiSource);  
81          protected:          protected:
82                std::map<String,DeviceCreationParameter*> CreateParameters(std::map<String,String> Parameters);
83              int Main(); ///< Implementation of virtual method from class Thread              int Main(); ///< Implementation of virtual method from class Thread
84          private:          private:
85                static std::map<String,DeviceCreationParameter*> CreateAvailableParameters();
86              snd_seq_t* hAlsaSeq;              snd_seq_t* hAlsaSeq;
87              int        hAlsaSeqClient;       ///< Alsa Sequencer client ID              int        hAlsaSeqClient;       ///< Alsa Sequencer client ID
             int        hAlsaSeqPort;     ///< Alsa Sequencer client port number  
88      };      };
89  }  }
90    

Legend:
Removed from v.152  
changed lines
  Added in v.153

  ViewVC Help
Powered by ViewVC