Files
viseq/src/config-node.h
T

52 lines
1.4 KiB
C++
Raw Normal View History

2024-11-07 00:56:33 +01:00
#pragma once
#include "datatypes.h"
#include "node.h"
#include <memory>
2024-11-07 00:56:33 +01:00
namespace VISEQ::GRAPH::NODES {
class ConfigNode : public Node{
public:
ConfigNode() {std::cout << "ConfigNode Constructor std" << std::endl;}
ConfigNode(Vec2Df position) : Node(position) {}
2026-01-06 02:44:18 +01:00
std::shared_ptr<ConfigNode> getPtr();
2024-11-07 00:56:33 +01:00
NodeType nodeType = NodeType::CONFIGNODE;
MIDI::MidiNote midiNote;
2024-11-08 01:43:06 +01:00
MIDI::MidiCC midiCC;
MIDI::MidiPitchBend midiPitchBend;
MIDI::MidiPolyPressure midiPolyPressure;
MIDI::MidiPC midiPC;
MIDI::MidiAftertouch midiAftertouch;
2024-11-07 00:56:33 +01:00
2024-11-08 01:43:06 +01:00
int mode = 0;
float radius = 20.0f;
2024-11-07 00:56:33 +01:00
2026-01-06 02:44:18 +01:00
virtual NodeType getNodeType() const override;
2026-01-06 02:44:18 +01:00
virtual void trigger() override;
virtual void setMode(int _mode) override;
MIDI::MidiNote getNotes() const;
MIDI::MidiCC getCC() const;
MIDI::MidiPC getPC() const;
MIDI::MidiPitchBend getPitchBend() const;
MIDI::MidiAftertouch getAftertouch() const;
MIDI::MidiPolyPressure getPolyPressure() const;
std::vector<std::weak_ptr<ConfigNode>> getConnectedConfigNodes() const;
void update() override;
void interact();
void draw(Vec2Df mouse, Camera2D cam) override;
2026-01-12 00:16:36 +01:00
2026-01-06 02:44:18 +01:00
friend void to_json(json& j, const ConfigNode& N);
friend void from_json(const json& j, ConfigNode& N);
2026-01-12 00:16:36 +01:00
friend void to_json(json& j, const std::shared_ptr<ConfigNode>& N);
friend void from_json(const json& j, std::shared_ptr<ConfigNode>& N);
2024-11-07 00:56:33 +01:00
};
}