--- gigedit/trunk/src/gigedit/dimregionedit.h 2013/01/07 20:41:16 2392 +++ gigedit/trunk/src/gigedit/dimregionedit.h 2015/03/01 15:43:42 2720 @@ -1,5 +1,5 @@ /* -*- c++ -*- - * Copyright (C) 2006-2013 Andreas Persson + * Copyright (C) 2006-2015 Andreas Persson * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -22,6 +22,7 @@ #include +#include #include #include #include @@ -63,6 +64,9 @@ private: gig::DimensionRegion* dimreg; + void draw_one_curve(const Cairo::RefPtr& cr, + const gig::DimensionRegion* d, + bool sensitive); }; class DimRegionEdit : public Gtk::Notebook @@ -71,11 +75,13 @@ DimRegionEdit(); virtual ~DimRegionEdit(); void set_dim_region(gig::DimensionRegion* d); - bool set_sample(gig::Sample* sample); + bool set_sample(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; @@ -84,6 +90,7 @@ sigc::signal dimreg_changed_signal; sigc::signal sample_ref_changed_signal; sigc::signal instrument_changed; + sigc::signal select_sample_signal; gig::DimensionRegion* dimregion; @@ -179,6 +186,8 @@ BoolEntry eMSDecode; NumEntryTemp eSampleStartOffset; NoteEntry eUnityNote; + ReadOnlyLabelWidget eSampleFormatInfo; + ReadOnlyLabelWidget eSampleID; NumEntryTemp eFineTune; NumEntryGain eGain; BoolEntryPlus6 eGainPlus6; @@ -191,6 +200,8 @@ Gtk::Label* lEG2; Gtk::Label* lLFO2; + Gtk::Button buttonSelectSample; + int rowno; int pageno; int firstRowInBlock; @@ -201,7 +212,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(); @@ -223,6 +237,7 @@ void loop_start_changed(); void loop_length_changed(); void loop_infinite_toggled(); + void nullOutSampleReference(); int update_model; @@ -295,6 +310,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