diff options
author | Taybin Rutkin <taybin@taybin.com> | 2006-12-01 06:01:30 +0000 |
---|---|---|
committer | Taybin Rutkin <taybin@taybin.com> | 2006-12-01 06:01:30 +0000 |
commit | 927553f6b83add18d03f4bae55421743342d5704 (patch) | |
tree | d5379ff2b00477f274f28a608732375449b02672 /gtk2_ardour/sfdb_ui.h | |
parent | c103132ae60973dc4ee0831a70b5c6aa1b3d9747 (diff) |
PBD::strip_whitespace_edges() returns the empty string if the passed string is
all whitespace. This allows for some mild code cleanup. It's also declared in
the PBD namespace now.
sfdb-v4 implemented. Instead of fields that go across all files, there is now
just one tag field where you can enter comma delimited tags. Searching for
tags to follow soon. I recommend trashing your current ~/.ardour2/sfdb file.
git-svn-id: svn://localhost/ardour2/trunk@1182 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/sfdb_ui.h')
-rw-r--r-- | gtk2_ardour/sfdb_ui.h | 163 |
1 files changed, 70 insertions, 93 deletions
diff --git a/gtk2_ardour/sfdb_ui.h b/gtk2_ardour/sfdb_ui.h index d7c2c14014..c8a0d316a5 100644 --- a/gtk2_ardour/sfdb_ui.h +++ b/gtk2_ardour/sfdb_ui.h @@ -1,6 +1,5 @@ /* - Copyright (C) 2005 Paul Davis - Written by Taybin Rutkin + Copyright (C) 2005-2006 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +15,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ #ifndef __ardour_sfdb_ui_h__ @@ -36,8 +34,6 @@ #include <gtkmm/comboboxtext.h> #include <gtkmm/frame.h> #include <gtkmm/label.h> -#include <gtkmm/liststore.h> -#include <gtkmm/treeview.h> #include <ardour/session.h> #include <ardour/audiofilesource.h> @@ -48,117 +44,98 @@ class SoundFileBox : public Gtk::VBox { public: - SoundFileBox (); - virtual ~SoundFileBox () {}; - - void set_session (ARDOUR::Session* s); - bool setup_labels (std::string filename); + SoundFileBox (); + virtual ~SoundFileBox () {}; + + void set_session (ARDOUR::Session* s); + bool setup_labels (std::string filename); protected: ARDOUR::Session* _session; std::string path; - - struct LabelModelColumns : public Gtk::TreeModel::ColumnRecord - { - public: - Gtk::TreeModelColumn<std::string> field; - Gtk::TreeModelColumn<std::string> data; - - LabelModelColumns() { add(field); add(data); } - }; - - LabelModelColumns label_columns; - - ARDOUR::SoundFileInfo sf_info; - - pid_t current_pid; - - Gtk::Label length; - Gtk::Label format; - Gtk::Label channels; - Gtk::Label samplerate; - Gtk::Label timecode; - - Gtk::TreeView field_view; - Glib::RefPtr<Gtk::ListStore> fields; - std::string selected_field; - - Gtk::Frame border_frame; - - Gtk::VBox main_box; - Gtk::VBox path_box; - Gtk::HBox top_box; - Gtk::HBox bottom_box; - - Gtk::Button play_btn; - Gtk::Button stop_btn; - Gtk::Button add_field_btn; - Gtk::Button remove_field_btn; - - void setup_fields (); - - void play_btn_clicked (); - void stop_btn_clicked (); - void add_field_clicked (); - void remove_field_clicked (); - void field_edited (const Glib::ustring&, const Glib::ustring&); - void delete_row (const Gtk::TreeModel::iterator& iter); - - void field_selected (); - void audition_status_changed (bool state); + + ARDOUR::SoundFileInfo sf_info; + + pid_t current_pid; + + Gtk::Label length; + Gtk::Label format; + Gtk::Label channels; + Gtk::Label samplerate; + Gtk::Label timecode; + + Gtk::Frame border_frame; + + Gtk::Entry tags_entry; + + Gtk::VBox main_box; + Gtk::VBox path_box; + Gtk::HBox top_box; + Gtk::HBox bottom_box; + + Gtk::Button play_btn; + Gtk::Button stop_btn; + Gtk::Button apply_btn; + + bool tags_entry_left (GdkEventFocus* event); + void play_btn_clicked (); + void stop_btn_clicked (); + void apply_btn_clicked (); + + void audition_status_changed (bool state); }; class SoundFileBrowser : public ArdourDialog { public: - SoundFileBrowser (std::string title, ARDOUR::Session* _s = 0); - virtual ~SoundFileBrowser () {}; - - virtual void set_session (ARDOUR::Session*); + SoundFileBrowser (std::string title, ARDOUR::Session* _s = 0); + virtual ~SoundFileBrowser () {}; + + virtual void set_session (ARDOUR::Session*); protected: - Gtk::FileChooserWidget chooser; - SoundFileBox preview; - - void update_preview (); + Gtk::FileChooserWidget chooser; + SoundFileBox preview; + + void update_preview (); }; class SoundFileChooser : public SoundFileBrowser { public: - SoundFileChooser (std::string title, ARDOUR::Session* _s = 0); - virtual ~SoundFileChooser () {}; - - std::string get_filename () {return chooser.get_filename();}; + SoundFileChooser (std::string title, ARDOUR::Session* _s = 0); + virtual ~SoundFileChooser () {}; + + std::string get_filename () {return chooser.get_filename();}; }; class SoundFileOmega : public SoundFileBrowser { public: - SoundFileOmega (std::string title, ARDOUR::Session* _s); - virtual ~SoundFileOmega () {}; - - /* these are returned by the Dialog::run() method. note - that builtin GTK responses are all negative, leaving - positive values for application-defined responses. - */ - - const static int ResponseImport = 1; - const static int ResponseEmbed = 2; - - std::vector<Glib::ustring> get_paths (); - bool get_split (); - - void set_mode (Editing::ImportMode); - Editing::ImportMode get_mode (); + SoundFileOmega (std::string title, ARDOUR::Session* _s); + virtual ~SoundFileOmega () {}; + + /* these are returned by the Dialog::run() method. note + that builtin GTK responses are all negative, leaving + positive values for application-defined responses. + */ + + const static int ResponseImport = 1; + const static int ResponseEmbed = 2; + + std::vector<Glib::ustring> get_paths (); + bool get_split (); + + void set_mode (Editing::ImportMode); + Editing::ImportMode get_mode (); protected: - Gtk::CheckButton split_check; - Gtk::ComboBoxText mode_combo; - - void mode_changed (); - - static std::vector<std::string> mode_strings; + Gtk::CheckButton split_check; + Gtk::ComboBoxText mode_combo; + + void mode_changed (); + + static std::vector<std::string> mode_strings; }; #endif // __ardour_sfdb_ui_h__ |