19 using PluginUuid = plugins::Plugin::Uuid;
33 Clipboard (std::ranges::range
auto arranger_objects)
34 requires std::is_same_v<
35 decltype (*arranger_objects.begin ()),
36 structure::arrangement::ArrangerObjectPtrVariant>
37 : type_ (Type::ArrangerObjects),
38 arranger_objects_ (std::ranges::to (arranger_objects))
42 Clipboard (std::ranges::range
auto plugins)
43 requires std::is_same_v<
decltype (*plugins.begin ()), plugins::PluginPtrVariant>
45 : type_ (Type::Plugins), plugins_ (std::ranges::to (plugins))
56 requires std::is_same_v<
decltype (*tracks.begin ()), structure::tracks::TrackPtrVariant>
57 : type_ (Type::Tracks), tracks_ (std::ranges::to (tracks))
61 std::string get_document_type ()
const {
return "ZrythmClipboard"; }
62 int get_format_major_version ()
const {
return 3; }
63 int get_format_minor_version ()
const {
return 0; }
66 NLOHMANN_DEFINE_TYPE_INTRUSIVE (
75 std::vector<structure::arrangement::ArrangerObject::Uuid> arranger_objects_;
76 std::vector<structure::tracks::Track::Uuid> tracks_;
77 std::vector<PluginUuid> plugins_;