You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
738B

  1. #pragma once
  2. #include "bridgeprotocol.hpp"
  3. #include "audio.hpp"
  4. #include "midi.hpp"
  5. namespace rack {
  6. struct BridgeMidiInputDevice : midi::InputDevice {
  7. };
  8. struct BridgeMidiDriver : midi::Driver {
  9. BridgeMidiInputDevice devices[16];
  10. std::string getName() override {return "Bridge";}
  11. std::vector<int> getInputDeviceIds() override;
  12. std::string getInputDeviceName(int deviceId) override;
  13. midi::InputDevice *subscribeInputDevice(int deviceId, midi::Input *input) override;
  14. void unsubscribeInputDevice(int deviceId, midi::Input *input) override;
  15. };
  16. void bridgeInit();
  17. void bridgeDestroy();
  18. void bridgeAudioSubscribe(int channel, audio::IO *audio);
  19. void bridgeAudioUnsubscribe(int channel, audio::IO *audio);
  20. } // namespace rack