1 |
/* -*- c++ -*- |
/* -*- c++ -*- |
2 |
* Copyright (C) 2006 - 2019 Andreas Persson |
* Copyright (C) 2006 - 2020 Andreas Persson |
3 |
* |
* |
4 |
* This program is free software; you can redistribute it and/or |
* This program is free software; you can redistribute it and/or |
5 |
* modify it under the terms of the GNU General Public License as |
* modify it under the terms of the GNU General Public License as |
147 |
NumEntryTemp<uint16_t> eMIDIBank; |
NumEntryTemp<uint16_t> eMIDIBank; |
148 |
NumEntryTemp<uint32_t> eMIDIProgram; |
NumEntryTemp<uint32_t> eMIDIProgram; |
149 |
NumEntryGain eAttenuation; |
NumEntryGain eAttenuation; |
|
BoolEntryPlus6 eGainPlus6; |
|
150 |
NumEntryTemp<uint16_t> eEffectSend; |
NumEntryTemp<uint16_t> eEffectSend; |
151 |
NumEntryTemp<int16_t> eFineTune; |
NumEntryTemp<int16_t> eFineTune; |
152 |
NumEntryTemp<uint16_t> ePitchbendRange; |
NumEntryTemp<uint16_t> ePitchbendRange; |
174 |
StringEntry eSubject; |
StringEntry eSubject; |
175 |
}; |
}; |
176 |
|
|
177 |
|
class SampleProps : public ManagedWindow, |
178 |
|
public PropEditor<gig::Sample> { |
179 |
|
public: |
180 |
|
SampleProps(); |
181 |
|
void set_sample(gig::Sample* sample); |
182 |
|
gig::Sample* get_sample() { return m; } |
183 |
|
void update_name(); |
184 |
|
sigc::signal<void>& signal_name_changed() { |
185 |
|
return sig_name_changed; |
186 |
|
} |
187 |
|
|
188 |
|
// implementation for abstract methods of interface class "ManagedWindow" |
189 |
|
virtual Settings::Property<int>* windowSettingX() { return &Settings::singleton()->samplePropsWindowX; } |
190 |
|
virtual Settings::Property<int>* windowSettingY() { return &Settings::singleton()->samplePropsWindowY; } |
191 |
|
virtual Settings::Property<int>* windowSettingWidth() { return &Settings::singleton()->samplePropsWindowW; } |
192 |
|
virtual Settings::Property<int>* windowSettingHeight() { return &Settings::singleton()->samplePropsWindowH; } |
193 |
|
|
194 |
|
protected: |
195 |
|
void set_Name(const gig::String& name); |
196 |
|
|
197 |
|
sigc::signal<void> sig_name_changed; |
198 |
|
Gtk::Notebook tabs; |
199 |
|
VBox vbox[3]; |
200 |
|
HButtonBox buttonBox; |
201 |
|
Gtk::Button quitButton; |
202 |
|
|
203 |
|
// tab 1 |
204 |
|
Table table; |
205 |
|
StringEntry eName; |
206 |
|
NoteEntry eUnityNote; |
207 |
|
ReadOnlyLabelWidget eSampleGroup; |
208 |
|
ReadOnlyLabelWidget eSampleFormatInfo; |
209 |
|
ReadOnlyLabelWidget eSampleID; |
210 |
|
ReadOnlyLabelWidget eChecksum; |
211 |
|
NumEntryTemp<uint32_t> eLoopsCount; |
212 |
|
NumEntryTemp<uint32_t> eLoopStart; |
213 |
|
NumEntryTemp<uint32_t> eLoopLength; |
214 |
|
ChoiceEntry<gig::loop_type_t> eLoopType; |
215 |
|
NumEntryTemp<uint32_t> eLoopPlayCount; |
216 |
|
// tab 2 |
217 |
|
Table table2; |
218 |
|
StringEntry eName2; |
219 |
|
StringEntry eCreationDate; |
220 |
|
StringEntryMultiLine eComments; |
221 |
|
StringEntry eProduct; |
222 |
|
StringEntry eCopyright; |
223 |
|
StringEntry eArtists; |
224 |
|
StringEntry eGenre; |
225 |
|
StringEntry eKeywords; |
226 |
|
StringEntry eEngineer; |
227 |
|
StringEntry eTechnician; |
228 |
|
StringEntry eSoftware; |
229 |
|
StringEntry eMedium; |
230 |
|
StringEntry eSource; |
231 |
|
StringEntry eSourceForm; |
232 |
|
StringEntry eCommissioned; |
233 |
|
StringEntry eSubject; |
234 |
|
}; |
235 |
|
|
236 |
class ProgressDialog : public Gtk::Dialog { |
class ProgressDialog : public Gtk::Dialog { |
237 |
public: |
public: |
238 |
ProgressDialog(const Glib::ustring& title, Gtk::Window& parent); |
ProgressDialog(const Glib::ustring& title, Gtk::Window& parent); |
352 |
Glib::RefPtr<Gio::SimpleAction> m_actionEditScript; |
Glib::RefPtr<Gio::SimpleAction> m_actionEditScript; |
353 |
Glib::RefPtr<Gio::SimpleAction> m_actionRemoveScript; |
Glib::RefPtr<Gio::SimpleAction> m_actionRemoveScript; |
354 |
|
|
355 |
|
Glib::RefPtr<Gio::SimpleAction> m_actionInstrDoubleClickOpensProps; |
356 |
|
|
357 |
Glib::RefPtr<Gio::SimpleAction> m_actionToggleCopySampleUnity; |
Glib::RefPtr<Gio::SimpleAction> m_actionToggleCopySampleUnity; |
358 |
Glib::RefPtr<Gio::SimpleAction> m_actionToggleCopySampleTune; |
Glib::RefPtr<Gio::SimpleAction> m_actionToggleCopySampleTune; |
359 |
Glib::RefPtr<Gio::SimpleAction> m_actionToggleCopySampleLoop; |
Glib::RefPtr<Gio::SimpleAction> m_actionToggleCopySampleLoop; |
375 |
|
|
376 |
FilePropDialog fileProps; |
FilePropDialog fileProps; |
377 |
InstrumentProps instrumentProps; |
InstrumentProps instrumentProps; |
378 |
|
SampleProps sampleProps; |
379 |
MidiRules midiRules; |
MidiRules midiRules; |
380 |
|
|
381 |
/** |
/** |
410 |
#if !USE_GTKMM_BUILDER |
#if !USE_GTKMM_BUILDER |
411 |
void on_instrument_selection_change(Gtk::RadioMenuItem* item); |
void on_instrument_selection_change(Gtk::RadioMenuItem* item); |
412 |
#endif |
#endif |
413 |
|
void on_action_move_instr(); |
414 |
void on_sel_change(); |
void on_sel_change(); |
415 |
void region_changed(); |
void region_changed(); |
416 |
void dimreg_changed(); |
void dimreg_changed(); |
570 |
void on_action_quit(); |
void on_action_quit(); |
571 |
void show_instr_props(); |
void show_instr_props(); |
572 |
bool instr_props_set_instrument(); |
bool instr_props_set_instrument(); |
573 |
|
void show_sample_props(); |
574 |
|
bool sample_props_set_sample(); |
575 |
|
void sample_name_changed_by_sample_props(Gtk::TreeModel::iterator& it); |
576 |
void show_midi_rules(); |
void show_midi_rules(); |
577 |
void show_script_slots(); |
void show_script_slots(); |
578 |
void on_action_view_status_bar(); |
void on_action_view_status_bar(); |
579 |
void on_auto_restore_win_dim(); |
void on_auto_restore_win_dim(); |
580 |
|
void on_instr_double_click_opens_props(); |
581 |
void on_save_with_temporary_file(); |
void on_save_with_temporary_file(); |
582 |
void on_action_refresh_all(); |
void on_action_refresh_all(); |
583 |
void on_action_warn_user_on_extensions(); |
void on_action_warn_user_on_extensions(); |