#include <ardour/session.h>
#include <ardour/auditioner.h>
#include <ardour/audioplaylist.h>
+#include <ardour/audiosource.h>
#include <ardour/playlist_templates.h>
#include <gtkmm2ext/gtk_ui.h>
using namespace std;
using namespace ARDOUR;
+using namespace PBD;
using namespace Gtk;
using namespace sigc;
using namespace Editing;
CrossfadeEditor::Presets* CrossfadeEditor::fade_in_presets = 0;
CrossfadeEditor::Presets* CrossfadeEditor::fade_out_presets = 0;
-#include "crossfade_xpms.h"
-
CrossfadeEditor::Half::Half ()
: line (0),
normative_curve (0.0, 1.0, 1.0, true),
for (list<Preset*>::iterator i = fade_in_presets->begin(); i != fade_in_presets->end(); ++i) {
- pxmap = manage (new Image (Gdk::Pixbuf::create_from_xpm_data((*i)->xpm)));
+ pxmap = manage (new Image (get_xpm((*i)->xpm)));
pbutton = manage (new Button);
pbutton->add (*pxmap);
pbutton->set_name ("CrossfadeEditButton");
for (list<Preset*>::iterator i = fade_out_presets->begin(); i != fade_out_presets->end(); ++i) {
- pxmap = manage (new Image (Gdk::Pixbuf::create_from_xpm_data((*i)->xpm)));
+ pxmap = manage (new Image (get_xpm((*i)->xpm)));
pbutton = manage (new Button);
pbutton->add (*pxmap);
pbutton->set_name ("CrossfadeEditButton");
fade_out_presets = new Presets;
/* FADE OUT */
-
- p = new Preset (hiin_xpm);
+ p = new Preset ("hiin.xpm");
p->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (0.0207373, 0.197222));
p->push_back (PresetPoint (0.0645161, 0.525));
p->push_back (PresetPoint (1, 1));
fade_in_presets->push_back (p);
- p = new Preset (loin_xpm);
+ p = new Preset ("loin.xpm");
p->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (0.389401, 0.0333333));
p->push_back (PresetPoint (0.629032, 0.0861111));
p->push_back (PresetPoint (1, 1));
fade_in_presets->push_back (p);
- p = new Preset (regin_xpm);
+ p = new Preset ("regin.xpm");
p->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (0.0737327, 0.308333));
p->push_back (PresetPoint (0.246544, 0.658333));
p->push_back (PresetPoint (1, 1));
fade_in_presets->push_back (p);
- p = new Preset (regin2_xpm);
+ p = new Preset ("regin2.xpm");
p->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (0.304147, 0.0694444));
p->push_back (PresetPoint (0.529954, 0.152778));
p->push_back (PresetPoint (1, 1));
fade_in_presets->push_back (p);
- p = new Preset (linin_xpm);
+ p = new Preset ("linin.xpm");
p->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (1, 1));
fade_in_presets->push_back (p);
/* FADE OUT */
- p = new Preset (hiout_xpm);
+ p = new Preset ("hiout.xpm");
p->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (0.305556, 1));
p->push_back (PresetPoint (0.548611, 0.991736));
p->push_back (PresetPoint (1, 0));
fade_out_presets->push_back (p);
- p = new Preset (regout_xpm);
+ p = new Preset ("regout.xpm");
p->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (0.228111, 0.988889));
p->push_back (PresetPoint (0.347926, 0.972222));
p->push_back (PresetPoint (1, 0));
fade_out_presets->push_back (p);
- p = new Preset (loout_xpm);
+ p = new Preset ("loout.xpm");
p->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (0.023041, 0.697222));
p->push_back (PresetPoint (0.0553, 0.483333));
p->push_back (PresetPoint (1, 0));
fade_out_presets->push_back (p);
- p = new Preset (regout2_xpm);
+ p = new Preset ("regout2.xpm");
p->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (0.080645, 0.730556));
p->push_back (PresetPoint (0.277778, 0.289256));
p->push_back (PresetPoint (1, 0));
fade_out_presets->push_back (p);
- p = new Preset (linout_xpm);
+ p = new Preset ("linout.xpm");
p->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (1, 0));
fade_out_presets->push_back (p);
}
for (list<Point*>::iterator i = fade[Out].points.begin(); i != fade[Out].points.end(); ++i) {
- (*i)->box->hide();
+ (*i)->box->show();
}
for (vector<Button*>::iterator i = fade_out_buttons.begin(); i != fade_out_buttons.end(); ++i) {
gdouble yoff = n * ht;
- if (region.source(n).peaks_ready (bind (mem_fun(*this, &CrossfadeEditor::peaks_ready), ®ion, which))) {
+ if (region.source(n).peaks_ready (bind (mem_fun(*this, &CrossfadeEditor::peaks_ready), ®ion, which), peaks_ready_connection)) {
WaveView* waveview = new WaveView (*(canvas->root()));
will be ready by the time we want them. but our API forces us
to provide this, so ..
*/
-
+ peaks_ready_connection.disconnect ();
make_waves (*r, which);
}
void
CrossfadeEditor::audition_both ()
{
- AudioPlaylist& pl (session.the_auditioner().prepare_playlist());
+ AudioPlaylist& pl (session.the_auditioner()->prepare_playlist());
jack_nframes_t preroll;
jack_nframes_t postroll;
jack_nframes_t length;
void
CrossfadeEditor::audition_left ()
{
- AudioPlaylist& pl (session.the_auditioner().prepare_playlist());
+ AudioPlaylist& pl (session.the_auditioner()->prepare_playlist());
AudioRegion* left = new AudioRegion (xfade.out(), xfade.out().length() - xfade.length(), xfade.length(), "xfade left",
0, Region::DefaultFlags, false);
void
CrossfadeEditor::audition_right ()
{
- AudioPlaylist& pl (session.the_auditioner().prepare_playlist());
+ AudioPlaylist& pl (session.the_auditioner()->prepare_playlist());
AudioRegion* left = new AudioRegion (xfade.out(), xfade.out().length() - xfade.length(), xfade.length(), "xfade out",
0, Region::DefaultFlags, false);