Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cmake/Configurations/all-plugins.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ if(CMAKE_SYSTEM_NAME MATCHES Emscripten)

score-plugin-nodal
score-plugin-controlsurface
score-plugin-cliplauncher
score-plugin-remotecontrol
score-plugin-spline

Expand Down Expand Up @@ -83,6 +84,7 @@ else()

score-plugin-nodal
score-plugin-controlsurface
score-plugin-cliplauncher
score-plugin-remotecontrol
score-plugin-spline

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class SCORE_LIB_PROCESS_EXPORT ChangePortSettings final : public score::Command
}

PROPERTY_COMMAND_T(
Process, SetPropagate, AudioOutlet::p_propagate, "Set port propagation")
Process, SetPropagate, Outlet::p_propagate, "Set port propagation")
SCORE_COMMAND_DECL_T(Process::SetPropagate)

PROPERTY_COMMAND_T(Process, ChangePortAddress, Port::p_address, "Set port address")
Expand Down
23 changes: 9 additions & 14 deletions src/plugins/score-lib-process/Process/Dataflow/Port.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,15 @@ Outlet::~Outlet() { }

void Outlet::setupExecution(ossia::outlet&, QObject* exec_context) const noexcept { }

bool Outlet::propagate() const noexcept { return m_propagate; }

void Outlet::setPropagate(bool p) {
if(m_propagate != p) {
m_propagate = p;
propagateChanged(m_propagate);
}
}

Outlet::Outlet(const QString& name, Id<Process::Port> c, QObject* parent)
: Port{std::move(c), QStringLiteral("Outlet"), parent}
{
Expand Down Expand Up @@ -509,20 +518,6 @@ void AudioOutlet::loadData(const QByteArray& arr, PortLoadDataFlags flags) noexc
propagateChanged(m_propagate);
}

bool AudioOutlet::propagate() const
{
return m_propagate;
}

void AudioOutlet::setPropagate(bool propagate)
{
if(m_propagate == propagate)
return;

m_propagate = propagate;
propagateChanged(m_propagate);
}

double AudioOutlet::gain() const
{
return m_gain;
Expand Down
17 changes: 9 additions & 8 deletions src/plugins/score-lib-process/Process/Dataflow/Port.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,16 @@ class SCORE_LIB_PROCESS_EXPORT Outlet : public Port
ossia::outlet&,
const smallfun::function<void(Inlet&, ossia::inlet&)>&) const noexcept;

virtual bool propagate() const noexcept;
virtual void setPropagate(bool p);
void propagateChanged(bool propagate)
E_SIGNAL(SCORE_LIB_PROCESS_EXPORT, propagateChanged, propagate)

PROPERTY(bool, propagate W_READ propagate W_WRITE setPropagate W_NOTIFY propagateChanged)

protected:
bool m_propagate{false};

Outlet() = delete;
Outlet(const Outlet&) = delete;
Outlet(const QString& name, Id<Process::Port> c, QObject* parent);
Expand Down Expand Up @@ -351,11 +360,6 @@ class SCORE_LIB_PROCESS_EXPORT AudioOutlet : public Outlet
QByteArray saveData() const noexcept override;
void loadData(const QByteArray& arr, PortLoadDataFlags = {}) noexcept override;

bool propagate() const;
void setPropagate(bool propagate);
void propagateChanged(bool propagate)
E_SIGNAL(SCORE_LIB_PROCESS_EXPORT, propagateChanged, propagate)

double gain() const;
void setGain(double g);
void gainChanged(double g) E_SIGNAL(SCORE_LIB_PROCESS_EXPORT, gainChanged, g)
Expand All @@ -367,14 +371,11 @@ class SCORE_LIB_PROCESS_EXPORT AudioOutlet : public Outlet
std::unique_ptr<Process::ControlInlet> gainInlet;
std::unique_ptr<Process::ControlInlet> panInlet;

PROPERTY(
bool, propagate W_READ propagate W_WRITE setPropagate W_NOTIFY propagateChanged)
PROPERTY(double, gain W_READ gain W_WRITE setGain W_NOTIFY gainChanged)
PROPERTY(pan_weight, pan W_READ pan W_WRITE setPan W_NOTIFY panChanged)
private:
double m_gain{};
pan_weight m_pan;
bool m_propagate{false};
};

