Skip to content

Commit

Permalink
Move some pin connector methods into Matrix
Browse files Browse the repository at this point in the history
  • Loading branch information
messmerd committed Sep 14, 2024
1 parent af5c16b commit 32557d4
Show file tree
Hide file tree
Showing 4 changed files with 210 additions and 200 deletions.
31 changes: 20 additions & 11 deletions include/PluginPinConnector.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,20 +57,34 @@ class LMMS_EXPORT PluginPinConnector
using PinMap = std::vector<std::vector<BoolModel*>>;

//! A plugin's input or output connections and other info
struct Matrix
class Matrix
{
PinMap pins;
int channelCount = 0;
std::vector<QString> channelNames; //!< optional
public:
auto pins() const -> const PinMap& { return m_pins; }

// TODO: Channel groupings, port configurations, ...
auto channelCount() const -> int { return m_channelCount; }

auto channelName(int channel) const -> QString;

auto enabled(std::uint8_t trackChannel, unsigned pluginChannel) const -> bool
{
return pins[trackChannel][pluginChannel]->value();
return m_pins[trackChannel][pluginChannel]->value();
}

friend class PluginPinConnector;

private:
void setTrackChannelCount(PluginPinConnector* parent, int count, const QString& nameFormat);
void setPluginChannelCount(PluginPinConnector* parent, int count, const QString& nameFormat);

void setDefaultConnections();

void saveSettings(QDomDocument& doc, QDomElement& elem) const;
void loadSettings(const QDomElement& elem);

PinMap m_pins;
int m_channelCount = 0;
std::vector<QString> m_channelNames; //!< optional
};

PluginPinConnector(Model* parent = nullptr);
Expand Down Expand Up @@ -134,11 +148,6 @@ public slots:
void setTrackChannelCount(int count);

private:
static void saveSettings(const Matrix& matrix, QDomDocument& doc, QDomElement& elem);
static void loadSettings(const QDomElement& elem, Matrix& matrix);

void setPluginChannelCount(int newCount, bool isInput, Matrix& matrix);

Matrix m_in; //!< LMMS --> Plugin
Matrix m_out; //!< Plugin --> LMMS

Expand Down
Loading

0 comments on commit 32557d4

Please sign in to comment.