Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::MidiPlaylist Class Reference

#include <midi_playlist.h>

Inheritance diagram for ARDOUR::MidiPlaylist:
[legend]

Public Member Functions

 MidiPlaylist (Session &, const XMLNode &, bool hidden=false)
 
 MidiPlaylist (Session &, std::string name, bool hidden=false)
 
 MidiPlaylist (std::shared_ptr< const MidiPlaylist > other, std::string name, bool hidden=false)
 
 MidiPlaylist (std::shared_ptr< const MidiPlaylist > other, timepos_t const &start, timepos_t const &cnt, std::string name, bool hidden=false)
 
 ~MidiPlaylist ()
 
void render (MidiChannelFilter *)
 
RTMidiBufferrendered ()
 
int set_state (const XMLNode &, int version)
 
bool destroy_region (std::shared_ptr< Region >)
 
void _split_region (std::shared_ptr< Region >, timepos_t const &position, ThawList &thawlist)
 
void set_note_mode (NoteMode m)
 
std::set< Evoral::Parametercontained_automation ()
 
std::shared_ptr< Regioncombine (const RegionList &, std::shared_ptr< Track >)
 
void uncombine (std::shared_ptr< Region >)
 
- Public Member Functions inherited from ARDOUR::Playlist
 Playlist (Session &, const XMLNode &, DataType type, bool hidden=false)
 
 Playlist (Session &, std::string name, DataType type, bool hidden=false)
 
 Playlist (std::shared_ptr< const Playlist >, std::string name, bool hidden=false)
 
 Playlist (std::shared_ptr< const Playlist >, timepos_t const &start, timepos_t const &cnt, std::string name, bool hidden=false)
 
virtual ~Playlist ()
 
void update (const RegionListProperty::ChangeRecord &)
 
void clear_owned_changes ()
 
void rdiff (std::vector< PBD::Command * > &) const
 
void rdiff_and_add_command (Session *)
 
std::shared_ptr< Regionregion_by_id (const PBD::ID &) const
 
uint32_t max_source_level () const
 
bool set_name (const std::string &str)
 
void set_region_ownership ()
 
std::string pgroup_id ()
 
void set_pgroup_id (std::string pgid)
 
virtual void clear (bool with_signals=true)
 
void use ()
 
void release ()
 
bool empty () const
 
bool used () const
 
int sort_id () const
 
bool frozen () const
 
const DataTypedata_type () const
 
bool hidden () const
 
bool shared () const
 
void set_frozen (bool yn)
 
void AddToSoloSelectedList (const Region *)
 
void RemoveFromSoloSelectedList (const Region *)
 
bool SoloSelectedListIncludes (const Region *)
 
bool SoloSelectedActive ()
 
void share_with (const PBD::ID &)
 
void unshare_with (const PBD::ID &)
 
bool shared_with (const PBD::ID &) const
 
void reset_shares ()
 
uint32_t n_regions () const
 
bool all_regions_empty () const
 
std::pair< timepos_t, timepos_tget_extent () const
 
std::pair< timepos_t, timepos_tget_extent_with_endspace () const
 
layer_t top_layer () const
 
void add_region (std::shared_ptr< Region >, timepos_t const &position, float times=1, bool auto_partition=false)
 
void remove_region (std::shared_ptr< Region >)
 
void get_equivalent_regions (std::shared_ptr< Region >, std::vector< std::shared_ptr< Region > > &)
 
void get_region_list_equivalent_regions (std::shared_ptr< Region >, std::vector< std::shared_ptr< Region > > &)
 
void get_source_equivalent_regions (std::shared_ptr< Region >, std::vector< std::shared_ptr< Region > > &)
 
void replace_region (std::shared_ptr< Region > old, std::shared_ptr< Region > newr, timepos_t const &pos)
 
void split_region (std::shared_ptr< Region >, timepos_t const &position)
 
void split (timepos_t const &at)
 
void shift (timepos_t const &at, timecnt_t const &distance, bool move_intersected)
 
void partition (timepos_t const &start, timepos_t const &end, bool cut=false)
 
void duplicate (std::shared_ptr< Region >, timepos_t &position, float times)
 
void duplicate (std::shared_ptr< Region >, timepos_t &position, timecnt_t const &gap, float times)
 
void duplicate_until (std::shared_ptr< Region >, timepos_t &position, timecnt_t const &gap, timepos_t const &end)
 
void duplicate_range (TimelineRange &, float times)
 
void duplicate_ranges (std::list< TimelineRange > &, float times)
 
void nudge_after (timepos_t const &start, timecnt_t const &distance, bool forwards)
 
void fade_range (std::list< TimelineRange > &)
 
