allow setting preview port by double-click (root graph only)

portability/boost
zetaPRIME 2018-12-31 22:17:01 -05:00
parent 50111e75c5
commit f1dc18c274
2 changed files with 13 additions and 0 deletions

View File

@ -14,10 +14,14 @@ using namespace Xybrid::Data;
using namespace Xybrid::Config;
#include "data/graph.h"
#include "data/project.h"
#include "ui/patchboard/nodeobject.h"
using namespace Xybrid::UI;
#include "audio/audioengine.h"
using namespace Xybrid::Audio;
#include "util/strings.h"
namespace {
@ -111,6 +115,13 @@ void IOPort::loadData(QCborMap& m) {
void IOPort::onUnparent(std::shared_ptr<Graph>) { remove(); }
void IOPort::onParent(std::shared_ptr<Graph>) { add(); }
void IOPort::onDoubleClick() {
// if it's a command input on the root graph...
if (type == Port::Input && dataType == Port::Command && !parent.lock()->parent.lock()) {
audioEngine->preview(project->shared_from_this(), index, -1, false); // set preview port
}
}
void IOPort::onGadgetCreated() {
if (!obj) return;

View File

@ -25,6 +25,8 @@ namespace Xybrid::Gadgets {
void onUnparent(std::shared_ptr<Data::Graph>) override;
void onParent(std::shared_ptr<Data::Graph>) override;
void onDoubleClick() override;
void onGadgetCreated() override;
void drawCustomChrome(QPainter*, const QStyleOptionGraphicsItem*) override;