--- gigedit/trunk/src/gigedit/dimregionedit.h 2019/02/02 07:48:50 3460 +++ gigedit/trunk/src/gigedit/dimregionedit.h 2019/02/02 17:53:36 3461 @@ -295,7 +295,7 @@ // connect a widget to a setter function in DimRegionEdit template void connect(C& widget, - void (DimRegionEdit::*setter)(gig::DimensionRegion*, T)) { + void (DimRegionEdit::*setter)(gig::DimensionRegion&, T)) { connect(widget, sigc::mem_fun(setter)); } @@ -325,7 +325,7 @@ // helper function for the connect functions above template void connect(C& widget, - sigc::slot setter) { + sigc::slot setter) { widget.signal_value_changed().connect( sigc::compose(sigc::bind(sigc::mem_fun(*this, &DimRegionEdit::set_many), setter), sigc::mem_fun(widget, &C::get_value))); @@ -335,46 +335,46 @@ // each of them template void set_many(T value, - sigc::slot setter) { + sigc::slot setter) { if (update_model == 0) { for (std::set::iterator i = dimregs.begin() ; i != dimregs.end() ; ++i) { DimRegionChangeGuard(this, *i); - setter(this, *i, value); + setter(*this, **i, value); } } } // set a value of a member variable in the given dimregion template - void set_member(gig::DimensionRegion* d, T value, + void set_member(gig::DimensionRegion& d, T value, T gig::DimensionRegion::* member) { - d->*member = value; + d.*member = value; } // set a value of a member of a struct member variable in the given dimregion template - void set_sub_member(gig::DimensionRegion* d, T value, + void set_sub_member(gig::DimensionRegion& d, T value, S gig::DimensionRegion::* member, T S::* member2) { - d->*member.*member2 = value; + d.*member.*member2 = value; } // setters for specific dimregion parameters - void set_UnityNote(gig::DimensionRegion* d, uint8_t value); - void set_FineTune(gig::DimensionRegion* d, int16_t value); - void set_Crossfade_in_start(gig::DimensionRegion* d, uint8_t value); - void set_Crossfade_in_end(gig::DimensionRegion* d, uint8_t value); - void set_Crossfade_out_start(gig::DimensionRegion* d, uint8_t value); - void set_Crossfade_out_end(gig::DimensionRegion* d, uint8_t value); - void set_Gain(gig::DimensionRegion* d, int32_t value); - void set_LoopEnabled(gig::DimensionRegion* d, bool value); - void set_LoopType(gig::DimensionRegion* d, uint32_t value); - void set_LoopStart(gig::DimensionRegion* d, uint32_t value); - void set_LoopLength(gig::DimensionRegion* d, uint32_t value); - void set_LoopInfinite(gig::DimensionRegion* d, bool value); - void set_LoopPlayCount(gig::DimensionRegion* d, uint32_t value); + void set_UnityNote(gig::DimensionRegion& d, uint8_t value); + void set_FineTune(gig::DimensionRegion& d, int16_t value); + void set_Crossfade_in_start(gig::DimensionRegion& d, uint8_t value); + void set_Crossfade_in_end(gig::DimensionRegion& d, uint8_t value); + void set_Crossfade_out_start(gig::DimensionRegion& d, uint8_t value); + void set_Crossfade_out_end(gig::DimensionRegion& d, uint8_t value); + void set_Gain(gig::DimensionRegion& d, int32_t value); + void set_LoopEnabled(gig::DimensionRegion& d, bool value); + void set_LoopType(gig::DimensionRegion& d, uint32_t value); + void set_LoopStart(gig::DimensionRegion& d, uint32_t value); + void set_LoopLength(gig::DimensionRegion& d, uint32_t value); + void set_LoopInfinite(gig::DimensionRegion& d, bool value); + void set_LoopPlayCount(gig::DimensionRegion& d, uint32_t value); void onButtonSelectSamplePressed(); };