void remove_gaps (timecnt_t const &gap_threshold, timecnt_t const &leave_gap, std::function< void(timepos_t, timecnt_t)> gap_callback)
 
void shuffle (std::shared_ptr< Region >, int dir)
 
void ripple (timepos_t const &at, timecnt_t const &distance, RegionList *exclude)
 
void ripple (timepos_t const &at, timecnt_t const &distance, std::shared_ptr< Region > exclude)
 
void update_after_tempo_map_change ()
 
std::shared_ptr< Playlistcut (std::list< TimelineRange > &)
 
std::shared_ptr< Playlistcopy (std::list< TimelineRange > &)
 
int paste (std::shared_ptr< Playlist >, timepos_t const &position, float times)
 
const RegionListPropertyregion_list_property () const
 
std::shared_ptr< RegionListregion_list ()
 
std::shared_ptr< RegionListregions_at (timepos_t const &sample)
 
uint32_t count_regions_at (timepos_t const &) const
 
std::shared_ptr< RegionListregions_touched (timepos_t const &start, timepos_t const &end)
 
std::shared_ptr< RegionListregions_with_start_within (Temporal::TimeRange)
 
std::shared_ptr< RegionListregions_with_end_within (Temporal::TimeRange)
 
std::shared_ptr< RegionListaudible_regions_at (timepos_t const &)
 
uint32_t region_use_count (std::shared_ptr< Region >) const
 
std::shared_ptr< Regionfind_region (const PBD::ID &) const
 
std::shared_ptr< Regiontop_region_at (timepos_t const &)
 
std::shared_ptr< Regiontop_unmuted_region_at (timepos_t const &)
 
std::shared_ptr< Regionfind_next_region (timepos_t const &, RegionPoint point, int dir)
 
timepos_t find_next_region_boundary (timepos_t const &, int dir)
 
bool region_is_shuffle_constrained (std::shared_ptr< Region >)
 
bool has_region_at (timepos_t const &) const
 
bool region_is_audible_at (std::shared_ptr< Region >, timepos_t const &)
 
timepos_t find_prev_region_start (timepos_t const &sample)
 
bool uses_source (std::shared_ptr< const Source > src, bool shallow=false) const
 
void deep_sources (std::set< std::shared_ptr< Source > > &) const
 
samplepos_t find_next_transient (timepos_t const &position, int dir)
 
void foreach_region (std::function< void(std::shared_ptr< Region >)>)
 
XMLNodeget_state () const
 
XMLNodeget_template ()
 
void freeze ()
 
void thaw (bool from_undo=false)
 
void raise_region (std::shared_ptr< Region >)
 
void lower_region (std::shared_ptr< Region >)
 
void raise_region_to_top (std::shared_ptr< Region >)
 
void lower_region_to_bottom (std::shared_ptr< Region >)
 
void set_orig_track_id (const PBD::ID &did)
 
const PBD::IDget_orig_track_id () const
 
void sync_all_regions_with_regions ()
 
void drop_regions ()
 
virtual std::shared_ptr< Crossfade > find_crossfade (const PBD::ID &) const
 
timepos_t find_next_top_layer_position (timepos_t const &) const
 
uint32_t combine_ops () const
 
void set_layer (std::shared_ptr< Region >, double)
 
void set_capture_insertion_in_progress (bool yn)
 
void time_domain_changed ()
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
- Public Member Functions inherited from ARDOUR::SessionObject
 SessionObject (Session &session, const std::string &name)
 
Sessionsession () const
 
std::string name () const
 
- Public Member Functions inherited from ARDOUR::SessionHandleRef
 SessionHandleRef (ARDOUR::Session &s)
 
