22 using PluginUuid = plugins::Plugin::Uuid;
36 Clipboard (std::ranges::range
auto arranger_objects)
37 requires std::is_same_v<
38 decltype (*arranger_objects.begin ()),
39 structure::arrangement::ArrangerObjectPtrVariant>
40 : type_ (Type::ArrangerObjects),
41 arranger_objects_ (std::ranges::to (arranger_objects))
45 Clipboard (std::ranges::range
auto plugins)
46 requires std::is_same_v<
decltype (*plugins.begin ()), plugins::PluginPtrVariant>
48 : type_ (Type::Plugins), plugins_ (std::ranges::to (plugins))
59 requires std::is_same_v<
decltype (*tracks.begin ()), structure::tracks::TrackPtrVariant>
60 : type_ (Type::Tracks), tracks_ (std::ranges::to (tracks))
64 std::string get_document_type ()
const {
return "ZrythmClipboard"; }
65 int get_format_major_version ()
const {
return 3; }
66 int get_format_minor_version ()
const {
return 0; }
69 NLOHMANN_DEFINE_TYPE_INTRUSIVE (
78 std::vector<structure::arrangement::ArrangerObject::Uuid> arranger_objects_;
79 std::vector<structure::tracks::Track::Uuid> tracks_;
80 std::vector<PluginUuid> plugins_;