Loading...
Searching...
No Matches

A step sequencer with several sequences. More...

Inheritance diagram for Media::Step::Model:
Process::ProcessModel score::Entity< ProcessModel > score::SerializableInterface< ProcessModel > IdentifiedObject< model > IdentifiedObjectAbstract

Detailed Description

A step sequencer with several sequences.

Each sequence has its own number of steps. The Sequence inlet picks the one that plays; a new pick waits for the next point of the Quantization grid, and the new sequence starts at its first step. The Duration inlet is the length of a step, in seconds or synced to the tempo, for all sequences.

Steps are stored between 0 (max) and 1 (min), as drawn.

Public Member Functions

 Model (const TimeVal &duration, const Id< Process::ProcessModel > &id, QObject *parent)
 
template<typename Impl >
 Model (Impl &vis, QObject *parent)
 
void init ()
 
int stepCount () const
 Of the current sequence.
 
const ossia::float_vector & steps () const
 Of the current sequence.
 
const std::vector< ossia::float_vector > & sequences () const noexcept
 
int currentSequence () const noexcept
 
double min () const
 
double max () const
 
void stepCountChanged (int arg_1)
 
void stepsChanged ()
 Any step of any sequence, or the list of sequences.
 
void currentSequenceChanged (int arg_1)
 
void minChanged (double arg_1)
 
void maxChanged (double arg_1)
 
void execPosition (int arg_1)
 The step that played last, -1 when stopped; from the executor.
 
void setStepCount (int s)
 Of the current sequence.
 
void setSteps (ossia::float_vector v)
 Of the current sequence.
 
void setSequenceSteps (int sequence, ossia::float_vector v)
 
void setSequences (std::vector< ossia::float_vector > v)
 
void setCurrentSequence (int n)
 
void setMin (double v)
 
void setMax (double v)
 
- Public Member Functions inherited from Process::ProcessModel
 ProcessModel (TimeVal duration, const Id< ProcessModel > &id, const QString &name, QObject *parent)
 
 ProcessModel (DataStream::Deserializer &vis, QObject *parent)
 
 ProcessModel (JSONObject::Deserializer &vis, QObject *parent)
 
virtual QString effect () const noexcept
 
virtual QString prettyName () const noexcept
 
virtual QString prettyShortName () const noexcept=0
 
virtual QString category () const noexcept=0
 
virtual QStringList tags () const noexcept=0
 
virtual ProcessFlags flags () const noexcept=0
 
void setParentDuration (ExpandMode mode, const TimeVal &t) noexcept
 
virtual TimeVal contentDuration () const noexcept
 
void setDuration (const TimeVal &other) noexcept
 
const TimeVal & duration () const noexcept
 
double durationInFlicks () const noexcept
 
QPointF position () const noexcept
 Nodal things.
 
QSizeF size () const noexcept
 
void setPosition (const QPointF &v)
 
void setSize (const QSizeF &v)
 
void positionChanged (QPointF p)
 
void sizeChanged (QSizeF p)
 
FoldMode foldMode () const noexcept
 
void setFoldMode (FoldMode v)
 
void foldModeChanged (FoldMode v)
 
bool folded () const noexcept
 
virtual ProcessStateDataInterface * startStateData () const noexcept
 States. The process has ownership.
 
virtual ProcessStateDataInterface * endStateData () const noexcept
 
virtual Selection selectableChildren () const noexcept
 Selection.
 
virtual Selection selectedChildren () const noexcept
 
virtual void setSelection (const Selection &s) const noexcept
 
double getSlotHeight () const noexcept
 
void setSlotHeight (double) noexcept
 
const Process::Inlets & inlets () const noexcept
 
const Process::Outlets & outlets () const noexcept
 
Process::Inlet * inlet (const Id< Process::Port > &) const noexcept
 
Process::Outlet * outlet (const Id< Process::Port > &) const noexcept
 
virtual void loadPreset (const Preset &preset)
 
virtual Preset savePreset () const noexcept
 
virtual std::vector< Process::Preset > builtinPresets () const noexcept
 
virtual bool presetMatches (const Preset &preset) const noexcept
 Whether the preset applies to this process: same process key and same effect.
 
virtual void ancestorStartDateChanged ()
 
virtual void ancestorTempoChanged ()
 
virtual void forEachControl (smallfun::function< void(Process::ControlInlet &, const ossia::value &)>) const
 
virtual void mapExternalFiles (Process::ExternalFileMap &map)
 
virtual bool externalSourceOutOfDate () const noexcept
 
virtual score::Command * refreshFromExternalSource (const score::DocumentContext &ctx) const
 
void externalSourceOutOfDateChanged (bool v)
 
virtual std::optional< Process::MagneticInfo > magneticPosition (const QObject *o, const TimeVal t) const noexcept
 
bool scriptable () const noexcept
 
void setScriptable (bool b)
 
void scriptableChanged (bool b)
 
bool loops () const noexcept
 
void setLoops (bool b)
 
void loopsChanged (bool b)
 
TimeVal startOffset () const noexcept
 
void setStartOffset (TimeVal b)
 
void startOffsetChanged (TimeVal b)
 
TimeVal loopDuration () const noexcept
 
void setLoopDuration (TimeVal b)
 
void loopDurationChanged (TimeVal b)
 
virtual void setCreatingControls (bool ok)
 
bool creatingControls () const noexcept
 
void creatingControlsChanged (bool b)
 
const QString & scriptEditorPlacement () const noexcept
 
void setScriptEditorPlacement (const QString &p) noexcept
 
const QString & processUIPlacement () const noexcept
 
void setProcessUIPlacement (const QString &p) noexcept
 
bool executing () const noexcept
 Execution.
 
void setExecuting (bool v)
 
void startExecution ()
 