virtual ~SessionHandleRef ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_change (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
PropertyListget_changes_as_properties (PBD::Command *) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
virtual ~Destructible ()
 
virtual void drop_references ()
 
- Public Member Functions inherited from Temporal::TimeDomainProvider
 TimeDomainProvider ()
 
 TimeDomainProvider (TimeDomain td)
 
 TimeDomainProvider (TimeDomain td, TimeDomainProvider const &p)
 
 TimeDomainProvider (TimeDomainProvider const &other)
 
 TimeDomainProvider (TimeDomainProvider const &parnt, bool)
 
virtual ~TimeDomainProvider ()
 
XMLNodeget_state () const
 
int set_state (const XMLNode &, int version)
 
TimeDomainProvideroperator= (TimeDomainProvider const &other)
 
TimeDomain time_domain () const
 
bool has_own_time_domain () const
 
void clear_time_domain ()
 
void set_time_domain (TimeDomain td)
 
TimeDomainProvider const * time_domain_parent () const
 
bool has_time_domain_parent () const
 
void clear_time_domain_parent ()
 
void set_time_domain_parent (TimeDomainProvider const &p)
 

Private Member Functions

void dump () const
 

Private Attributes

NoteMode _note_mode
 
RTMidiBuffer _rendered
 

Additional Inherited Members

- Static Public Member Functions inherited from ARDOUR::Playlist
static void make_property_quarks ()
 
static std::string generate_pgroup_id ()
 
static std::string bump_name (std::string old_name, Session &)
 
- Static Public Member Functions inherited from ARDOUR::SessionObject
static void make_property_quarks ()
 
- Public Attributes inherited from ARDOUR::Playlist
PBD::Signal< void(bool)> InUse
 
PBD::Signal< void()> ContentsChanged
 
PBD::Signal< void(std::weak_ptr< Region >)> RegionAdded
 
PBD::Signal< void(std::weak_ptr< Region >)> RegionRemoved
 
PBD::Signal< void()> NameChanged
 
PBD::Signal< void()> LayeringChanged
 
PBD::Signal< void(std::list< Temporal::RangeMove > const &, bool)> RangesMoved
 
PBD::Signal< void(std::list< Temporal::Range > const &)> RegionsExtended
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal< void(const PropertyChange &)> PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal< void()> Destroyed
 
PBD::Signal< void()> DropReferences
 
- Public Attributes inherited from Temporal::TimeDomainProvider
PBD::Signal< void()> TimeDomainChanged
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 
- Protected Types inherited from ARDOUR::Playlist
typedef std::pair< std::shared_ptr< Region >, std::shared_ptr< Region > > TwoRegions
 
- Protected Member Functions inherited from ARDOUR::Playlist
void init (bool hide)
 
bool holding_state () const
 
void delay_notifications ()
 
void release_notifications (bool from_undo=false)
 
virtual void flush_notifications (bool from_undo=false)
 
void clear_pending ()
 
void _set_sort_id ()
 
std::shared_ptr< RegionListregions_touched_locked (timepos_t const &start, timepos_t const &end, bool with_tail)
 
void notify_region_removed (std::shared_ptr< Region >)
 
void notify_region_added (std::shared_ptr< Region >)
 
void notify_layering_changed ()
 
void notify_contents_changed ()
 
void notify_state_changed (const PBD::PropertyChange &)
 
void notify_region_moved (std::shared_ptr< Region >)
 
void notify_region_start_trimmed (std::shared_ptr< Region >)
 
void notify_region_end_trimmed (std::shared_ptr< Region >)
 
void mark_session_dirty ()
 
void region_changed_proxy (const PBD::PropertyChange &, std::weak_ptr< Region >)
 
virtual bool region_changed (const PBD::PropertyChange &, std::shared_ptr< Region >)
 
void region_bounds_changed (const PBD::PropertyChange &, std::shared_ptr< Region >)
 
void region_deleted (std::shared_ptr< Region >)
 
void sort_regions ()
 
void ripple_locked (timepos_t const &at, timecnt_t const &distance, RegionList *exclude)
 
void ripple_unlocked (timepos_t const &at, timecnt_t const &distance, RegionList *exclude, ThawList &thawlist, bool notify=true)
 
virtual void region_going_away (std::weak_ptr< Region >)
 
virtual XMLNodestate (bool) const
 
bool add_region_internal (std::shared_ptr< Region >, timepos_t const &position, ThawList &thawlist)
 
int remove_region_internal (std::shared_ptr< Region >, ThawList &thawlist)
 
void copy_regions (RegionList &) const
 
void partition_internal (timepos_t start, timepos_t end, bool cutting, ThawList &thawlist)
 
std::pair< timepos_t, timepos_t_get_extent () const
 
std::shared_ptr< Playlistcut_copy (std::shared_ptr< Playlist >(Playlist::*pmf)(timepos_t const &, timecnt_t const &), std::list< TimelineRange > &ranges)
 
std::shared_ptr< Playlistcut (timepos_t const &start, timecnt_t const &cnt)
 
std::shared_ptr< Playlistcopy (timepos_t const &start, timecnt_t const &cnt)
 
void relayer ()
 
void begin_undo ()
 
void end_undo ()
 
virtual void pre_combine (std::vector< std::shared_ptr< Region > > &)
 
virtual void post_combine (std::vector< std::shared_ptr< Region > > &, std::shared_ptr< Region >)
 
virtual void pre_uncombine (std::vector< std::shared_ptr< Region > > &, std::shared_ptr< Region >)
 
- Protected Member Functions inherited from ARDOUR::SessionHandleRef
virtual void session_going_away ()
 
virtual void insanity_check ()
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &) const
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
bool regenerate_xml_or_string_ids () const
 
