X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fsfdb_ui.h;h=249ebf3535834d6d49662c4b8c0578abc6cc535f;hb=6ee23029a338951705c589be6c61ab52099758b6;hp=5e24d994348f770f59936daf6255dd339efc9a48;hpb=8fb9e72a77ac1366ed1aca18f7f76ee4179d9f89;p=ardour.git diff --git a/gtk2_ardour/sfdb_ui.h b/gtk2_ardour/sfdb_ui.h index 5e24d99434..249ebf3535 100644 --- a/gtk2_ardour/sfdb_ui.h +++ b/gtk2_ardour/sfdb_ui.h @@ -26,6 +26,7 @@ #include +#include #include #include #include @@ -36,6 +37,11 @@ #include #include #include +#include +#include +#include +#include + #include "ardour/audiofilesource.h" #include "ardour/session_handle.h" @@ -49,6 +55,7 @@ namespace ARDOUR { }; class GainMeter; +class Mootcher; class SoundFileBox : public Gtk::VBox, public ARDOUR::SessionHandlePtr { @@ -114,12 +121,30 @@ class SoundFileBrowser : public ArdourDialog FoundTagColumns() { add(pathname); } }; + class FreesoundColumns : public Gtk::TreeModel::ColumnRecord + { + public: + Gtk::TreeModelColumn id; + Gtk::TreeModelColumn uri; + Gtk::TreeModelColumn filename; + Gtk::TreeModelColumn duration; + + FreesoundColumns() { + add(id); + add(filename); + add(uri); + add(duration); + } + }; + FoundTagColumns found_list_columns; Glib::RefPtr found_list; - FoundTagColumns freesound_list_columns; + FreesoundColumns freesound_list_columns; Glib::RefPtr freesound_list; + Gtk::Button freesound_stop_btn; + public: SoundFileBrowser (Gtk::Window& parent, std::string title, ARDOUR::Session* _s, bool persistent); virtual ~SoundFileBrowser (); @@ -137,17 +162,27 @@ class SoundFileBrowser : public ArdourDialog Gtk::Button found_search_btn; Gtk::TreeView found_list_view; - Gtk::Entry freesound_name_entry; - Gtk::Entry freesound_pass_entry; Gtk::Entry freesound_entry; + Gtk::ComboBoxText freesound_sort; + Gtk::SpinButton freesound_page; + Gtk::Button freesound_search_btn; Gtk::TreeView freesound_list_view; + Gtk::ProgressBar freesound_progress_bar; - void freesound_search_thread(); + bool freesound_search_cancel; + bool freesound_download_cancel; + + void freesound_search(); + +#ifdef FREESOUND + Mootcher *mootcher; +#endif protected: bool resetting_ourselves; + Gtk::FileFilter audio_and_midi_filter; Gtk::FileFilter audio_filter; Gtk::FileFilter midi_filter; Gtk::FileFilter custom_filter; @@ -176,11 +211,13 @@ class SoundFileBrowser : public ArdourDialog void freesound_list_view_selected (); void freesound_list_view_activated (const Gtk::TreeModel::Path& path, Gtk::TreeViewColumn*); void freesound_search_clicked (); - + void freesound_stop_clicked (); + void chooser_file_activated (); bool on_audio_filter (const Gtk::FileFilter::Info& filter_info); bool on_midi_filter (const Gtk::FileFilter::Info& filter_info); + bool on_audio_and_midi_filter (const Gtk::FileFilter::Info& filter_info); virtual bool reset_options() { return true; }