|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
The AudioTrack class represents an audio track in the project. More...
#include <src/gui/dsp/audio_track.h>


Public Member Functions | |
| void | init_loaded (PluginRegistry &plugin_registry, PortRegistry &port_registry) override |
| Adds additional metadata to track members after deserialization. | |
| void | init_after_cloning (const AudioTrack &other, ObjectCloneType clone_type) override |
| Initializes the cloned object. | |
| void | fill_events (const EngineProcessTimeInfo &time_nfo, std::pair< AudioPort &, AudioPort & > stereo_ports) |
| Wrapper for audio tracks to fill in StereoPorts from the timeline data. | |
| void | clear_objects () override |
| Removes all objects recursively from the track. | |
| bool | validate () const override |
| Verifies the identifiers on a live Track (in the project, not a clone). | |
| void | get_regions_in_range (std::vector< Region * > ®ions, const Position *p1, const Position *p2) override |
| Returns all the regions inside the given range, or all the regions if both p1 and p2 are NULL. | |
| void | append_ports (std::vector< Port * > &ports, bool include_plugins) const final |
| Appends all channel ports and optionally plugin ports to the array. | |
| void | timestretch_buf (const AudioRegion *r, AudioClip *clip, unsigned_frame_t in_frame_offset, double timestretch_ratio, float *lbuf_after_ts, float *rbuf_after_ts, unsigned_frame_t out_frame_offset, unsigned_frame_t frames_to_process) |
Public Member Functions inherited from ChannelTrack | |
| void | init_loaded (gui::old_dsp::plugins::PluginRegistry &plugin_registry, PortRegistry &port_registry) override |
| Adds additional metadata to track members after deserialization. | |
| auto & | get_channel () |
| auto & | get_channel () const |
| Fader * | get_fader (bool post_fader) |
| Returns the Fader (if applicable). | |
| bool | get_muted () const override |
| Returns if the track is muted. | |
| bool | get_listened () const override |
| Returns if the track is listened. | |
| bool | get_implied_soloed () const override |
| Returns whether the track is not soloed on its own but its direct out (or its direct out's direct out, etc.) is soloed. | |
| bool | get_soloed () const override |
| void | set_listened (bool listen, bool trigger_undo, bool auto_select, bool fire_events) |
| Generates a menu to be used for channel-related items, eg, fader buttons, direct out, etc. | |
| void | set_soloed (bool solo, bool trigger_undo, bool auto_select, bool fire_events) |
| Sets track soloed, updates UI and optionally adds the action to the undo stack. | |
| void | set_muted (bool mute, bool trigger_undo, bool auto_select, bool fire_events) |
| Sets track muted and optionally adds the action to the undo stack. | |
| Fader::Type | get_fader_type () |
| Returns the Fader::Type. | |
| Fader::Type | get_prefader_type () |
Public Member Functions inherited from ProcessableTrack | |
| ProcessableTrack (PortRegistry &port_registry, bool new_identity) | |
| bool | get_monitor_audio () const |
| Returns whether monitor audio is on. | |
| void | set_monitor_audio (bool monitor, bool auto_select, bool fire_events) |
| Sets whether monitor audio is on. | |
| void | fill_midi_events (const EngineProcessTimeInfo &time_nfo, dsp::MidiEventVector &midi_events) |
| Wrapper for MIDI/instrument/chord tracks to fill in MidiEvents from the timeline data. | |
| void | process_block (EngineProcessTimeInfo time_nfo) override |
Public Member Functions inherited from AutomatableTrack | |
| AutomatableTrack (PortRegistry &port_registry, bool new_identity) | |
| AutomationTracklist & | get_automation_tracklist () const |
| void | set_automation_visible (bool visible) |
| Set automation visible and fire events. | |
| void | generate_automation_tracks () |
| Generates automatables for the track. | |
| void | clear_objects () override |
| Removes all objects recursively from the track. | |
| void | get_regions_in_range (std::vector< Region * > ®ions, const Position *p1, const Position *p2) override |
| Returns all the regions inside the given range, or all the regions if both p1 and p2 are NULL. | |
| template<typename DerivedT> requires std::derived_from<base_type<DerivedT>, AutomatableTrack> && FinalClass<base_type<DerivedT>> | |
| std::optional< PluginPtrVariant > | get_plugin_at_slot (this DerivedT &&self, PluginSlot slot) |
| Returns the plugin at the given slot, if any. | |
| void | generate_automation_tracks_for_plugin (const Plugin::Uuid &plugin_id) |
| Generates automatables for the plugin. | |
Public Member Functions inherited from Track | |
| Tracklist * | get_tracklist () const |
| dsp::PortConnectionsManager * | get_port_connections_manager () const |
| bool | has_piano_roll () const |
| bool | should_be_visible () const |
| Returns whether the track should be visible. | |
| bool | is_tempo () const |
| bool | is_folder () const |
| bool | is_audio_group () const |
| bool | is_midi_group () const |
| bool | is_audio_bus () const |
| bool | is_midi_bus () const |
| bool | is_modulator () const |
| bool | is_chord () const |
| bool | is_marker () const |
| bool | is_audio () const |
| bool | is_instrument () const |
| bool | is_midi () const |
| bool | is_master () const |
| bool | is_deletable () const |
| bool | is_copyable () const |
| template<typename DerivedT> requires std::derived_from<base_type<DerivedT>, Track> && FinalClass<base_type<DerivedT>> | |
| double | get_full_visible_height (this DerivedT &&self) |
| Returns the full visible height (main height + height of all visible automation tracks + height of all visible lanes). | |
| template<typename DerivedT> requires std::derived_from<base_type<DerivedT>, Track> && FinalClass<base_type<DerivedT>> | |
| bool | multiply_heights (this DerivedT &&self, double multiplier, bool visible_only, bool check_only) |
| bool | is_auditioner () const |
| Whether this track is part of the SampleProcessor auditioner tracklist. | |
| bool | can_be_group_target () const |
| bool | is_frozen () const |
| template<FinalRegionSubclass RegionT, FinalClass SelfT> | |
| void | insert_region (this SelfT &self, ArrangerObjectUuidReference region_ref, AutomationTrack *at, std::optional< int > lane_pos, std::optional< int > idx, bool gen_name) |
| Inserts a Region to the given lane or AutomationTrack of the track, at the given index. | |
| void | write_audio_clip_to_pool_after_adding_audio_region (AudioClip &clip) const |
| template<FinalRegionSubclass RegionT> | |
| void | add_region (this auto &self, auto region_ref, AutomationTrack *at, std::optional< int > lane_pos, bool gen_name) |
| Appends a Region to the given lane or AutomationTrack of the track. | |
| void | append_objects (std::vector< ArrangerObjectPtrVariant > &objects) const |
Appends all the objects in the track to objects. | |
| void | unselect_all () |
| Unselects all arranger objects in the track. | |
| template<typename DerivedT> requires std::derived_from<base_type<DerivedT>, Track> && FinalClass<base_type<DerivedT>> | |
| bool | contains_uninstantiated_plugin (this DerivedT &&self) |
| utils::Utf8String | get_node_name () const override |
| Returns a human friendly name of the node. | |
| void | add_folder_parents (std::vector< FoldableTrack * > &parents, bool prepend) const |
| Adds the track's folder parents to the given vector. | |
| FoldableTrack * | get_direct_folder_parent () const |
| Returns the closest foldable parent or NULL. | |
| void | remove_from_folder_parents () |
| Remove the track from all folders. | |
| utils::Utf8String | get_name () const |
| Getter for the track name. | |
| bool | set_name_with_action_full (const utils::Utf8String &name) |
| Internally called by set_name_with_action(). | |
| void | set_name_with_action (const utils::Utf8String &name) |
| Setter to be used by the UI to create an undoable action. | |
| void | set_name (const Tracklist &tracklist, const utils::Utf8String &name, bool pub_events) |
| Setter for the track name. | |
| utils::Utf8String | get_unique_name (const Tracklist &tracklist, const utils::Utf8String &name) |
| Returns a unique name for a new track based on the given name. | |
| void | update_positions (bool from_ticks, bool bpm_change, dsp::FramesPerTick frames_per_tick) |
| Updates the frames/ticks of each position in each child of the track recursively. | |
| int | get_index () const |
| void | set_index (int index) |
| auto | get_input_signal_type () const |
| auto | get_output_signal_type () const |
| template<typename DerivedT> requires std::derived_from<base_type<DerivedT>, Track> && FinalClass<base_type<DerivedT>> | |
| void | get_plugins (this DerivedT &&self, std::vector< zrythm::gui::old_dsp::plugins::Plugin * > &arr) |
| Fills in the given array with all plugins in the track. | |
| template<typename DerivedT> requires std::derived_from<base_type<DerivedT>, Track> && FinalClass<base_type<DerivedT>> | |
| void | activate_all_plugins (this DerivedT &&self, bool activate) |
| Activate or deactivate all plugins. | |
| utils::Utf8String | get_comment () const |
| void | set_comment (const utils::Utf8String &comment, bool undoable) |
| void | set_comment_with_action (const utils::Utf8String &comment) |
| void | set_color (const Color &color, bool undoable, bool fire_events) |
| Sets the track color. | |
| void | set_icon (const utils::Utf8String &icon_name, bool undoable, bool fire_events) |
| Sets the track icon. | |
| void | track_freeze (bool freeze) |
| Freezes or unfreezes the track. | |
| template<typename DerivedT> requires std::derived_from<base_type<DerivedT>, Track> && FinalClass<base_type<DerivedT>> | |
| PluginPtrVariant | insert_plugin (this DerivedT &&self, PluginUuid plugin_id, plugins::PluginSlot slot, bool instantiate_plugin, bool replacing_plugin, bool moving_plugin, bool confirm, bool gen_automatables, bool recalc_graph, bool fire_events) |
| Wrapper over Channel.add_plugin() and ModulatorTrack.insert_modulator(). | |
| template<typename SelfT> requires ( std::derived_from<SelfT, ChannelTrack> || std::is_same_v<SelfT, ModulatorTrack>) | |
| void | remove_plugin (this SelfT &self, plugins::PluginSlot slot) |
| Wrapper over Channel::remove_plugin() and ModulatorTrack::remove_modulator(). | |
| template<typename SelfT> requires ( std::derived_from<SelfT, ChannelTrack> || std::is_same_v<SelfT, ModulatorTrack>) | |
| plugins::PluginSlot | get_plugin_slot (this const SelfT &self, const PluginUuid &plugin_id) |
| void | disconnect_track () |
| Disconnects the track from the processing chain and removes any plugins it contains. | |
| bool | is_enabled () const |
| bool | get_enabled () const |
| bool | get_disabled () const |
| void | set_enabled (bool enabled) |
| void | set_enabled (bool enabled, bool trigger_undo, bool auto_select, bool fire_events) |
| int | get_total_bars (const Transport &transport, int total_bars) const |
| void | set_caches (CacheType types) |
| Set various caches (snapshots, track name hash, plugin input/output ports, etc). | |
| bool | is_in_active_project () const override |
| void | set_port_metadata_from_owner (dsp::PortIdentifier &id, PortRange &range) const override |
| Function that will be called by the Port to update the identifier's relevant members based on this port owner. | |
| utils::Utf8String | get_full_designation_for_port (const dsp::PortIdentifier &id) const override |
| void | set_selection_status_getter (TrackSelectionStatusGetter getter) |
| void | unset_selection_status_getter () |
| auto & | get_plugin_registry () const |
| auto & | get_plugin_registry () |
| auto & | get_port_registry () const |
| auto & | get_port_registry () |
| auto & | get_object_registry () const |
| auto & | get_object_registry () |
| auto | get_type () const |
| auto | get_icon_name () const |
Public Member Functions inherited from zrythm::dsp::graph::IProcessable | |
| virtual nframes_t | get_single_playback_latency () const |
| Returns the latency of only the given processable, without adding the previous/next latencies. | |
| virtual void | clear_external_buffer (nframes_t block_length) |
| virtual bool | needs_external_buffer_clear_on_early_return () const |
Public Member Functions inherited from IPortOwner | |
| virtual void | on_control_change_event (const PortUuid &port_uuid, const dsp::PortIdentifier &id, float val) |
| Will be called when a control port's value changes. | |
| virtual void | on_midi_activity (const dsp::PortIdentifier &id) |
| Called during processing if the MIDI port contains new MIDI events. | |
| virtual bool | should_sum_data_from_backend () const |
| Whether during processing, the port should sum the data from its backend buffers coming in. | |
| virtual bool | should_bounce_to_master (utils::audio::BounceStep step) const |
| Whether the port should add its data to the master output when bouncing. | |
| virtual bool | are_events_on_midi_channel_approved (midi_byte_t channel) const |
| Returns whether MIDI events on this channel on an input port should be processed (not ignored). | |
Public Member Functions inherited from zrythm::utils::UuidIdentifiableObject< Track > | |
| UuidIdentifiableObject (const Uuid &id) | |
| UuidIdentifiableObject (const UuidIdentifiableObject &other)=default | |
| UuidIdentifiableObject (UuidIdentifiableObject &&other)=default | |
| UuidIdentifiableObject & | operator= (const UuidIdentifiableObject &other)=default |
| UuidIdentifiableObject & | operator= (UuidIdentifiableObject &&other)=default |
| auto | get_uuid () const |
| void | copy_members_from (const UuidIdentifiableObject &other) |
Public Member Functions inherited from LanedTrackImpl< AudioLane > | |
| void | init_loaded (PluginRegistry &plugin_registry, PortRegistry &port_registry) override |
| Adds additional metadata to track members after deserialization. | |
| bool | create_missing_lanes (int pos) |
| Creates missing TrackLane's until pos. | |
| void | remove_empty_last_lanes () |
| Removes the empty last lanes of the Track (except the last one). | |
| bool | has_soloed_lanes () const |
| Returns whether the track has any soloed lanes. | |
| double | get_visible_lane_heights () const |
| Gets the total height of all visible lanes (if any). | |
| void | generate_lanes () |
| Generates lanes for the track. | |
| void | clear_objects () override |
| Removes all objects recursively from the track. | |
| void | get_regions_in_range (std::vector< Region * > ®ions, const dsp::Position *p1, const dsp::Position *p2) override |
| Returns all the regions inside the given range, or all the regions if both p1 and p2 are NULL. | |
| int | get_lane_index (const AudioLane &lane) const |
| AudioLane & | get_lane_at (const size_t index) |
Public Member Functions inherited from LanedTrack | |
| void | set_lanes_visible (bool visible) |
| Set lanes visible and fire events. | |
Public Member Functions inherited from RecordableTrack | |
| void | init_loaded (PluginRegistry &plugin_registry, PortRegistry &port_registry) override |
| Adds additional metadata to track members after deserialization. | |
| bool | get_recording () const |
| void | set_recording (this auto &&self, bool recording) |
| Sets recording and connects/disconnects the JACK ports. | |
| std::optional< ArrangerObjectPtrVariant > | get_recording_region () const |
| template<typename DerivedT> | |
| void | init_recordable_track (this DerivedT &self, GenericBoolGetter autoarm_enabled_checker) |
| Initializes a recordable track. | |
Public Member Functions inherited from ICloneable< AudioTrack > | |
| std::unique_ptr< AudioTrack > | clone_unique (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| std::shared_ptr< AudioTrack > | clone_shared (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| AudioTrack * | clone_raw_ptr (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| AudioTrack * | clone_qobject (QObject *parent, ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| QScopedPointer< AudioTrack > | clone_unique_qobject (QObject *parent, ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
Public Member Functions inherited from zrythm::utils::InitializableObject< AudioTrack > | |
| Z_DISABLE_COPY_MOVE (InitializableObject) | |
Friends | |
| class | InitializableObject |
| void | to_json (nlohmann::json &j, const AudioTrack &track) |
| void | from_json (const nlohmann::json &j, AudioTrack &track) |
Additional Inherited Members | |
Public Types inherited from ChannelTrack | |
| using | Channel = zrythm::gui::Channel |
Public Types inherited from AutomatableTrack | |
| using | Plugin = gui::old_dsp::plugins::Plugin |
| using | PluginRegistry = gui::old_dsp::plugins::PluginRegistry |
Public Types inherited from Track | |
| enum class | Type { Instrument , Audio , Master , Chord , Marker , Tempo , Modulator , AudioBus , AudioGroup , Midi , MidiBus , MidiGroup , Folder } |
| The Track's type. More... | |
| using | PortType = dsp::PortType |
| using | PluginRegistry = gui::old_dsp::plugins::PluginRegistry |
| using | PluginPtrVariant = PluginRegistry::VariantType |
| using | PluginSlot = plugins::PluginSlot |
| using | TrackSelectionStatusGetter = std::function<bool (const TrackUuid &)> |
| using | Color = zrythm::utils::Color |
| using | Position = zrythm::dsp::Position |
Public Types inherited from IPortOwner | |
| using | TrackUuid = dsp::PortIdentifier::TrackUuid |
| using | PluginUuid = dsp::PortIdentifier::PluginUuid |
| using | PortUuid = dsp::PortIdentifier::PortUuid |
Public Types inherited from LanedTrackImpl< AudioLane > | |
| using | RegionT |
| using | TrackLaneType |
Static Public Member Functions inherited from Track | |
| static Fader::Type | type_get_prefader_type (const Type type) |
| Returns the prefader type. | |
| static constexpr bool | type_can_have_direct_out (Type type) |
| static bool | type_can_have_region_type (Type type, ArrangerObject::Type region_type) |
| static constexpr bool | type_is_copyable (Type type) |
| static constexpr bool | type_is_deletable (Type type) |
| Returns whether a track of the given type should be deletable by the user. | |
| static Type | type_get_from_plugin_descriptor (const zrythm::plugins::PluginDescriptor &descr) |
| static consteval bool | type_has_mono_compat_switch (const Type tt) |
| static constexpr bool | type_is_compatible_for_moving (const Type type1, const Type type2) |
Returns if regions in tracks from type1 can be moved to type2. | |
| static constexpr bool | type_has_piano_roll (const Type type) |
| Returns if the Track should have a piano roll. | |
| static constexpr bool | type_has_inputs (const Type type) |
| Returns if the Track should have an inputs selector. | |
| static bool | type_can_be_group_target (const Type type) |
| Returns if the Track can be a direct route target. | |
| template<typename T> | |
| static consteval Type | get_type_for_class () |
| static TrackUniquePtrVariant | create_unique_from_type (Type type) |
| static Track * | from_variant (const TrackPtrVariant &variant) |
| static bool | is_plugin_descriptor_valid_for_slot_type (const plugins::PluginDescriptor &descr, zrythm::plugins::PluginSlotType slot_type, Track::Type track_type) |
Returns if descr can be dropped at slot_type in a track of type track_type. | |
| static void | create_with_action (Type type, const zrythm::plugins::PluginConfiguration *pl_setting, const FileDescriptor *file_descr, const dsp::Position *pos, int index, int num_tracks, int disable_track_idx, TracksReadyCallback ready_cb) |
| Creates a new track with the given parameters. | |
| static Track * | create_empty_at_idx_with_action (Type type, int index) |
| Creates a new empty track at the given index. | |
| static Track * | create_for_plugin_at_idx_w_action (Type type, const zrythm::plugins::PluginConfiguration *pl_setting, int index) |
| Creates a new track for the given plugin at the given index. | |
| template<typename T = Track> | |
| static T * | create_for_plugin_at_idx_w_action (const zrythm::plugins::PluginConfiguration *pl_setting, int index) |
| static Track * | create_empty_with_action (Type type) |
| Creates a new empty track at the end of the tracklist. | |
| template<typename T = Track> | |
| static T * | create_empty_with_action () |
| static TrackUniquePtrVariant | create_track (Type type, const utils::Utf8String &name, int pos) |
| Create a track of the given type with the given name and position. | |
Static Public Member Functions inherited from zrythm::utils::InitializableObject< AudioTrack > | |
| static std::shared_ptr< AudioTrack > | create_shared (Args &&... args) |
| Creates a shared pointer to initialized object. | |
| static std::unique_ptr< AudioTrack > | create_unique (Args &&... args) |
| Creates a unique pointer to initialized object. | |
Data Fields inherited from ChannelTrack | |
| Channel * | channel_ = nullptr |
| Owned channel object. | |
Data Fields inherited from ProcessableTrack | |
| std::unique_ptr< TrackProcessor > | processor_ |
| The TrackProcessor, used for processing. | |
Data Fields inherited from AutomatableTrack | |
| AutomationTracklist * | automation_tracklist_ = nullptr |
| bool | automation_visible_ = false |
| Flag to set automations visible or not. | |
Data Fields inherited from Track | |
| bool | bounce_ {} |
| Set to ON during bouncing if this track should be included. | |
| bool | bounce_to_master_ = false |
| Whether to temporarily route the output to master (e.g., when bouncing the track on its own without its parents). | |
| bool | disconnecting_ = false |
| Whether currently disconnecting. | |
| bool | trigger_midi_activity_ = false |
| Flag to tell the UI that this channel had MIDI activity. | |
| std::optional< AudioClip::Uuid > | frozen_clip_id_ |
| Pool ID of the clip if track is frozen (unset if not frozen). | |
| Tracklist * | tracklist_ = nullptr |
| Pointer to owner tracklist, if any. | |
| std::optional< TrackSelectionStatusGetter > | track_selection_status_getter_ |
| Track selection status getter. | |
Data Fields inherited from LanedTrackImpl< AudioLane > | |
| TrackLaneList | lanes_ |
| Lanes in this track containing Regions. | |
| std::vector< std::unique_ptr< AudioLane > > | lane_snapshots_ |
| Snapshots used during playback. | |
Data Fields inherited from LanedTrack | |
| bool | lanes_visible_ = false |
| Flag to set lanes visible or not. | |
| int | last_lane_idx_ = 0 |
| Lane index of region before recording paused. | |
| int | last_lane_created_ = 0 |
| Last lane created during this drag. | |
| bool | block_auto_creation_and_deletion_ = false |
| Block auto-creating or deleting lanes. | |
Data Fields inherited from RecordableTrack | |
| std::optional< PortUuidReference > | recording_id_ |
| Recording or not. | |
| bool | record_set_automatically_ = false |
| Whether record was set automatically when the channel was selected. | |
| std::optional< Region::Uuid > | recording_region_ |
| Region currently recording on. | |
| bool | recording_start_sent_ = false |
| This is a flag to let the recording manager know that a START signal was already sent for recording. | |
| bool | recording_stop_sent_ = false |
| This is a flag to let the recording manager know that a STOP signal was already sent for recording.i. | |
| bool | recording_paused_ = false |
| This must only be set by the RecordingManager when temporarily pausing recording, eg when looping or leaving the punch range. | |
Data Fields inherited from ICloneable< AudioTrack > | |
| friend | Derived |
Static Public Attributes inherited from Track | |
| static constexpr int | MIN_HEIGHT = 26 |
| static constexpr int | DEF_HEIGHT = 52 |
Protected Member Functions inherited from ChannelTrack | |
| ChannelTrack (TrackRegistry &track_registry, PluginRegistry &plugin_registry, PortRegistry &port_registry, bool new_identity) | |
| void | append_member_ports (std::vector< Port * > &ports, bool include_plugins) const |
| void | copy_members_from (const ChannelTrack &other, ObjectCloneType clone_type) |
| bool | validate_base () const |
| void | init_channel () |
| Initializes the channel. | |
Protected Member Functions inherited from ProcessableTrack | |
| void | fill_events_common (const EngineProcessTimeInfo &time_nfo, dsp::MidiEventVector *midi_events, std::optional< std::pair< AudioPort &, AudioPort & > > stereo_ports) const |
| Common logic for audio and MIDI/instrument tracks to fill in MidiEvents or StereoPorts from the timeline data. | |
| void | copy_members_from (const ProcessableTrack &other, ObjectCloneType clone_type) |
| void | append_member_ports (std::vector< Port * > &ports, bool include_plugins) const |
Protected Member Functions inherited from AutomatableTrack | |
| void | copy_members_from (const AutomatableTrack &other, ObjectCloneType clone_type) |
| bool | validate_base () const |
| void | set_playback_caches () override |
| Set the playback caches for a track. | |
Protected Member Functions inherited from Track | |
| Track (Type type, PortType in_signal_type, PortType out_signal_type, PluginRegistry &plugin_registry, PortRegistry &port_registry, ArrangerObjectRegistry &obj_registry) | |
| Constructor to be used by subclasses. | |
| void | copy_members_from (const Track &other, ObjectCloneType clone_type) |
| bool | validate_base () const |
| void | add_region_if_in_range (const dsp::Position *p1, const dsp::Position *p2, std::vector< Region * > ®ions, Region *region) |
Protected Member Functions inherited from LanedTrackImpl< AudioLane > | |
| void | copy_members_from (const LanedTrackImpl &other, ObjectCloneType clone_type) |
| bool | validate_base () const |
| void | set_playback_caches () override |
| Set the playback caches for a track. | |
Protected Member Functions inherited from RecordableTrack | |
| RecordableTrack (PortRegistry &port_registry, bool new_identity) | |
| void | copy_members_from (const RecordableTrack &other, ObjectCloneType clone_type) |
| void | append_member_ports (std::vector< Port * > &ports, bool include_plugins) const |
| ControlPort & | get_recording_port () const |
Protected Member Functions inherited from zrythm::utils::InitializableObject< AudioTrack > | |
| InitializableObject ()=default | |
| Protected constructor to prevent instantiation. | |
Protected Attributes inherited from ProcessableTrack | |
| PortRegistry & | port_registry_ |
Protected Attributes inherited from Track | |
| PluginRegistry & | plugin_registry_ |
| PortRegistry & | port_registry_ |
| ArrangerObjectRegistry & | object_registry_ |
| int | pos_ = 0 |
| Position in the Tracklist. | |
| Type | type_ = {} |
| The type of track this is. | |
| utils::Utf8String | name_ |
| Track name, used in channel too. | |
| utils::Utf8String | icon_name_ |
| Icon name of the track. | |
| bool | visible_ = true |
| Track Widget created dynamically. | |
| bool | filtered_ = false |
| Track will be hidden if true (temporary and not serializable). | |
| double | main_height_ { DEF_HEIGHT } |
| Height of the main part (without lanes). | |
| bool | enabled_ = true |
| Active (enabled) or not. | |
| Color | color_ |
| Track color. | |
| PortType | in_signal_type_ = {} |
| The input signal type (eg audio bus tracks have audio input signals). | |
| PortType | out_signal_type_ = {} |
| The output signal type (eg midi tracks have MIDI output signals). | |
| utils::Utf8String | comment_ |
| User comments. | |
The AudioTrack class represents an audio track in the project.
It inherits from ChannelTrack, LanedTrack, and AutomatableTrack, providing functionality for managing audio channels, lanes, and automation.
Definition at line 18 of file audio_track.h.
|
finalvirtual |
Appends all channel ports and optionally plugin ports to the array.
Implements Track.
|
overridevirtual |
Removes all objects recursively from the track.
Reimplemented from Track.
| void AudioTrack::fill_events | ( | const EngineProcessTimeInfo & | time_nfo, |
| std::pair< AudioPort &, AudioPort & > | stereo_ports ) |
Wrapper for audio tracks to fill in StereoPorts from the timeline data.
| stereo_ports | StereoPorts to fill. |
|
overridevirtual |
Returns all the regions inside the given range, or all the regions if both p1 and p2 are NULL.
Reimplemented from Track.
|
overridevirtual |
Initializes the cloned object.
| ZrythmException | If the object could not be cloned. |
Implements ICloneable< AudioTrack >.
|
overridevirtual |
Adds additional metadata to track members after deserialization.
Implements Track.
|
overridevirtual |
|
friend |
Definition at line 96 of file audio_track.h.
|
friend |
Definition at line 34 of file audio_track.h.
|
friend |
Definition at line 87 of file audio_track.h.