Last active
December 10, 2020 14:18
-
-
Save scotchi/4066f56b71b7b3b112b05df26d52034c to your computer and use it in GitHub Desktop.
Sitala's API for enabling multi-out in hosts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef HOST_MULTIOUT_H_INCLUDED | |
#define HOST_MULTIOUT_H_INCLUDED | |
#include <memory> | |
#include <string> | |
namespace Host | |
{ | |
class MultiOut | |
{ | |
public: | |
enum class ChannelWidth | |
{ | |
Mono, | |
Stereo | |
}; | |
class Plugin | |
{ | |
public: | |
virtual void setMultiOutEnabled(bool enabled = true) = 0; | |
virtual int channels() const = 0; | |
virtual ChannelWidth channelWidth() const = 0; | |
virtual std::string channelName(int channel) const = 0; | |
}; | |
protected: | |
MultiOut(Plugin *plugin); | |
virtual ~MultiOut(); | |
virtual void setEnabled(bool active) = 0; | |
virtual void channelRenamed(int channel, const std::string &name) = 0; | |
virtual void channelMoved(int fromChannel, int toChannel) = 0; | |
private: | |
class Private; | |
std::unique_ptr<Private> d; | |
}; | |
} | |
#endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment