2#ifndef __ASE_PROJECT_HH__
3#define __ASE_PROJECT_HH__
19 void operator+= (
const VoidF &func);
27 uint autoplay_timer_ = 0;
28 uint undo_scopes_open_ = 0;
29 uint undo_groups_open_ = 0;
36 bool discarded_ =
false;
42 void set_bpm (
double bpm)
override;
43 double get_bpm ()
const override;
44 void set_numerator (
double num)
override;
45 double get_numerator ()
const override;
46 void set_denominator (
double den)
override;
47 double get_denominator ()
const override;
58 void _set_event_source (AudioProcessorP esource)
override;
61 void push_undo (
const VoidF &func);
62 void undo ()
override;
64 void redo ()
override;
69 size_t undo_size_guess ()
const;
79 StreamReaderP load_blob (
const String &fspath);
86 TelemetryFieldS
telemetry ()
const override;
87 AudioProcessorP master_processor ()
const;
90 static size_t undo_mem_counter;
bool remove_track(Track &child) override
Remove a track owned by this Project.
void group_undo(const String &undoname) override
Merge upcoming undo steps.
void _deactivate() override
Stop processing the corresponding AudioProcessor.
void redo() override
Redo the last undo modification.
bool can_redo() override
Check if any redo steps have been recorded.
TrackP master_track() override
Retrieve the master track.
bool is_playing() override
Check whether a project is currently playing (song sequencing).
void undo() override
Undo the last project modification.
String match_serialized(const String ®ex, int group) override
Match regex against the serialized project state.
bool can_undo() override
Check if any undo steps have been recorded.
void serialize(WritNode &xs) override
Serialize members and childern.
TelemetryFieldS telemetry() const override
Retrieve project telemetry locations.
TrackS all_tracks() override
List all tracks of the project.
void ungroup_undo() override
Stop merging undo steps.
String saved_filename() override
Retrieve UTF-8 filename for save or from load.
TrackP create_track() override
Create and append a new Track.
AudioProcessorP _audio_processor() const override
Retrieve the corresponding AudioProcessor.
Error save_project(const String &utf8filename, bool collect) override
Store Project and collect external files.
void _activate() override
Add AudioProcessor to the Engine and start processing.
String loader_resolve(const String &hexhash)
Find file from hash code, returns fspath.
void start_playback() override
Start playback of a project, requires active sound engine.
DeviceInfo device_info() override
Describe this Device type.
void discard() override
Discard project and associated resources.
Error load_project(const String &utf8filename) override
Load project from file filename.
void stop_playback() override
Stop project playback.
Projects support loading, saving, playback and act as containers for all other sound objects.
Container for Clip objects and sequencing information.
One entry in a Writ serialization document.
#define ASE_DEFINE_MAKE_SHARED(CLASS)
The Anklang C++ API namespace.
Error
Enum representing Error states.
uint32_t uint
Provide 'uint' as convenience type.
MusicalTuning
Musical tunings, see: http://en.wikipedia.org/wiki/Musical_tuning.
Musical time signature and tick conversions.