+ void handle_freesound_results(std::string theString);
+
+public:
+ SoundFileBrowser (std::string title, ARDOUR::Session* _s, bool persistent);
+ virtual ~SoundFileBrowser ();
+
+ int run ();
+ int status () const { return _status; }
+
+ virtual void set_session (ARDOUR::Session*);
+ std::vector<std::string> get_paths ();
+
+ void clear_selection ();
+
+ Gtk::FileChooserWidget chooser;
+
+ SoundFileBox preview;
+
+ Gtk::Entry found_entry;
+ Gtk::Button found_search_btn;
+ Gtk::TreeView found_list_view;
+
+ Gtk::Entry freesound_entry;
+ Gtk::ComboBoxText freesound_sort;
+
+ Gtk::Button freesound_search_btn;
+ Gtk::TreeView freesound_list_view;
+ Gtk::Notebook notebook;
+
+ void freesound_search();
+ void refresh_display(std::string ID, std::string file);
+
+protected:
+ bool resetting_ourselves;
+ int matches;
+ int _status;
+ bool _done;
+
+ Gtk::FileFilter audio_and_midi_filter;
+ Gtk::FileFilter audio_filter;
+ Gtk::FileFilter midi_filter;
+ Gtk::FileFilter custom_filter;
+ Gtk::FileFilter matchall_filter;
+ Gtk::HBox hpacker;
+ Gtk::VBox vpacker;
+
+ Gtk::Button import_button;
+
+ static std::string persistent_folder;
+
+ GainMeter* gm;
+ Gtk::VBox meter_packer;
+ void add_gain_meter ();
+ void remove_gain_meter ();
+ void meter ();
+ void start_metering ();
+ void stop_metering ();
+ sigc::connection metering_connection;
+
+ void update_preview ();
+
+ void found_list_view_selected ();
+ void found_list_view_activated (const Gtk::TreeModel::Path& path, Gtk::TreeViewColumn*);
+ void found_search_clicked ();
+
+ void freesound_list_view_selected ();
+ void freesound_list_view_activated (const Gtk::TreeModel::Path& path, Gtk::TreeViewColumn*);
+ void freesound_search_clicked ();
+ void freesound_more_clicked ();
+ void freesound_similar_clicked ();
+ int freesound_page;
+
+ void chooser_file_activated ();
+ std::string freesound_get_audio_file(Gtk::TreeIter iter);
+
+ 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);
+
+ void set_action_sensitive (bool);
+ bool get_action_sensitive () const;
+
+ virtual bool reset_options () { return true; }
+
+ void on_show();
+ bool on_key_press_event (GdkEventKey*);
+ virtual void do_something(int action);