--- gigedit/trunk/src/gigedit/dimregionedit.h 2015/01/04 18:36:42 2690 +++ gigedit/trunk/src/gigedit/dimregionedit.h 2016/09/24 15:08:37 2991 @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -76,10 +77,13 @@ virtual ~DimRegionEdit(); void set_dim_region(gig::DimensionRegion* d); bool set_sample(gig::Sample* sample, bool copy_sample_unity, bool copy_sample_tune, bool copy_sample_loop); + bool set_sample(gig::DimensionRegion* dimreg, gig::Sample* sample, bool copy_sample_unity, bool copy_sample_tune, bool copy_sample_loop); Gtk::Entry* wSample; + Gtk::Button* buttonNullSampleReference; sigc::signal& signal_dimreg_to_be_changed(); sigc::signal& signal_dimreg_changed(); sigc::signal& signal_sample_ref_changed(); + sigc::signal& signal_select_sample(); std::set dimregs; @@ -88,6 +92,7 @@ sigc::signal dimreg_changed_signal; sigc::signal sample_ref_changed_signal; sigc::signal instrument_changed; + sigc::signal select_sample_signal; gig::DimensionRegion* dimregion; @@ -183,8 +188,10 @@ BoolEntry eMSDecode; NumEntryTemp eSampleStartOffset; NoteEntry eUnityNote; + ReadOnlyLabelWidget eSampleGroup; ReadOnlyLabelWidget eSampleFormatInfo; ReadOnlyLabelWidget eSampleID; + ReadOnlyLabelWidget eChecksum; NumEntryTemp eFineTune; NumEntryGain eGain; BoolEntryPlus6 eGainPlus6; @@ -197,6 +204,8 @@ Gtk::Label* lEG2; Gtk::Label* lLFO2; + Gtk::Button buttonSelectSample; + int rowno; int pageno; int firstRowInBlock; @@ -207,7 +216,10 @@ void addProp(LabelWidget& labelwidget); void addString(const char* labelText, Gtk::Label*& label, Gtk::Entry*& widget); + void addString(const char* labelText, Gtk::Label*& label, + Gtk::Entry*& widget, Gtk::Button*& button); Gtk::Label* addHeader(const char* text); + void addRightHandSide(Gtk::Widget& widget); void nextPage(); void VCFEnabled_toggled(); @@ -229,6 +241,7 @@ void loop_start_changed(); void loop_length_changed(); void loop_infinite_toggled(); + void nullOutSampleReference(); int update_model; @@ -264,14 +277,14 @@ sigc::mem_fun(widget, &C::get_value))); } - // loop through all dimregions being edited ant set a value in + // loop through all dimregions being edited and set a value in // each of them template void set_many(T value, sigc::slot setter) { if (update_model == 0) { for (std::set::iterator i = dimregs.begin() ; - i != dimregs.end() ; i++) + i != dimregs.end() ; ++i) { dimreg_changed_signal(*i); setter(this, *i, value); @@ -301,6 +314,8 @@ 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(); }; #endif