- Protected Member Functions inherited from Temporal::TimeDomainProvider
void listen ()
 
- Protected Attributes inherited from ARDOUR::Playlist
RegionListProperty regions
 
std::set< std::shared_ptr< Region > > all_regions
 
PBD::ScopedConnectionList region_state_changed_connections
 
PBD::ScopedConnectionList region_drop_references_connections
 
DataType _type
 
uint32_t _sort_id
 
std::atomic< int > block_notifications
 
std::set< std::shared_ptr< Region > > pending_adds
 
std::set< std::shared_ptr< Region > > pending_removes
 
RegionList pending_bounds
 
bool pending_contents_change
 
bool pending_layering
 
std::set< const Region * > _soloSelectedRegions
 
std::list< Temporal::RangeMovepending_range_moves
 
std::list< Temporal::TimeRangepending_region_extensions
 
uint32_t in_set_state
 
bool in_undo
 
bool first_set_state
 
bool _hidden
 
bool _rippling
 
bool _shuffling
 
bool _nudging
 
std::atomic< int > _refcnt
 
bool in_flush
 
bool in_partition
 
bool _frozen
 
bool _capture_insertion_underway
 
uint32_t subcnt
 
PBD::ID _orig_track_id
 
uint32_t _combine_ops
 
std::list< PBD::ID_shared_with_ids
 
- Protected Attributes inherited from ARDOUR::SessionObject
PBD::Property< std::string > _name
 
- Protected Attributes inherited from ARDOUR::SessionHandleRef
ARDOUR::Session_session
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 

Detailed Description

Definition at line 54 of file midi_playlist.h.

Constructor & Destructor Documentation

◆ MidiPlaylist() [1/4]

ARDOUR::MidiPlaylist::MidiPlaylist ( Session ,
const XMLNode ,
bool  hidden = false 
)

◆ MidiPlaylist() [2/4]

ARDOUR::MidiPlaylist::MidiPlaylist ( Session ,
std::string  name,
bool  hidden = false 
)

◆ MidiPlaylist() [3/4]

ARDOUR::MidiPlaylist::MidiPlaylist ( std::shared_ptr< const MidiPlaylist other,
std::string  name,
bool  hidden = false 
)

◆ MidiPlaylist() [4/4]

ARDOUR::MidiPlaylist::MidiPlaylist ( std::shared_ptr< const MidiPlaylist other,
timepos_t const &  start,
timepos_t const &  cnt,
std::string  name,
bool  hidden = false 
)

This constructor does NOT notify others (session)

◆ ~MidiPlaylist()

ARDOUR::MidiPlaylist::~MidiPlaylist ( )

Member Function Documentation

◆ _split_region()

void ARDOUR::MidiPlaylist::_split_region ( std::shared_ptr< Region ,
timepos_t const &  position,
ThawList thawlist 
)
virtual

Reimplemented from ARDOUR::Playlist.

◆ combine()

std::shared_ptr<Region> ARDOUR::MidiPlaylist::combine ( const RegionList ,
std::shared_ptr< Track  
)
virtual

Reimplemented from ARDOUR::Playlist.

◆ contained_automation()

std::set<Evoral::Parameter> ARDOUR::MidiPlaylist::contained_automation ( )

◆ destroy_region()

bool ARDOUR::MidiPlaylist::destroy_region ( std::shared_ptr< Region )
virtual

Implements ARDOUR::Playlist.

◆ dump()

void ARDOUR::MidiPlaylist::dump ( ) const
privatevirtual

Reimplemented from ARDOUR::Playlist.

◆ render()

void ARDOUR::MidiPlaylist::render ( MidiChannelFilter )

◆ rendered()

RTMidiBuffer* ARDOUR::MidiPlaylist::rendered ( )

◆ set_note_mode()

void ARDOUR::MidiPlaylist::set_note_mode ( NoteMode  m)
inline

Definition at line 79 of file midi_playlist.h.

◆ set_state()

int ARDOUR::MidiPlaylist::set_state ( const XMLNode ,
int  version 
)
virtual

Reimplemented from ARDOUR::Playlist.

◆ uncombine()

void ARDOUR::MidiPlaylist::uncombine ( std::shared_ptr< Region )
virtual

Reimplemented from ARDOUR::Playlist.

Member Data Documentation

◆ _note_mode

NoteMode ARDOUR::MidiPlaylist::_note_mode
private

Definition at line 89 of file midi_playlist.h.

◆ _rendered

RTMidiBuffer ARDOUR::MidiPlaylist::_rendered
private

Definition at line 91 of file midi_playlist.h.


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