1 |
/* -*- c++ -*- |
/* -*- c++ -*- |
2 |
* Copyright (C) 2006 - 2013 Andreas Persson |
* Copyright (C) 2006 - 2014 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 |
42 |
#include "regionchooser.h" |
#include "regionchooser.h" |
43 |
#include "dimregionchooser.h" |
#include "dimregionchooser.h" |
44 |
#include "dimregionedit.h" |
#include "dimregionedit.h" |
45 |
|
#include "midirules.h" |
46 |
#ifndef OLD_THREADS |
#ifndef OLD_THREADS |
47 |
#include <glibmm/threads.h> |
#include <glibmm/threads.h> |
48 |
#endif |
#endif |
54 |
public: |
public: |
55 |
PropDialog(); |
PropDialog(); |
56 |
void set_info(DLS::Info* info); |
void set_info(DLS::Info* info); |
57 |
|
void set_file(gig::File* file); |
58 |
protected: |
protected: |
59 |
|
ChoiceEntry<int> eFileFormat; |
60 |
StringEntry eName; |
StringEntry eName; |
61 |
StringEntry eCreationDate; |
StringEntry eCreationDate; |
62 |
StringEntryMultiLine eComments; |
StringEntryMultiLine eComments; |
77 |
Gtk::HButtonBox buttonBox; |
Gtk::HButtonBox buttonBox; |
78 |
Gtk::Button quitButton; |
Gtk::Button quitButton; |
79 |
Table table; |
Table table; |
80 |
|
|
81 |
|
gig::File* m_file; |
82 |
|
|
83 |
|
void onFileFormatChanged(); |
84 |
}; |
}; |
85 |
|
|
86 |
class InstrumentProps : public Gtk::Window, |
class InstrumentProps : public Gtk::Window, |
183 |
|
|
184 |
PropDialog propDialog; |
PropDialog propDialog; |
185 |
InstrumentProps instrumentProps; |
InstrumentProps instrumentProps; |
186 |
|
MidiRules midiRules; |
187 |
|
|
188 |
sigc::signal<void, gig::File*> file_structure_to_be_changed_signal; |
sigc::signal<void, gig::File*> file_structure_to_be_changed_signal; |
189 |
sigc::signal<void, gig::File*> file_structure_changed_signal; |
sigc::signal<void, gig::File*> file_structure_changed_signal; |
257 |
Gtk::TreeView m_TreeViewSamples; |
Gtk::TreeView m_TreeViewSamples; |
258 |
Glib::RefPtr<SamplesTreeStore> m_refSamplesTreeModel; |
Glib::RefPtr<SamplesTreeStore> m_refSamplesTreeModel; |
259 |
|
|
260 |
|
class ScriptsModel : public Gtk::TreeModel::ColumnRecord { |
261 |
|
public: |
262 |
|
ScriptsModel() { |
263 |
|
add(m_col_name); |
264 |
|
add(m_col_script); |
265 |
|
add(m_col_group); |
266 |
|
} |
267 |
|
|
268 |
|
Gtk::TreeModelColumn<Glib::ustring> m_col_name; |
269 |
|
Gtk::TreeModelColumn<gig::Script*> m_col_script; |
270 |
|
Gtk::TreeModelColumn<gig::ScriptGroup*> m_col_group; |
271 |
|
} m_ScriptsModel; |
272 |
|
|
273 |
|
class ScriptsTreeStore : public Gtk::TreeStore { |
274 |
|
public: |
275 |
|
static Glib::RefPtr<ScriptsTreeStore> create(const ScriptsModel& columns) { |
276 |
|
return Glib::RefPtr<ScriptsTreeStore>( new ScriptsTreeStore(columns) ); |
277 |
|
} |
278 |
|
protected: |
279 |
|
ScriptsTreeStore(const ScriptsModel& columns) : Gtk::TreeStore(columns) {} |
280 |
|
}; |
281 |
|
|
282 |
|
Gtk::ScrolledWindow m_ScrolledWindowScripts; |
283 |
|
Gtk::TreeView m_TreeViewScripts; |
284 |
|
Glib::RefPtr<ScriptsTreeStore> m_refScriptsTreeModel; |
285 |
|
|
286 |
Gtk::VBox dimreg_vbox; |
Gtk::VBox dimreg_vbox; |
287 |
Gtk::HBox dimreg_hbox; |
Gtk::HBox dimreg_hbox; |
288 |
Gtk::Label dimreg_label; |
Gtk::Label dimreg_label; |
311 |
void on_action_quit(); |
void on_action_quit(); |
312 |
void show_instr_props(); |
void show_instr_props(); |
313 |
bool instr_props_set_instrument(); |
bool instr_props_set_instrument(); |
314 |
|
void show_midi_rules(); |
315 |
|
void show_script_slots(); |
316 |
void on_action_view_status_bar(); |
void on_action_view_status_bar(); |
317 |
|
void on_action_warn_user_on_extensions(); |
318 |
void on_action_help_about(); |
void on_action_help_about(); |
319 |
|
|
320 |
// sample right-click popup actions |
// sample right-click popup actions |
324 |
void on_action_add_sample(); |
void on_action_add_sample(); |
325 |
void on_action_replace_all_samples_in_all_groups(); |
void on_action_replace_all_samples_in_all_groups(); |
326 |
void on_action_remove_sample(); |
void on_action_remove_sample(); |
327 |
|
|
328 |
|
// script right-click popup actions |
329 |
|
void on_script_treeview_button_release(GdkEventButton* button); |
330 |
|
void on_action_add_script_group(); |
331 |
|
void on_action_add_script(); |
332 |
|
void on_action_edit_script(); |
333 |
|
void on_action_remove_script(); |
334 |
|
|
335 |
void on_action_add_instrument(); |
void on_action_add_instrument(); |
336 |
void on_action_duplicate_instrument(); |
void on_action_duplicate_instrument(); |
360 |
bool check_if_savable(); |
bool check_if_savable(); |
361 |
|
|
362 |
void on_button_release(GdkEventButton* button); |
void on_button_release(GdkEventButton* button); |
363 |
|
void on_scripts_treeview_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context); |
364 |
|
void on_scripts_treeview_drag_data_get(const Glib::RefPtr<Gdk::DragContext>&, |
365 |
|
Gtk::SelectionData& selection_data, guint, guint); |
366 |
void on_sample_treeview_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context); |
void on_sample_treeview_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context); |
367 |
void on_sample_treeview_drag_data_get(const Glib::RefPtr<Gdk::DragContext>&, |
void on_sample_treeview_drag_data_get(const Glib::RefPtr<Gdk::DragContext>&, |
368 |
Gtk::SelectionData& selection_data, guint, guint); |
Gtk::SelectionData& selection_data, guint, guint); |
371 |
const Gtk::SelectionData& selection_data, |
const Gtk::SelectionData& selection_data, |
372 |
guint, guint time); |
guint, guint time); |
373 |
|
|
374 |
|
void script_name_changed(const Gtk::TreeModel::Path& path, |
375 |
|
const Gtk::TreeModel::iterator& iter); |
376 |
void sample_name_changed(const Gtk::TreeModel::Path& path, |
void sample_name_changed(const Gtk::TreeModel::Path& path, |
377 |
const Gtk::TreeModel::iterator& iter); |
const Gtk::TreeModel::iterator& iter); |
378 |
void instrument_name_changed(const Gtk::TreeModel::Path& path, |
void instrument_name_changed(const Gtk::TreeModel::Path& path, |
380 |
void instr_name_changed_by_instr_props(Gtk::TreeModel::iterator& it); |
void instr_name_changed_by_instr_props(Gtk::TreeModel::iterator& it); |
381 |
sigc::connection instrument_name_connection; |
sigc::connection instrument_name_connection; |
382 |
|
|
383 |
|
void on_action_combine_instruments(); |
384 |
|
void on_action_merge_files(); |
385 |
|
void mergeFiles(const std::vector<std::string>& filenames); |
386 |
|
|
387 |
void __import_queued_samples(); |
void __import_queued_samples(); |
388 |
void __clear(); |
void __clear(); |
389 |
|
void __refreshEntireGUI(); |
390 |
|
|
391 |
bool close_confirmation_dialog(); |
bool close_confirmation_dialog(); |
392 |
bool leaving_shared_mode_dialog(); |
bool leaving_shared_mode_dialog(); |
396 |
bool on_delete_event(GdkEventAny* event); |
bool on_delete_event(GdkEventAny* event); |
397 |
|
|
398 |
bool first_call_to_drag_data_get; |
bool first_call_to_drag_data_get; |
399 |
|
|
400 |
|
bool is_copy_samples_unity_note_enabled() const; |
401 |
|
bool is_copy_samples_fine_tune_enabled() const; |
402 |
|
bool is_copy_samples_loop_enabled() const; |
403 |
}; |
}; |
404 |
|
|
405 |
#endif |
#endif |