2022-03-02 23:59:19 +01:00
|
|
|
#pragma once
|
2019-03-28 02:17:15 +01:00
|
|
|
|
2022-03-17 02:50:30 +01:00
|
|
|
#include "better_note.hpp"
|
2022-03-16 02:10:18 +01:00
|
|
|
#include "better_song.hpp"
|
2021-12-31 14:59:39 +01:00
|
|
|
#include "history.hpp"
|
|
|
|
#include "history_actions.hpp"
|
2021-12-31 00:57:06 +01:00
|
|
|
#include "notes_clipboard.hpp"
|
|
|
|
#include "time_selection.hpp"
|
|
|
|
#include "widgets/density_graph.hpp"
|
2019-04-06 22:35:17 +02:00
|
|
|
|
2022-01-04 01:31:17 +01:00
|
|
|
#include <filesystem>
|
|
|
|
|
2022-03-16 02:10:18 +01:00
|
|
|
struct ChartState {
|
|
|
|
explicit ChartState(better::Chart& c, std::filesystem::path assets);
|
|
|
|
better::Chart& chart;
|
|
|
|
std::set<Note> selected_notes;
|
|
|
|
NotesClipboard notes_clipboard;
|
|
|
|
SelectionState time_selection;
|
2022-03-17 02:50:30 +01:00
|
|
|
std::optional<better::LongNote> long_note_being_created;
|
2022-03-16 02:10:18 +01:00
|
|
|
bool creating_long_note;
|
2019-03-28 02:17:15 +01:00
|
|
|
History<std::shared_ptr<ActionWithMessage>> history;
|
2022-03-16 02:10:18 +01:00
|
|
|
DensityGraph density_graph;
|
2019-03-28 02:17:15 +01:00
|
|
|
|
2022-03-17 02:50:30 +01:00
|
|
|
std::optional<better::LongNote> make_long_note_dummy(Fraction current_beat) const;
|
|
|
|
std::optional<better::LongNote> make_current_long_note() const;
|
2019-03-28 02:17:15 +01:00
|
|
|
};
|