Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::timeline_editor::SequencerUiHostT< Intent > Class Template Referenceabstract

Adds intent submission for one intent vocabulary. More...

#include <sequencer_ui_host.hpp>

Public Types

using IntentType = Intent

Public Member Functions

virtual IntentResult submit_intent (const Intent &intent) noexcept=0
 Hand over one intent a gesture produced.
virtual UiPlayhead playhead () const noexcept=0
 The latest playhead reading, by value.
virtual AuditionResult begin_audition (const AuditionRequest &request) noexcept=0
 Ask to hear something.
virtual void end_audition (AuditionHandle handle) noexcept=0
 End a sustained audition.

Detailed Description

template<class Intent>
class pulp::timeline_editor::SequencerUiHostT< Intent >

Adds intent submission for one intent vocabulary.

Intents are the editor's type, not the host's; the host is only where they go.

Member Typedef Documentation

◆ IntentType

template<class Intent>
using pulp::timeline_editor::SequencerUiHostT< Intent >::IntentType = Intent

Member Function Documentation

◆ begin_audition()

virtual AuditionResult pulp::timeline_editor::SequencerUiHost::begin_audition ( const AuditionRequest & request)
pure virtualnoexceptinherited

Ask to hear something.

A host that does not audition returns Unsupported and does nothing else, which is a complete implementation.

Implemented in pulp::timeline_editor::ScriptedUiHost< Intent >.

◆ end_audition()

virtual void pulp::timeline_editor::SequencerUiHost::end_audition ( AuditionHandle handle)
pure virtualnoexceptinherited

End a sustained audition.

Ending an already-ended or never-started handle is a no-op, so a view may end unconditionally on mouse-up.

Implemented in pulp::timeline_editor::ScriptedUiHost< Intent >.

◆ playhead()

virtual UiPlayhead pulp::timeline_editor::SequencerUiHost::playhead ( ) const
pure virtualnoexceptinherited

The latest playhead reading, by value.

Cheap enough to call once per frame; implementations publish through a lock-free primitive rather than blocking the caller.

Implemented in pulp::timeline_editor::ScriptedUiHost< Intent >.

◆ submit_intent()

template<class Intent>
virtual IntentResult pulp::timeline_editor::SequencerUiHostT< Intent >::submit_intent ( const Intent & intent)
pure virtualnoexcept

Hand over one intent a gesture produced.

The host routes it to whatever owns the document; the view never learns what that is.

Implemented in pulp::timeline_editor::ScriptedUiHost< Intent >.


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