/[svn]/gigedit/trunk/src/gigedit/dimregionedit.h
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/dimregionedit.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3460 by persson, Thu Jan 31 19:42:50 2019 UTC revision 3461 by persson, Sat Feb 2 17:53:36 2019 UTC
# Line 295  protected: Line 295  protected:
295      // connect a widget to a setter function in DimRegionEdit      // connect a widget to a setter function in DimRegionEdit
296      template<typename C, typename T>      template<typename C, typename T>
297      void connect(C& widget,      void connect(C& widget,
298                   void (DimRegionEdit::*setter)(gig::DimensionRegion*, T)) {                   void (DimRegionEdit::*setter)(gig::DimensionRegion&, T)) {
299          connect<C, T>(widget,          connect<C, T>(widget,
300                        sigc::mem_fun(setter));                        sigc::mem_fun(setter));
301      }      }
# Line 325  protected: Line 325  protected:
325      // helper function for the connect functions above      // helper function for the connect functions above
326      template<typename C, typename T>      template<typename C, typename T>
327      void connect(C& widget,      void connect(C& widget,
328                   sigc::slot<void, DimRegionEdit*, gig::DimensionRegion*, T> setter) {                   sigc::slot<void, DimRegionEdit&, gig::DimensionRegion&, T> setter) {
329          widget.signal_value_changed().connect(          widget.signal_value_changed().connect(
330              sigc::compose(sigc::bind(sigc::mem_fun(*this, &DimRegionEdit::set_many<T>), setter),              sigc::compose(sigc::bind(sigc::mem_fun(*this, &DimRegionEdit::set_many<T>), setter),
331                            sigc::mem_fun(widget, &C::get_value)));                            sigc::mem_fun(widget, &C::get_value)));
# Line 335  protected: Line 335  protected:
335      // each of them      // each of them
336      template<typename T>      template<typename T>
337      void set_many(T value,      void set_many(T value,
338                    sigc::slot<void, DimRegionEdit*, gig::DimensionRegion*, T> setter) {                    sigc::slot<void, DimRegionEdit&, gig::DimensionRegion&, T> setter) {
339          if (update_model == 0) {          if (update_model == 0) {
340              for (std::set<gig::DimensionRegion*>::iterator i = dimregs.begin() ;              for (std::set<gig::DimensionRegion*>::iterator i = dimregs.begin() ;
341                   i != dimregs.end() ; ++i)                   i != dimregs.end() ; ++i)
342              {              {
343                  DimRegionChangeGuard(this, *i);                  DimRegionChangeGuard(this, *i);
344                  setter(this, *i, value);                  setter(*this, **i, value);
345              }              }
346          }          }
347      }      }
348    
349      // set a value of a member variable in the given dimregion      // set a value of a member variable in the given dimregion
350      template<typename T>      template<typename T>
351      void set_member(gig::DimensionRegion* d, T value,      void set_member(gig::DimensionRegion& d, T value,
352                      T gig::DimensionRegion::* member) {                      T gig::DimensionRegion::* member) {
353          d->*member = value;          d.*member = value;
354      }      }
355    
356      // set a value of a member of a struct member variable in the given dimregion      // set a value of a member of a struct member variable in the given dimregion
357      template<typename T, typename S>      template<typename T, typename S>
358      void set_sub_member(gig::DimensionRegion* d, T value,      void set_sub_member(gig::DimensionRegion& d, T value,
359                          S gig::DimensionRegion::* member, T S::* member2) {                          S gig::DimensionRegion::* member, T S::* member2) {
360          d->*member.*member2 = value;          d.*member.*member2 = value;
361      }      }
362    
363      // setters for specific dimregion parameters      // setters for specific dimregion parameters
364    
365      void set_UnityNote(gig::DimensionRegion* d, uint8_t value);      void set_UnityNote(gig::DimensionRegion& d, uint8_t value);
366      void set_FineTune(gig::DimensionRegion* d, int16_t value);      void set_FineTune(gig::DimensionRegion& d, int16_t value);
367      void set_Crossfade_in_start(gig::DimensionRegion* d, uint8_t value);      void set_Crossfade_in_start(gig::DimensionRegion& d, uint8_t value);
368      void set_Crossfade_in_end(gig::DimensionRegion* d, uint8_t value);      void set_Crossfade_in_end(gig::DimensionRegion& d, uint8_t value);
369      void set_Crossfade_out_start(gig::DimensionRegion* d, uint8_t value);      void set_Crossfade_out_start(gig::DimensionRegion& d, uint8_t value);
370      void set_Crossfade_out_end(gig::DimensionRegion* d, uint8_t value);      void set_Crossfade_out_end(gig::DimensionRegion& d, uint8_t value);
371      void set_Gain(gig::DimensionRegion* d, int32_t value);      void set_Gain(gig::DimensionRegion& d, int32_t value);
372      void set_LoopEnabled(gig::DimensionRegion* d, bool value);      void set_LoopEnabled(gig::DimensionRegion& d, bool value);
373      void set_LoopType(gig::DimensionRegion* d, uint32_t value);      void set_LoopType(gig::DimensionRegion& d, uint32_t value);
374      void set_LoopStart(gig::DimensionRegion* d, uint32_t value);      void set_LoopStart(gig::DimensionRegion& d, uint32_t value);
375      void set_LoopLength(gig::DimensionRegion* d, uint32_t value);      void set_LoopLength(gig::DimensionRegion& d, uint32_t value);
376      void set_LoopInfinite(gig::DimensionRegion* d, bool value);      void set_LoopInfinite(gig::DimensionRegion& d, bool value);
377      void set_LoopPlayCount(gig::DimensionRegion* d, uint32_t value);      void set_LoopPlayCount(gig::DimensionRegion& d, uint32_t value);
378    
379      void onButtonSelectSamplePressed();      void onButtonSelectSamplePressed();
380  };  };

Legend:
Removed from v.3460  
changed lines
  Added in v.3461

  ViewVC Help
Powered by ViewVC