summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-02-25 20:53:55 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-02-25 20:53:55 +0000
commiteae83763fb607ac0b7381ec06ce2b2e595def7ea (patch)
treec4a6779fc9259184da86f089adfc5fb2d08c59ef
parent8adfb38bd602a69bebed77899ac759a0268f97bd (diff)
new crossfade editor button icons from thorsten; ignore loop+range markers when looking for next/previous locations
git-svn-id: svn://localhost/ardour2/trunk@1506 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/crossfade_edit.cc34
-rw-r--r--gtk2_ardour/crossfade_edit.h5
-rw-r--r--gtk2_ardour/icons/crossfade_in_constant.pngbin0 -> 693 bytes
-rw-r--r--gtk2_ardour/icons/crossfade_in_dipped.pngbin0 -> 667 bytes
-rw-r--r--gtk2_ardour/icons/crossfade_in_fast-cut.pngbin0 -> 686 bytes
-rw-r--r--gtk2_ardour/icons/crossfade_in_slow-cut.pngbin0 -> 723 bytes
-rw-r--r--gtk2_ardour/icons/crossfade_in_slow-fade.pngbin0 -> 730 bytes
-rw-r--r--gtk2_ardour/icons/crossfade_in_transition.pngbin0 -> 692 bytes
-rw-r--r--gtk2_ardour/icons/crossfade_out_constant.pngbin0 -> 720 bytes
-rw-r--r--gtk2_ardour/icons/crossfade_out_dipped.pngbin0 -> 831 bytes
-rw-r--r--gtk2_ardour/icons/crossfade_out_fast-cut.pngbin0 -> 737 bytes
-rw-r--r--gtk2_ardour/icons/crossfade_out_slow-cut.pngbin0 -> 770 bytes
-rw-r--r--gtk2_ardour/icons/crossfade_out_slow-fade.pngbin0 -> 798 bytes
-rw-r--r--gtk2_ardour/icons/crossfade_out_transition.pngbin0 -> 737 bytes
-rw-r--r--libs/ardour/ardour/location.h8
-rw-r--r--libs/ardour/location.cc20
16 files changed, 44 insertions, 23 deletions
diff --git a/gtk2_ardour/crossfade_edit.cc b/gtk2_ardour/crossfade_edit.cc
index 0940f91b4f..a69383c7ee 100644
--- a/gtk2_ardour/crossfade_edit.cc
+++ b/gtk2_ardour/crossfade_edit.cc
@@ -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);
diff --git a/gtk2_ardour/crossfade_edit.h b/gtk2_ardour/crossfade_edit.h
index 3c9a6a13c1..4f2a617d92 100644
--- a/gtk2_ardour/crossfade_edit.h
+++ b/gtk2_ardour/crossfade_edit.h
@@ -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
index 0000000000..ce7d48032e
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_in_constant.png
Binary files differ
diff --git a/gtk2_ardour/icons/crossfade_in_dipped.png b/gtk2_ardour/icons/crossfade_in_dipped.png
new file mode 100644
index 0000000000..667e9d9c06
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_in_dipped.png
Binary files 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
index 0000000000..a55dab560a
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_in_fast-cut.png
Binary files 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
index 0000000000..fe76c3bc89
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_in_slow-cut.png
Binary files 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
index 0000000000..a105967da1
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_in_slow-fade.png
Binary files differ
diff --git a/gtk2_ardour/icons/crossfade_in_transition.png b/gtk2_ardour/icons/crossfade_in_transition.png
new file mode 100644
index 0000000000..482e8a63bd
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_in_transition.png
Binary files differ
diff --git a/gtk2_ardour/icons/crossfade_out_constant.png b/gtk2_ardour/icons/crossfade_out_constant.png
new file mode 100644
index 0000000000..602ba806c5
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_out_constant.png
Binary files differ
diff --git a/gtk2_ardour/icons/crossfade_out_dipped.png b/gtk2_ardour/icons/crossfade_out_dipped.png
new file mode 100644
index 0000000000..3f1e84c485
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_out_dipped.png
Binary files 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
index 0000000000..33eaafe7b3
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_out_fast-cut.png
Binary files 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
index 0000000000..fd6260228e
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_out_slow-cut.png
Binary files 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
index 0000000000..d752879bec
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_out_slow-fade.png
Binary files differ
diff --git a/gtk2_ardour/icons/crossfade_out_transition.png b/gtk2_ardour/icons/crossfade_out_transition.png
new file mode 100644
index 0000000000..a48e645fbd
--- /dev/null
+++ b/gtk2_ardour/icons/crossfade_out_transition.png
Binary files differ
diff --git a/libs/ardour/ardour/location.h b/libs/ardour/ardour/location.h
index 57e13de5af..fb69489385 100644
--- a/libs/ardour/ardour/location.h
+++ b/libs/ardour/ardour/location.h
@@ -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;
diff --git a/libs/ardour/location.cc b/libs/ardour/location.cc
index 75afb5091b..3d04c66824 100644
--- a/libs/ardour/location.cc
+++ b/libs/ardour/location.cc
@@ -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 */