| Index: media/midi/midi_manager_alsa.h
|
| diff --git a/media/midi/midi_manager_alsa.h b/media/midi/midi_manager_alsa.h
|
| index 86eb18decd49f8e3398b3b49e238a24b1acef9c7..67abfc3fb5ca495e396cc73692f70575fd5e29e4 100644
|
| --- a/media/midi/midi_manager_alsa.h
|
| +++ b/media/midi/midi_manager_alsa.h
|
| @@ -36,14 +36,15 @@ class MEDIA_EXPORT MidiManagerAlsa : public MidiManager {
|
|
|
| private:
|
| FRIEND_TEST_ALL_PREFIXES(MidiManagerAlsaTest, ExtractManufacturer);
|
| - FRIEND_TEST_ALL_PREFIXES(MidiManagerAlsaTest, UdevEscape);
|
|
|
| - class CardInfo {
|
| + class MidiDevice {
|
| public:
|
| - CardInfo(const MidiManagerAlsa* outer,
|
| - const std::string& alsa_name, const std::string& alsa_longname,
|
| - const std::string& alsa_driver, int card_index);
|
| - ~CardInfo();
|
| + MidiDevice(const MidiManagerAlsa* outer,
|
| + const std::string& alsa_name,
|
| + const std::string& alsa_longname,
|
| + const std::string& alsa_driver,
|
| + int card_index);
|
| + ~MidiDevice();
|
|
|
| const std::string alsa_name() const;
|
| const std::string manufacturer() const;
|
| @@ -53,7 +54,6 @@ class MEDIA_EXPORT MidiManagerAlsa : public MidiManager {
|
|
|
| private:
|
| FRIEND_TEST_ALL_PREFIXES(MidiManagerAlsaTest, ExtractManufacturer);
|
| - FRIEND_TEST_ALL_PREFIXES(MidiManagerAlsaTest, UdevEscape);
|
|
|
| // Extracts the manufacturer using heuristics and a variety of sources.
|
| static std::string ExtractManufacturerString(
|
| @@ -68,16 +68,25 @@ class MEDIA_EXPORT MidiManagerAlsa : public MidiManager {
|
| std::string alsa_driver_;
|
| std::string udev_id_path_;
|
| std::string udev_id_id_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(MidiDevice);
|
| };
|
|
|
| + // Returns an ordered vector of all the rawmidi devices on the system.
|
| + ScopedVector<MidiDevice> AllMidiDevices();
|
| +
|
| + // Enumerate all the ports for initial setup.
|
| + void EnumeratePorts();
|
| +
|
| // An internal callback that runs on MidiSendThread.
|
| void SendMidiData(uint32 port_index,
|
| const std::vector<uint8>& data);
|
|
|
| - void EventReset();
|
| + void ScheduleEventLoop();
|
| void EventLoop();
|
| + void ProcessSingleEvent(snd_seq_event_t* event, double timestamp);
|
|
|
| - // Alsa seq handles.
|
| + // ALSA seq handles.
|
| snd_seq_t* in_client_;
|
| snd_seq_t* out_client_;
|
| int out_client_id_;
|
| @@ -86,11 +95,11 @@ class MEDIA_EXPORT MidiManagerAlsa : public MidiManager {
|
| int in_port_;
|
| std::vector<int> out_ports_;
|
|
|
| - // Mapping from Alsa client:port to our index.
|
| + // Mapping from ALSA client:port to our index.
|
| typedef std::map<int, uint32> SourceMap;
|
| SourceMap source_map_;
|
|
|
| - // Alsa event <-> MIDI coders.
|
| + // ALSA event <-> MIDI coders.
|
| snd_midi_event_t* decoder_;
|
| typedef std::vector<snd_midi_event_t*> EncoderList;
|
| EncoderList encoders_;
|
|
|