#include <sigc++/signal.h>
+#include <gtkmm/stock.h>
#include <gtkmm/box.h>
#include <gtkmm/button.h>
#include <gtkmm/checkbutton.h>
#include <gtkmm/frame.h>
#include <gtkmm/label.h>
#include <gtkmm/textview.h>
+#include <gtkmm/table.h>
+#include <gtkmm/liststore.h>
+#include <gtkmm/spinbutton.h>
+#include <gtkmm/notebook.h>
+
#include "ardour/audiofilesource.h"
#include "ardour/session_handle.h"
};
class GainMeter;
+class Mootcher;
class SoundFileBox : public Gtk::VBox, public ARDOUR::SessionHandlePtr
{
FoundTagColumns() { add(pathname); }
};
+ class FreesoundColumns : public Gtk::TreeModel::ColumnRecord
+ {
+ public:
+ Gtk::TreeModelColumn<std::string> id;
+ Gtk::TreeModelColumn<std::string> uri;
+ Gtk::TreeModelColumn<std::string> filename;
+ Gtk::TreeModelColumn<std::string> duration;
+
+ FreesoundColumns() {
+ add(id);
+ add(filename);
+ add(uri);
+ add(duration);
+ }
+ };
+
FoundTagColumns found_list_columns;
Glib::RefPtr<Gtk::ListStore> found_list;
- FoundTagColumns freesound_list_columns;
+ FreesoundColumns freesound_list_columns;
Glib::RefPtr<Gtk::ListStore> freesound_list;
+ Gtk::Button freesound_stop_btn;
+
public:
SoundFileBrowser (Gtk::Window& parent, std::string title, ARDOUR::Session* _s, bool persistent);
virtual ~SoundFileBrowser ();
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;
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; }