diff options
author | Taybin Rutkin <taybin@taybin.com> | 2005-12-07 22:57:47 +0000 |
---|---|---|
committer | Taybin Rutkin <taybin@taybin.com> | 2005-12-07 22:57:47 +0000 |
commit | 6039331bea9afb0ce8888659832a04b39ff6be7a (patch) | |
tree | cf22ad447eb565085d09849f8f4fed44973fad3b /gtk2_ardour/sfdb_ui.h | |
parent | 03872f0916498ccaab0b9b2c73fdba5d21952b63 (diff) |
Part one of the sfdb reworking.
git-svn-id: svn://localhost/trunk/ardour2@180 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/sfdb_ui.h')
-rw-r--r-- | gtk2_ardour/sfdb_ui.h | 75 |
1 files changed, 74 insertions, 1 deletions
diff --git a/gtk2_ardour/sfdb_ui.h b/gtk2_ardour/sfdb_ui.h index ec7f226cc3..6be971ca73 100644 --- a/gtk2_ardour/sfdb_ui.h +++ b/gtk2_ardour/sfdb_ui.h @@ -25,24 +25,97 @@ #include <string> #include <vector> +#include <sndfile.h> + #include <sigc++/signal.h> #include <gtkmm/box.h> #include <gtkmm/button.h> #include <gtkmm/checkbutton.h> #include <gtkmm/dialog.h> +#include <gtkmm/entry.h> #include <gtkmm/filechooserwidget.h> +#include <gtkmm/frame.h> +#include <gtkmm/label.h> +#include <gtkmm/liststore.h> +#include <gtkmm/treeview.h> + +#include <ardour/session.h> #include "ardour_dialog.h" +class SoundFileBox : public Gtk::VBox +{ + public: + SoundFileBox (ARDOUR::Session* session); + virtual ~SoundFileBox () {}; + + bool update (std::string filename); + + protected: + 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; + + SF_INFO sf_info; + + pid_t current_pid; + + Gtk::Label label; + Gtk::Label path; + Gtk::Entry path_entry; + Gtk::Label length; + Gtk::Label format; + Gtk::Label channels; + Gtk::Label samplerate; + + 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 fields_refiller (Gtk::CList &clist); + int setup_labels (std::string filename); + void setup_fields (); + + void play_btn_clicked (); + void stop_btn_clicked (); + void add_field_clicked (); + void remove_field_clicked (); + + void field_selected (); + void audition_status_changed (bool state); +}; + class SoundFileBrowser : public ArdourDialog { public: SoundFileBrowser (std::string title); - virtual ~SoundFileBrowser () {} + virtual ~SoundFileBrowser () {}; protected: Gtk::FileChooserWidget chooser; + SoundFileBox preview; + + void update_preview (); }; class SoundFileChooser : public SoundFileBrowser |