};
-class Mootcher
+class Mootcher: public sigc::trackable, public PBD::ScopedConnectionList
{
public:
Mootcher();
std::string audioFileName;
std::string ID;
+ /** signal emitted when mootcher reports progress updates during download.
+ * The parameters are current and total numbers of bytes downloaded.
+ */
+ PBD::Signal2<void, double, double> Progress;
+ /** signal emitted when the mootcher has finished downloading. */
+ PBD::Signal0<void> Finished;
+
+
private:
void ensureWorkingDir();
FILE* theFile;
+ void updateProgress(double dlnow, double dltotal);
+ void doneWithMootcher();
+
Gtk::HBox progress_hbox;
Gtk::ProgressBar progress_bar;
Gtk::Button cancel_download_btn;