class SCORE_LIB_PROCESS_EXPORT MidiInlet : public Inlet
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,7 @@ PortItem::PortItem(
auto ap = static_cast<const Process::AudioOutlet*>(&m_port);
m_address->has_propagate = ap->propagate();
connect(
ap, &Process::AudioOutlet::propagateChanged, this,
ap, &Process::Outlet::propagateChanged, this,
[a = m_address](bool propagate) {
a->has_propagate = propagate;
a->update();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ class SCORE_LIB_PROCESS_EXPORT ProcessComponent

std::shared_ptr<ossia::graph_node> node;

//! Override to expose a gfx_forward_node for texture propagation
virtual std::shared_ptr<ossia::graph_node> gfxForwardNode() const { return {}; }

public:
void nodeChanged(
const ossia::node_ptr& old_node, const ossia::node_ptr& new_node,
Expand Down
104 changes: 104 additions & 0 deletions src/plugins/score-plugin-cliplauncher/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
project(score_plugin_cliplauncher LANGUAGES CXX)

# General initialization
score_common_setup()

# Source files
set(HDRS
ClipLauncher/Types.hpp
ClipLauncher/TransitionRule.hpp
ClipLauncher/CommandFactory.hpp
ClipLauncher/Metadata.hpp

ClipLauncher/LaneModel.hpp
ClipLauncher/SceneModel.hpp
ClipLauncher/CellModel.hpp
ClipLauncher/ProcessModel.hpp

ClipLauncher/Commands/AddLane.hpp
ClipLauncher/Commands/RemoveLane.hpp
ClipLauncher/Commands/AddScene.hpp
ClipLauncher/Commands/RemoveScene.hpp
ClipLauncher/Commands/AddCell.hpp
ClipLauncher/Commands/RemoveCell.hpp
ClipLauncher/Commands/MoveCell.hpp
ClipLauncher/Commands/CellTriggerCommandFactory.hpp
ClipLauncher/Commands/SetCellProperties.hpp
ClipLauncher/Commands/SetLaneProperties.hpp
ClipLauncher/Commands/SetSceneProperties.hpp
ClipLauncher/Commands/AddTransitionRule.hpp
ClipLauncher/Commands/RemoveTransitionRule.hpp

ClipLauncher/Execution/ClipLauncherComponent.hpp
ClipLauncher/Execution/VideoMixerShader.hpp

ClipLauncher/Inspector/CellInspectorWidget.hpp
ClipLauncher/Inspector/CellInspectorFactory.hpp
ClipLauncher/Inspector/LaneInspectorWidget.hpp
ClipLauncher/Inspector/LaneInspectorFactory.hpp
ClipLauncher/Inspector/SceneInspectorWidget.hpp
ClipLauncher/Inspector/SceneInspectorFactory.hpp

ClipLauncher/View/ClipLauncherView.hpp
ClipLauncher/View/ClipLauncherPresenter.hpp
ClipLauncher/View/CellDisplayedElementsProvider.hpp
ClipLauncher/View/LayerFactory.hpp

score_plugin_cliplauncher.hpp
)

set(SRCS
ClipLauncher/LaneModel.cpp
ClipLauncher/SceneModel.cpp
ClipLauncher/CellModel.cpp
ClipLauncher/ProcessModel.cpp

ClipLauncher/Commands/AddLane.cpp
ClipLauncher/Commands/RemoveLane.cpp
ClipLauncher/Commands/AddScene.cpp
ClipLauncher/Commands/RemoveScene.cpp
ClipLauncher/Commands/AddCell.cpp
ClipLauncher/Commands/RemoveCell.cpp
ClipLauncher/Commands/MoveCell.cpp
ClipLauncher/Commands/CellTriggerCommandFactory.cpp
ClipLauncher/Commands/SetCellProperties.cpp
ClipLauncher/Commands/SetLaneProperties.cpp
ClipLauncher/Commands/SetSceneProperties.cpp
ClipLauncher/Commands/AddTransitionRule.cpp
ClipLauncher/Commands/RemoveTransitionRule.cpp

ClipLauncher/Execution/ClipLauncherComponent.cpp
ClipLauncher/Execution/VideoMixerShader.cpp

ClipLauncher/Inspector/CellInspectorWidget.cpp
ClipLauncher/Inspector/CellInspectorFactory.cpp
ClipLauncher/Inspector/LaneInspectorWidget.cpp
ClipLauncher/Inspector/LaneInspectorFactory.cpp
ClipLauncher/Inspector/SceneInspectorWidget.cpp
ClipLauncher/Inspector/SceneInspectorFactory.cpp

ClipLauncher/View/ClipLauncherView.cpp
ClipLauncher/View/ClipLauncherPresenter.cpp
ClipLauncher/View/CellDisplayedElementsProvider.cpp
ClipLauncher/View/LayerFactory.cpp

score_plugin_cliplauncher.cpp
)

# Creation of the library
add_library(${PROJECT_NAME} ${SRCS} ${HDRS})

# Code generation
score_generate_command_list_file(${PROJECT_NAME} "${HDRS}")

# Link
target_link_libraries(${PROJECT_NAME}
PUBLIC
score_plugin_scenario
score_plugin_engine
score_lib_inspector
score_plugin_gfx
)

# Target-specific options
setup_score_plugin(${PROJECT_NAME})
Loading