new crossfade editor button icons from thorsten; ignore loop+range markers when looki...
authorPaul Davis <paul@linuxaudiosystems.com>
Sun, 25 Feb 2007 20:53:55 +0000 (20:53 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Sun, 25 Feb 2007 20:53:55 +0000 (20:53 +0000)
git-svn-id: svn://localhost/ardour2/trunk@1506 d708f5d6-7413-0410-9779-e7cbd77b26cf

16 files changed:
gtk2_ardour/crossfade_edit.cc
gtk2_ardour/crossfade_edit.h
gtk2_ardour/icons/crossfade_in_constant.png [new file with mode: 0644]
gtk2_ardour/icons/crossfade_in_dipped.png [new file with mode: 0644]
gtk2_ardour/icons/crossfade_in_fast-cut.png [new file with mode: 0644]
gtk2_ardour/icons/crossfade_in_slow-cut.png [new file with mode: 0644]
gtk2_ardour/icons/crossfade_in_slow-fade.png [new file with mode: 0644]
gtk2_ardour/icons/crossfade_in_transition.png [new file with mode: 0644]
gtk2_ardour/icons/crossfade_out_constant.png [new file with mode: 0644]
gtk2_ardour/icons/crossfade_out_dipped.png [new file with mode: 0644]
gtk2_ardour/icons/crossfade_out_fast-cut.png [new file with mode: 0644]
gtk2_ardour/icons/crossfade_out_slow-cut.png [new file with mode: 0644]
gtk2_ardour/icons/crossfade_out_slow-fade.png [new file with mode: 0644]
gtk2_ardour/icons/crossfade_out_transition.png [new file with mode: 0644]
libs/ardour/ardour/location.h
libs/ardour/location.cc

index 0940f91b4fbe817511523984ceb28184e754ab10..a69383c7ee4c96ef20797e93cb0abe289e8686d3 100644 (file)
@@ -193,7 +193,7 @@ CrossfadeEditor::CrossfadeEditor (Session& s, boost::shared_ptr<Crossfade> xf, d
 
        for (list<Preset*>::iterator i = fade_in_presets->begin(); i != fade_in_presets->end(); ++i) {
 
-               pxmap = manage (new Image (get_xpm((*i)->xpm)));
+               pxmap = manage (new Image (::get_icon ((*i)->image_name)));
                pbutton = manage (new Button);
                pbutton->add (*pxmap);
                pbutton->set_name ("CrossfadeEditButton");
@@ -214,7 +214,7 @@ CrossfadeEditor::CrossfadeEditor (Session& s, boost::shared_ptr<Crossfade> xf, d
 
        for (list<Preset*>::iterator i = fade_out_presets->begin(); i != fade_out_presets->end(); ++i) {
 
-               pxmap = manage (new Image (get_xpm((*i)->xpm)));
+               pxmap = manage (new Image (::get_icon ((*i)->image_name)));
                pbutton = manage (new Button);
                pbutton->add (*pxmap);
                pbutton->set_name ("CrossfadeEditButton");
@@ -831,7 +831,8 @@ CrossfadeEditor::build_presets ()
        fade_out_presets = new Presets;
 
        /* FADE OUT */
-       p = new Preset ("hiin.xpm");
+       // p = new Preset ("hiin.xpm");
+       p = new Preset ("crossfade_in_fast-cut");
        p->push_back (PresetPoint (0, 0));
        p->push_back (PresetPoint (0.0207373, 0.197222));
        p->push_back (PresetPoint (0.0645161, 0.525));
@@ -842,7 +843,8 @@ CrossfadeEditor::build_presets ()
        p->push_back (PresetPoint (1, 1));
        fade_in_presets->push_back (p);
        
-       p = new Preset ("loin.xpm");
+       // p = new Preset ("loin.xpm");
+       p = new Preset ("crossfade_in_transition");
        p->push_back (PresetPoint (0, 0));
        p->push_back (PresetPoint (0.389401, 0.0333333));
        p->push_back (PresetPoint (0.629032, 0.0861111));
@@ -852,7 +854,8 @@ CrossfadeEditor::build_presets ()
        p->push_back (PresetPoint (1, 1));
        fade_in_presets->push_back (p);
 
-       p = new Preset ("regin.xpm");
+       // p = new Preset ("regin.xpm");
+       p = new Preset ("crossfade_in_constant");
        p->push_back (PresetPoint (0, 0));
        p->push_back (PresetPoint (0.0737327, 0.308333));
        p->push_back (PresetPoint (0.246544, 0.658333));
@@ -862,7 +865,8 @@ CrossfadeEditor::build_presets ()
        p->push_back (PresetPoint (1, 1));
        fade_in_presets->push_back (p);
 
-       p = new Preset ("regin2.xpm");
+       // p = new Preset ("regin2.xpm");
+       p = new Preset ("crossfade_in_slow-cut");
        p->push_back (PresetPoint (0, 0));
        p->push_back (PresetPoint (0.304147, 0.0694444));
        p->push_back (PresetPoint (0.529954, 0.152778));
@@ -872,14 +876,16 @@ CrossfadeEditor::build_presets ()
        p->push_back (PresetPoint (1, 1));
        fade_in_presets->push_back (p);
 
-       p = new Preset ("linin.xpm");
+       // p = new Preset ("linin.xpm");
+       p = new Preset ("crossfade_in_dipped");
        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 = new Preset ("crossfade_out_fast-cut");
        p->push_back (PresetPoint (0, 1));
        p->push_back (PresetPoint (0.305556, 1));
        p->push_back (PresetPoint (0.548611, 0.991736));
@@ -889,7 +895,8 @@ CrossfadeEditor::build_presets ()
        p->push_back (PresetPoint (1, 0));
        fade_out_presets->push_back (p);
        
-       p = new Preset ("regout.xpm");
+       // p = new Preset ("regout.xpm");
+       p = new Preset ("crossfade_out_constant");
        p->push_back (PresetPoint (0, 1));
        p->push_back (PresetPoint (0.228111, 0.988889));
        p->push_back (PresetPoint (0.347926, 0.972222));
@@ -899,7 +906,8 @@ CrossfadeEditor::build_presets ()
        p->push_back (PresetPoint (1, 0));
        fade_out_presets->push_back (p);
 
-       p = new Preset ("loout.xpm");
+       // p = new Preset ("loout.xpm");
+       p = new Preset ("crossfade_out_transition");
        p->push_back (PresetPoint (0, 1));
        p->push_back (PresetPoint (0.023041, 0.697222));
        p->push_back (PresetPoint (0.0553,   0.483333));
@@ -909,7 +917,8 @@ CrossfadeEditor::build_presets ()
        p->push_back (PresetPoint (1, 0));
        fade_out_presets->push_back (p);
 
-       p = new Preset ("regout2.xpm");
+       // p = new Preset ("regout2.xpm");
+       p = new Preset ("crossfade_out_slow-fade");
        p->push_back (PresetPoint (0, 1));
        p->push_back (PresetPoint (0.080645, 0.730556));
        p->push_back (PresetPoint (0.277778, 0.289256));
@@ -918,7 +927,8 @@ CrossfadeEditor::build_presets ()
        p->push_back (PresetPoint (1, 0));
        fade_out_presets->push_back (p);
 
-       p = new Preset ("linout.xpm");
+       // p = new Preset ("linout.xpm");
+       p = new Preset ("crossfade_out_dipped");
        p->push_back (PresetPoint (0, 1));
        p->push_back (PresetPoint (1, 0));
        fade_out_presets->push_back (p);
index 3c9a6a13c10a9f3248cc22c72dded9fd17222bf9..4f2a617d9205bbabd8308a04dbe5267889733f7c 100644 (file)
@@ -43,10 +43,9 @@ class CrossfadeEditor : public ArdourDialog
        };
        
        struct Preset : public list<PresetPoint> {
-           string xpm;
+           const char* image_name;
            
-           Preset (string x)
-                   : xpm (x) {}
+           Preset (const char* x) : image_name (x) {}
        };
        
        typedef list<Preset*> Presets;
diff --git a/gtk2_ardour/icons/crossfade_in_constant.png b/gtk2_ardour/icons/crossfade_in_constant.png
new file mode 100644 (file)
index 0000000..ce7d480
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_in_constant.png differ
diff --git a/gtk2_ardour/icons/crossfade_in_dipped.png b/gtk2_ardour/icons/crossfade_in_dipped.png
new file mode 100644 (file)
index 0000000..667e9d9
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_in_dipped.png differ
diff --git a/gtk2_ardour/icons/crossfade_in_fast-cut.png b/gtk2_ardour/icons/crossfade_in_fast-cut.png
new file mode 100644 (file)
index 0000000..a55dab5
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_in_fast-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade_in_slow-cut.png b/gtk2_ardour/icons/crossfade_in_slow-cut.png
new file mode 100644 (file)
index 0000000..fe76c3b
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_in_slow-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade_in_slow-fade.png b/gtk2_ardour/icons/crossfade_in_slow-fade.png
new file mode 100644 (file)
index 0000000..a105967
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_in_slow-fade.png differ
diff --git a/gtk2_ardour/icons/crossfade_in_transition.png b/gtk2_ardour/icons/crossfade_in_transition.png
new file mode 100644 (file)
index 0000000..482e8a6
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_in_transition.png differ
diff --git a/gtk2_ardour/icons/crossfade_out_constant.png b/gtk2_ardour/icons/crossfade_out_constant.png
new file mode 100644 (file)
index 0000000..602ba80
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_out_constant.png differ
diff --git a/gtk2_ardour/icons/crossfade_out_dipped.png b/gtk2_ardour/icons/crossfade_out_dipped.png
new file mode 100644 (file)
index 0000000..3f1e84c
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_out_dipped.png differ
diff --git a/gtk2_ardour/icons/crossfade_out_fast-cut.png b/gtk2_ardour/icons/crossfade_out_fast-cut.png
new file mode 100644 (file)
index 0000000..33eaafe
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_out_fast-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade_out_slow-cut.png b/gtk2_ardour/icons/crossfade_out_slow-cut.png
new file mode 100644 (file)
index 0000000..fd62602
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_out_slow-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade_out_slow-fade.png b/gtk2_ardour/icons/crossfade_out_slow-fade.png
new file mode 100644 (file)
index 0000000..d752879
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_out_slow-fade.png differ
diff --git a/gtk2_ardour/icons/crossfade_out_transition.png b/gtk2_ardour/icons/crossfade_out_transition.png
new file mode 100644 (file)
index 0000000..a48e645
Binary files /dev/null and b/gtk2_ardour/icons/crossfade_out_transition.png differ
index 57e13de5af3542ba1f9d3d5e338206ceb84f53e6..fb694893853b37786e436a79c744a13d29186416 100644 (file)
@@ -159,11 +159,11 @@ class Locations : public PBD::StatefulDestructible
        int set_current (Location *, bool want_lock = true);
        Location *current () const { return current_location; }
 
-       Location *first_location_before (nframes_t);
-       Location *first_location_after (nframes_t);
+       Location *first_location_before (nframes_t, bool include_special_ranges = false);
+       Location *first_location_after (nframes_t, bool include_special_ranges = false);
 
-       nframes_t first_mark_before (nframes_t);
-       nframes_t first_mark_after (nframes_t);
+       nframes_t first_mark_before (nframes_t, bool include_special_ranges = false);
+       nframes_t first_mark_after (nframes_t, bool include_special_ranges = false);
 
        sigc::signal<void,Location*> current_changed;
        sigc::signal<void>           changed;
index 75afb5091bf45221410377e9666f7f7b928c5b38..3d04c66824009351d9113624ffdbe65b5f56c1b6 100644 (file)
@@ -661,7 +661,7 @@ struct LocationStartLaterComparison
 };
 
 Location *
-Locations::first_location_before (nframes_t frame)
+Locations::first_location_before (nframes_t frame, bool include_special_ranges)
 {
        LocationList locs;
 
@@ -676,6 +676,9 @@ Locations::first_location_before (nframes_t frame)
        /* locs is now sorted latest..earliest */
        
        for (LocationList::iterator i = locs.begin(); i != locs.end(); ++i) {
+               if (!include_special_ranges && ((*i)->is_auto_loop() || (*i)->is_auto_punch())) {
+                       continue;
+               }
                if (!(*i)->is_hidden() && (*i)->start() < frame) {
                        return (*i);
                }
@@ -685,7 +688,7 @@ Locations::first_location_before (nframes_t frame)
 }
 
 Location *
-Locations::first_location_after (nframes_t frame)
+Locations::first_location_after (nframes_t frame, bool include_special_ranges)
 {
        LocationList locs;
 
@@ -700,6 +703,9 @@ Locations::first_location_after (nframes_t frame)
        /* locs is now sorted earliest..latest */
        
        for (LocationList::iterator i = locs.begin(); i != locs.end(); ++i) {
+               if (!include_special_ranges && ((*i)->is_auto_loop() || (*i)->is_auto_punch())) {
+                       continue;
+               }
                if (!(*i)->is_hidden() && (*i)->start() > frame) {
                        return (*i);
                }
@@ -709,7 +715,7 @@ Locations::first_location_after (nframes_t frame)
 }
 
 nframes_t
-Locations::first_mark_before (nframes_t frame)
+Locations::first_mark_before (nframes_t frame, bool include_special_ranges)
 {
        LocationList locs;
 
@@ -724,6 +730,9 @@ Locations::first_mark_before (nframes_t frame)
        /* locs is now sorted latest..earliest */
        
        for (LocationList::iterator i = locs.begin(); i != locs.end(); ++i) {
+               if (!include_special_ranges && ((*i)->is_auto_loop() || (*i)->is_auto_punch())) {
+                       continue;
+               }
                if (!(*i)->is_hidden()) {
                        if ((*i)->is_mark()) {
                                /* MARK: start == end */
@@ -746,7 +755,7 @@ Locations::first_mark_before (nframes_t frame)
 }
 
 nframes_t
-Locations::first_mark_after (nframes_t frame)
+Locations::first_mark_after (nframes_t frame, bool include_special_ranges)
 {
        LocationList locs;
 
@@ -761,6 +770,9 @@ Locations::first_mark_after (nframes_t frame)
        /* locs is now sorted earliest..latest */
        
        for (LocationList::iterator i = locs.begin(); i != locs.end(); ++i) {
+               if (!include_special_ranges && ((*i)->is_auto_loop() || (*i)->is_auto_punch())) {
+                       continue;
+               }
                if (!(*i)->is_hidden()) {
                        if ((*i)->is_mark()) {
                                /* MARK, start == end so just compare start */