void stopExecution ()
 
void resetExecution ()
 
void executionPosition (double arg_1)
 
void durationChanged (const TimeVal &arg_1)
 
void useParentDurationChanged (bool arg_1)
 
void slotHeightChanged (double arg_1)
 
void prettyNameChanged ()
 
void inletsChanged ()
 
void outletsChanged ()
 
void controlAdded (const Id< Process::Port > &arg_1)
 
void controlRemoved (const Process::Port &arg_1)
 
void controlOutletAdded (const Id< Process::Port > &arg_1)
 
void controlOutletRemoved (const Process::Port &arg_1)
 
void benchmark (double arg_1)
 
void externalUIVisible (bool v) const
 
void scriptUIVisible (bool v) const
 
void flagsChanged () const
 
- Public Member Functions inherited from score::Entity< ProcessModel >
 Entity (Id< ProcessModel > id, const QString &name, QObject *parent) noexcept
 
 Entity (Visitor &&vis, QObject *parent) noexcept
 
const score::Components & components () const noexcept
 
score::Components & components () noexcept
 
const score::ModelMetadata & metadata () const noexcept
 
score::ModelMetadata & metadata () noexcept
 
- Public Member Functions inherited from IdentifiedObject< model >
 IdentifiedObject (id_type id, const QString &name, QObject *parent) noexcept
 
template<typename Visitor >
 IdentifiedObject (Visitor &&v, QObject *parent) noexcept
 
const id_type & id () const noexcept
 
int32_t id_val () const noexcept final override
 
void setId (const id_type &id) noexcept
 
void setId (id_type &&id) noexcept
 
void resetCache () const noexcept override
 
- Public Member Functions inherited from IdentifiedObjectAbstract
void identified_object_destroying (IdentifiedObjectAbstract *o)
 To be called by subclasses.
 
void identified_object_destroyed (IdentifiedObjectAbstract *o)
 Will be called in the IdentifiedObjectAbstract destructor.
 
- Public Member Functions inherited from score::SerializableInterface< ProcessModel >
virtual UuidKey< ProcessModel > concreteKey () const noexcept=0
 
virtual void serialize_impl (const VisitorVariant &vis) const
 

Public Attributes

std::unique_ptr< Process::ControlInlet > sequenceSelect
 
std::unique_ptr< Process::ControlInlet > switchQuantification
 
std::unique_ptr< Process::ControlInlet > stepDuration
 
std::unique_ptr< Process::Outlet > outlet
 
- Public Attributes inherited from Process::ProcessModel
Selectable selection {this}
 
QWidget * scriptUI {}
 
QWidget * externalUI {}
 
- Public Attributes inherited from IdentifiedObject< model >
Path< model > m_path_cache
 

Static Public Attributes

static constexpr int maxSequences = 64
 
static constexpr int maxSteps = 256
 
- Static Public Attributes inherited from score::Entity< ProcessModel >
static const constexpr bool entity_tag
 
- Static Public Attributes inherited from IdentifiedObject< model >
static const constexpr bool identified_object_tag = true
 

Friends

constexpr auto w_state (w_internal::Index< w_internal::stateCount< __COUNTER__, w_internal::PropertyStateTag, W_ThisType ** > >, w_internal::PropertyStateTag, W_ThisType **) -> decltype((w_internal::makeMetaPropertyInfo< double >(w_internal::viewLiteral("max"), w_internal::viewLiteral("double"), &W_ThisType::max, &W_ThisType::setMax, W_Notify, &W_ThisType::maxChanged)))
 
constexpr auto w_state (w_internal::Index< w_internal::stateCount< __COUNTER__, w_internal::PropertyStateTag, W_ThisType ** > >, w_internal::PropertyStateTag, W_ThisType **) -> decltype((w_internal::makeMetaPropertyInfo< double >(w_internal::viewLiteral("min"), w_internal::viewLiteral("double"), &W_ThisType::min, &W_ThisType::setMin, W_Notify, &W_ThisType::minChanged)))
 
constexpr auto w_state (w_internal::Index< w_internal::stateCount< __COUNTER__, w_internal::PropertyStateTag, W_ThisType ** > >, w_internal::PropertyStateTag, W_ThisType **) -> decltype((w_internal::makeMetaPropertyInfo< int >(w_internal::viewLiteral("stepCount"), w_internal::viewLiteral("int"), &W_ThisType::stepCount, &W_ThisType::setStepCount, W_Notify, &W_ThisType::stepCountChanged)))
 

Additional Inherited Members

- Public Types inherited from score::Entity< ProcessModel >
using entity_type = Entity< ProcessModel >
 
- Public Types inherited from IdentifiedObject< model >
using model_type = model
 
using id_type = Id< model >
 
using object_type = IdentifiedObject< model >
 
- Public Types inherited from score::SerializableInterface< ProcessModel >
using key_type = UuidKey< ProcessModel >
 
using is_abstract_base_tag = std::integral_constant< bool, true >
 
- Protected Member Functions inherited from Process::ProcessModel
virtual void setDurationAndScale (const TimeVal &newDuration) noexcept
 
virtual void setDurationAndGrow (const TimeVal &newDuration) noexcept
 
virtual void setDurationAndShrink (const TimeVal &newDuration) noexcept
 
- Protected Member Functions inherited from IdentifiedObjectAbstract
 IdentifiedObjectAbstract (const QString &name, QObject *parent) noexcept
 
- Protected Attributes inherited from Process::ProcessModel
Process::Inlets m_inlets
 
Process::Outlets m_outlets
 

Member Function Documentation

◆ setCurrentSequence()

void Media::Step::Model::setCurrentSequence ( int  n)

Selects a sequence, adding empty ones up to it if needed; the Sequence port follows.


The documentation for this class was generated from the following files: