16class ArrangerObjectMuteFunctionality :
public QObject
19 Q_PROPERTY (
bool muted READ muted WRITE setMuted NOTIFY mutedChanged)
23 ArrangerObjectMuteFunctionality (QObject * parent =
nullptr) noexcept
27 ~ArrangerObjectMuteFunctionality ()
override =
default;
28 Q_DISABLE_COPY_MOVE (ArrangerObjectMuteFunctionality)
33 bool muted ()
const {
return muted_; }
34 void setMuted (
bool muted)
39 Q_EMIT mutedChanged (muted);
42 Q_SIGNAL
void mutedChanged (
bool muted);
48template <
typename RegionT>
50RegionImpl<RegionT>::get_muted (
bool check_parent)
const
54 if constexpr (is_laned ())
56 auto &lane = get_derived ().get_lane ();
57 if (lane.is_effectively_muted ())
66 friend void init_from (
67 ArrangerObjectMuteFunctionality &obj,
68 const ArrangerObjectMuteFunctionality &other,
71 obj.muted_ = other.muted_;
74 static constexpr std::string_view kMutedKey =
"muted";
76 to_json (nlohmann::json &j,
const ArrangerObjectMuteFunctionality &
object)
78 j[kMutedKey] =
object.muted_;
81 from_json (
const nlohmann::json &j, ArrangerObjectMuteFunctionality &
object)
83 j.at (kMutedKey).get_to (
object.muted_);
84 Q_EMIT
object.mutedChanged (
object.muted_);
91 BOOST_DESCRIBE_CLASS (ArrangerObjectMuteFunctionality, (), (), (), (muted_))