Zrythm
a highly automated and intuitive digital audio workstation
|
Action for a group of ArrangerObject's. More...
#include <cstdint>
#include "actions/undoable_action.h"
#include "dsp/audio_function.h"
#include "dsp/automation_function.h"
#include "dsp/midi_function.h"
#include "dsp/port_identifier.h"
#include "dsp/position.h"
#include "dsp/quantize_options.h"
#include "gui/backend/audio_selections.h"
#include "gui/backend/automation_selections.h"
#include "gui/backend/chord_selections.h"
#include "gui/backend/midi_arranger_selections.h"
#include "gui/backend/timeline_selections.h"
Go to the source code of this file.
Data Structures | |
struct | ArrangerSelectionsAction |
The action. More... | |
Macros | |
#define | arranger_selections_action_new_create(sel, error) |
#define | arranger_selections_action_new_delete(sel, error) |
#define | arranger_selections_action_new_move(sel, ticks, chords, pitch, tracks, lanes, norm_amt, port_id, already_moved, error) |
#define | arranger_selections_action_new_duplicate(sel, ticks, chords, pitch, tracks, lanes, norm_amt, port_id, already_moved, error) |
#define | arranger_selections_action_new_move_timeline(sel, ticks, delta_tracks, delta_lanes, port_id, already_moved, error) |
#define | arranger_selections_action_new_duplicate_timeline(sel, ticks, delta_tracks, delta_lanes, port_id, already_moved, error) |
#define | arranger_selections_action_new_move_midi(sel, ticks, delta_pitch, already_moved, error) |
#define | arranger_selections_action_new_duplicate_midi(sel, ticks, delta_pitch, already_moved, error) |
#define | arranger_selections_action_new_move_chord(sel, ticks, delta_chords, already_moved, error) |
#define | arranger_selections_action_new_duplicate_chord(sel, ticks, delta_chords, already_moved, error) |
#define | arranger_selections_action_new_move_automation(sel, ticks, norm_amt, already_moved, error) |
#define | arranger_selections_action_new_duplicate_automation(sel, ticks, norm_amt, already_moved, error) |
#define | arranger_selections_action_perform_create(sel, error) |
#define | arranger_selections_action_perform_delete(sel, error) |
#define | arranger_selections_action_perform_move(sel, ticks, chords, pitch, tracks, lanes, norm_amt, port_id, already_moved, error) |
#define | arranger_selections_action_perform_duplicate(sel, ticks, chords, pitch, tracks, lanes, norm_amt, port_id, already_moved, error) |
#define | arranger_selections_action_perform_move_timeline(sel, ticks, delta_tracks, delta_lanes, port_id, already_moved, error) |
#define | arranger_selections_action_perform_duplicate_timeline(sel, ticks, delta_tracks, delta_lanes, port_id, already_moved, error) |
#define | arranger_selections_action_perform_move_midi(sel, ticks, delta_pitch, already_moved, error) |
#define | arranger_selections_action_perform_duplicate_midi(sel, ticks, delta_pitch, already_moved, error) |
#define | arranger_selections_action_perform_move_chord(sel, ticks, delta_chords, already_moved, error) |
#define | arranger_selections_action_perform_duplicate_chord(sel, ticks, delta_chords, already_moved, error) |
#define | arranger_selections_action_perform_move_automation(sel, ticks, norm_amt, already_moved, error) |
#define | arranger_selections_action_perform_duplicate_automation(sel, ticks, norm_amt, already_moved, error) |
Enumerations | |
enum class | ArrangerSelectionsActionType { AS_ACTION_AUTOMATION_FILL , AS_ACTION_CREATE , AS_ACTION_DELETE , AS_ACTION_DUPLICATE , AS_ACTION_EDIT , AS_ACTION_LINK , AS_ACTION_MERGE , AS_ACTION_MOVE , AS_ACTION_QUANTIZE , AS_ACTION_RECORD , AS_ACTION_RESIZE , AS_ACTION_SPLIT } |
enum class | ArrangerSelectionsActionResizeType { ARRANGER_SELECTIONS_ACTION_RESIZE_L , ARRANGER_SELECTIONS_ACTION_RESIZE_R , ARRANGER_SELECTIONS_ACTION_RESIZE_L_LOOP , ARRANGER_SELECTIONS_ACTION_RESIZE_R_LOOP , ARRANGER_SELECTIONS_ACTION_RESIZE_L_FADE , ARRANGER_SELECTIONS_ACTION_RESIZE_R_FADE , ARRANGER_SELECTIONS_ACTION_STRETCH_L , ARRANGER_SELECTIONS_ACTION_STRETCH_R } |
Type used when the action is a RESIZE action. More... | |
enum class | ArrangerSelectionsActionEditType { ArrangerSelectionsActionEditType::ARRANGER_SELECTIONS_ACTION_EDIT_NAME , ArrangerSelectionsActionEditType::ARRANGER_SELECTIONS_ACTION_EDIT_POS , ArrangerSelectionsActionEditType::ARRANGER_SELECTIONS_ACTION_EDIT_PRIMITIVE , ArrangerSelectionsActionEditType::ARRANGER_SELECTIONS_ACTION_EDIT_SCALE , ArrangerSelectionsActionEditType::ARRANGER_SELECTIONS_ACTION_EDIT_FADES , ArrangerSelectionsActionEditType::ARRANGER_SELECTIONS_ACTION_EDIT_MUTE , ArrangerSelectionsActionEditType::ARRANGER_SELECTIONS_ACTION_EDIT_EDITOR_FUNCTION } |
Type used when the action is an EDIT action. More... | |
Functions | |
void | arranger_selections_action_init_loaded (ArrangerSelectionsAction *self) |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_create_or_delete (ArrangerSelections *sel, const bool create, GError **error) |
Creates a new action for creating/deleting objects. | |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_record (ArrangerSelections *sel_before, ArrangerSelections *sel_after, const bool already_recorded, GError **error) |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_move_or_duplicate (ArrangerSelections *sel, const bool move, const double ticks, const int delta_chords, const int delta_pitch, const int delta_tracks, const int delta_lanes, const double delta_normalized_amount, const PortIdentifier *tgt_port_id, const bool already_moved, GError **error) |
Creates a new action for moving or duplicating objects. | |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_link (ArrangerSelections *sel_before, ArrangerSelections *sel_after, const double ticks, const int delta_tracks, const int delta_lanes, const bool already_moved, GError **error) |
Creates a new action for linking regions. | |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_edit (ArrangerSelections *sel_before, ArrangerSelections *sel_after, ArrangerSelectionsActionEditType type, bool already_edited, GError **error) |
Creates a new action for editing properties of an object. | |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_edit_single_obj (const ArrangerObject *obj_before, const ArrangerObject *obj_after, ArrangerSelectionsActionEditType type, bool already_edited, GError **error) |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_edit_midi_function (ArrangerSelections *sel_before, MidiFunctionType midi_func_type, MidiFunctionOpts opts, GError **error) |
Wrapper over arranger_selections_action_new_edit() for MIDI functions. | |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_edit_automation_function (ArrangerSelections *sel_before, AutomationFunctionType automation_func_type, GError **error) |
Wrapper over arranger_selections_action_new_edit() for automation functions. | |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_edit_audio_function (ArrangerSelections *sel_before, AudioFunctionType audio_func_type, AudioFunctionOpts opts, const char *uri, GError **error) |
Wrapper over arranger_selections_action_new_edit() for automation functions. | |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_automation_fill (Region *region_before, Region *region_after, bool already_changed, GError **error) |
Creates a new action for automation autofill. | |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_split (ArrangerSelections *sel, const Position *pos, GError **error) |
Creates a new action for splitting ArrangerObject's. | |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_merge (ArrangerSelections *sel, GError **error) |
Creates a new action for merging ArrangerObject's. | |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_resize (ArrangerSelections *sel_before, ArrangerSelections *sel_after, ArrangerSelectionsActionResizeType type, const double ticks, GError **error) |
Creates a new action for resizing ArrangerObject's. | |
WARN_UNUSED_RESULT UndoableAction * | arranger_selections_action_new_quantize (ArrangerSelections *sel, QuantizeOptions *opts, GError **error) |
Creates a new action for quantizing ArrangerObject's. | |
NONNULL ArrangerSelectionsAction * | arranger_selections_action_clone (const ArrangerSelectionsAction *src) |
bool | arranger_selections_action_perform_create_or_delete (ArrangerSelections *sel, const bool create, GError **error) |
bool | arranger_selections_action_perform_record (ArrangerSelections *sel_before, ArrangerSelections *sel_after, const bool already_recorded, GError **error) |
bool | arranger_selections_action_perform_move_or_duplicate (ArrangerSelections *sel, const bool move, const double ticks, const int delta_chords, const int delta_pitch, const int delta_tracks, const int delta_lanes, const double delta_normalized_amount, const PortIdentifier *port_id, const bool already_moved, GError **error) |
bool | arranger_selections_action_perform_link (ArrangerSelections *sel_before, ArrangerSelections *sel_after, const double ticks, const int delta_tracks, const int delta_lanes, const bool already_moved, GError **error) |
bool | arranger_selections_action_perform_edit (ArrangerSelections *sel_before, ArrangerSelections *sel_after, ArrangerSelectionsActionEditType type, bool already_edited, GError **error) |
bool | arranger_selections_action_perform_edit_single_obj (const ArrangerObject *obj_before, const ArrangerObject *obj_after, ArrangerSelectionsActionEditType type, bool already_edited, GError **error) |
bool | arranger_selections_action_perform_edit_midi_function (ArrangerSelections *sel_before, MidiFunctionType midi_func_type, MidiFunctionOpts opts, GError **error) |
bool | arranger_selections_action_perform_edit_automation_function (ArrangerSelections *sel_before, AutomationFunctionType automation_func_type, GError **error) |
bool | arranger_selections_action_perform_edit_audio_function (ArrangerSelections *sel_before, AudioFunctionType audio_func_type, AudioFunctionOpts opts, const char *uri, GError **error) |
bool | arranger_selections_action_perform_automation_fill (Region *region_before, Region *region_after, bool already_changed, GError **error) |
bool | arranger_selections_action_perform_split (ArrangerSelections *sel, const Position *pos, GError **error) |
bool | arranger_selections_action_perform_merge (ArrangerSelections *sel, GError **error) |
bool | arranger_selections_action_perform_resize (ArrangerSelections *sel_before, ArrangerSelections *sel_after, ArrangerSelectionsActionResizeType type, const double ticks, GError **error) |
bool | arranger_selections_action_perform_quantize (ArrangerSelections *sel, QuantizeOptions *opts, GError **error) |
int | arranger_selections_action_do (ArrangerSelectionsAction *self, GError **error) |
int | arranger_selections_action_undo (ArrangerSelectionsAction *self, GError **error) |
char * | arranger_selections_action_stringize (ArrangerSelectionsAction *self) |
bool | arranger_selections_action_contains_clip (ArrangerSelectionsAction *self, AudioClip *clip) |
void | arranger_selections_action_free (ArrangerSelectionsAction *self) |
Action for a group of ArrangerObject's.
Definition in file arranger_selections.h.