summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug McLain <doug@nostar.net>2006-03-12 15:46:29 +0000
committerDoug McLain <doug@nostar.net>2006-03-12 15:46:29 +0000
commit670641c3df89af73de36efa5b0a184c2430275b0 (patch)
treeae4104e88cb85102fad0462efcf1682c9db34863
parent1ed64a7842ac57d1fe9e0464690f961781ca4080 (diff)
create xpm files from hard coded pixmaps, added function get_xpm() to make sure any xpm only gets load from disk once
git-svn-id: svn://localhost/trunk/ardour2@379 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/ardour_ui.h1
-rw-r--r--gtk2_ardour/ardour_ui2.cc157
-rw-r--r--gtk2_ardour/crossfade_edit.cc27
-rw-r--r--gtk2_ardour/crossfade_edit.h4
-rw-r--r--gtk2_ardour/editor.cc4
-rw-r--r--gtk2_ardour/mixer_strip.cc23
-rw-r--r--gtk2_ardour/panner_ui.cc42
-rw-r--r--gtk2_ardour/pixmaps/forwardblarrow.xpm17
-rw-r--r--gtk2_ardour/pixmaps/h_meter_strip.xpm195
-rw-r--r--gtk2_ardour/pixmaps/hiin.xpm31
-rw-r--r--gtk2_ardour/pixmaps/hiout.xpm31
-rw-r--r--gtk2_ardour/pixmaps/left_arrow.xpm21
-rw-r--r--gtk2_ardour/pixmaps/linin.xpm31
-rw-r--r--gtk2_ardour/pixmaps/linout.xpm31
-rw-r--r--gtk2_ardour/pixmaps/loin.xpm31
-rw-r--r--gtk2_ardour/pixmaps/loop.xpm122
-rw-r--r--gtk2_ardour/pixmaps/loout.xpm31
-rw-r--r--gtk2_ardour/pixmaps/regin.xpm31
-rw-r--r--gtk2_ardour/pixmaps/regin2.xpm31
-rw-r--r--gtk2_ardour/pixmaps/regout.xpm31
-rw-r--r--gtk2_ardour/pixmaps/revdblarrow.xpm17
-rw-r--r--gtk2_ardour/pixmaps/right_arrow.xpm21
-rw-r--r--gtk2_ardour/pixmaps/vslider_rail.xpm207
-rw-r--r--gtk2_ardour/pixmaps/vslider_slider.xpm211
-rw-r--r--gtk2_ardour/pixmaps/vslider_slider_16wide.xpm211
-rw-r--r--gtk2_ardour/utils.cc10
-rw-r--r--gtk2_ardour/utils.h3
-rw-r--r--libs/ardour/globals.cc1
28 files changed, 1337 insertions, 236 deletions
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index 03a8433634..ab505480cb 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -706,6 +706,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
void map_some_session_state (const char* group, const char* action, bool (ARDOUR::Session::*get)() const);
void queue_session_control_changed (ARDOUR::Session::ControlType t);
void session_control_changed (ARDOUR::Session::ControlType t);
+
};
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index 6b256c2609..cc2a990326 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -117,161 +117,6 @@ ARDOUR_UI::setup_adjustables ()
adjuster_table.attach (*mmc_id_button, 2, 3, 1, 2, FILL, FILL, 5, 5);
}
-#define NEW_LOOP_XPM
-#ifdef NEW_LOOP_XPM
-
-/* XPM */
-static const gchar * loop_xpm[] = {
-"17 25 94 2",
-" c None",
-". c #4C4C4C",
-"+ c #555555",
-"@ c #454545",
-"# c #242424",
-"$ c #5E5E5E",
-"% c #000000",
-"& c #6B6B6B",
-"* c #484848",
-"= c #4E4E4E",
-"- c #6A6A6A",
-"; c #717171",
-"> c #686868",
-", c #838383",
-"' c #888888",
-") c #676767",
-"! c #4A4A4A",
-"~ c #474747",
-"{ c #939393",
-"] c #949494",
-"^ c #9E9E9E",
-"/ c #4B4B4B",
-"( c #A1A1A1",
-"_ c #A0A0A0",
-": c #A5A5A5",
-"< c #B2B2B2",
-"[ c #646464",
-"} c #ADADAD",
-"| c #AAAAAA",
-"1 c #B1B1B1",
-"2 c #494949",
-"3 c #9A9A9A",
-"4 c #A2A2A2",
-"5 c #A7A7A7",
-"6 c #A8A8A8",
-"7 c #C1C1C1",
-"8 c #696969",
-"9 c #656565",
-"0 c #B6B6B6",
-"a c #404040",
-"b c #989898",
-"c c #9D9D9D",
-"d c #999999",
-"e c #A3A3A3",
-"f c #C4C4C4",
-"g c #707070",
-"h c #C2C2C2",
-"i c #9C9C9C",
-"j c #969696",
-"k c #A4A4A4",
-"l c #777777",
-"m c #979797",
-"n c #2F2F2F",
-"o c #A9A9A9",
-"p c #7D7D7D",
-"q c #6D6D6D",
-"r c #959595",
-"s c #AFAFAF",
-"t c #848484",
-"u c #7F7F7F",
-"v c #3B3B3B",
-"w c #9B9B9B",
-"x c #2B2B2B",
-"y c #BFBFBF",
-"z c #B3B3B3",
-"A c #8A8A8A",
-"B c #858585",
-"C c #2E2E2E",
-"D c #C3C3C3",
-"E c #B8B8B8",
-"F c #464646",
-"G c #8E8E8E",
-"H c #898989",
-"I c #8D8D8D",
-"J c #797979",
-"K c #BCBCBC",
-"L c #909090",
-"M c #8C8C8C",
-"N c #2A2A2A",
-"O c #747474",
-"P c #818181",
-"Q c #808080",
-"R c #C6C6C6",
-"S c #C0C0C0",
-"T c #787878",
-"U c #868686",
-"V c #878787",
-"W c #8B8B8B",
-"X c #666666",
-"Y c #BDBDBD",
-"Z c #929292",
-"` c #6C6C6C",
-" . c #505050",
-".. c #C8C8C8",
-" . + ",
-" @ # $ ",
-" @ % @ & ",
-" * % % = - ",
-" * % ; % = > ",
-" * % , ' % = ) ",
-"* ! ! ~ % { ] ^ % / . ! * ~ * + ",
-"~ % % % % ( _ : < % % % % % % % ) ",
-"* % $ [ % } | 1 % 2 3 ^ 4 5 6 % 7 ",
-"* % 8 9 % 0 0 % a b c d c _ e % f ",
-"* % g 8 % h % a b i b j c 4 k % 7 ",
-"* % l g % % . m i j j 3 n o o % 7 ",
-"~ % p l % q d i j r b # % 0 s % 7 ",
-"~ % t u v b w j r d x % % y z % 7 ",
-"~ % A B A b j ] d C % [ % D E % 7 ",
-"F % G H I { ] b C % q J % f K % 7 ",
-"~ % L M G { b N % O P Q % R S % 7 ",
-"+ % % % % % % % T U V W % % % % D ",
-" X 7 D 7 7 Y = % I Z b % 7 7 K 7 ",
-" ` = % ( : % 7 ",
-" 8 = % z % 7 ",
-" X / % % 7 ",
-" X .% .. ",
-" - 9 .. ",
-" q I "};
-
-#else
-
-static const gchar * loop_xpm[] = {
-"19 19 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" ... ",
-" .+.. ",
-" .++.. ",
-" ...+++.... ",
-" ...++++++++... ",
-" ..+++.+++..+++.. ",
-" ..++...++.....++..",
-" .++.. .+.. ..++.",
-" .+.. ... ..+.",
-" .+. .+.",
-" .+.. ... ..+.",
-" .++.. ..+. ..++.",
-" ..++.....++...++..",
-" ..+++..+++.+++.. ",
-" ...++++++++... ",
-" ....+++... ",
-" ..++. ",
-" ..+. ",
-" ... "};
-
-#endif
-
void
ARDOUR_UI::transport_stopped ()
{
@@ -422,7 +267,7 @@ ARDOUR_UI::setup_transport ()
w = manage (new Image (Stock::MEDIA_RECORD, ICON_SIZE_BUTTON));
w->show();
rec_button.add (*w);
- w = manage (new Image (Gdk::Pixbuf::create_from_xpm_data(loop_xpm)));
+ w = manage (new Image (get_xpm("loop.xpm")));
w->show();
auto_loop_button.add (*w);
diff --git a/gtk2_ardour/crossfade_edit.cc b/gtk2_ardour/crossfade_edit.cc
index 1a4304b2e8..1b4110be50 100644
--- a/gtk2_ardour/crossfade_edit.cc
+++ b/gtk2_ardour/crossfade_edit.cc
@@ -62,8 +62,6 @@ const double CrossfadeEditor::canvas_border = 10;
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),
@@ -193,7 +191,7 @@ CrossfadeEditor::CrossfadeEditor (Session& s, Crossfade& xf, double my, double m
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");
@@ -214,7 +212,7 @@ CrossfadeEditor::CrossfadeEditor (Session& s, Crossfade& xf, double my, double m
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");
@@ -833,8 +831,7 @@ CrossfadeEditor::build_presets ()
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));
@@ -845,7 +842,7 @@ 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->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (0.389401, 0.0333333));
p->push_back (PresetPoint (0.629032, 0.0861111));
@@ -855,7 +852,7 @@ 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->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (0.0737327, 0.308333));
p->push_back (PresetPoint (0.246544, 0.658333));
@@ -865,7 +862,7 @@ 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->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (0.304147, 0.0694444));
p->push_back (PresetPoint (0.529954, 0.152778));
@@ -875,14 +872,14 @@ 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->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));
@@ -892,7 +889,7 @@ 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->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (0.228111, 0.988889));
p->push_back (PresetPoint (0.347926, 0.972222));
@@ -902,7 +899,7 @@ 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->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (0.023041, 0.697222));
p->push_back (PresetPoint (0.0553, 0.483333));
@@ -912,7 +909,7 @@ 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->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (0.080645, 0.730556));
p->push_back (PresetPoint (0.277778, 0.289256));
@@ -921,7 +918,7 @@ 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->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 04d5836909..b156ee69fe 100644
--- a/gtk2_ardour/crossfade_edit.h
+++ b/gtk2_ardour/crossfade_edit.h
@@ -43,9 +43,9 @@ class CrossfadeEditor : public ArdourDialog
};
struct Preset : public list<PresetPoint> {
- const gchar** xpm;
+ string xpm;
- Preset (const gchar** x)
+ Preset (string x)
: xpm (x) {}
};
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 6a6fa0e522..8789632c3b 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -674,8 +674,8 @@ Editor::Editor (AudioEngine& eng)
/* nudge stuff */
- nudge_forward_button.add (*(manage (new Image (Gdk::Pixbuf::create_from_xpm_data(right_arrow_xpm)))));
- nudge_backward_button.add (*(manage (new Image (Gdk::Pixbuf::create_from_xpm_data(left_arrow_xpm)))));
+ nudge_forward_button.add (*(manage (new Image (get_xpm("right_arrow.xpm")))));
+ nudge_backward_button.add (*(manage (new Image (get_xpm("left_arrow.xpm")))));
ARDOUR_UI::instance()->tooltips().set_tip (nudge_forward_button, _("Nudge region/selection forwards"));
ARDOUR_UI::instance()->tooltips().set_tip (nudge_backward_button, _("Nudge region/selection backwards"));
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index d168c421cd..2ca903ea73 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -65,23 +65,6 @@ using namespace ARDOUR;
using namespace Gtk;
using namespace Gtkmm2ext;
-/* XPM */
-static const gchar * lr_xpm[] = {
-"11 11 2 1",
-" c None",
-". c #cccccc",
-" ",
-" ",
-" . . ",
-" . . ",
-" . . ",
-"...........",
-" . . ",
-" . . ",
-" . . ",
-" ",
-" "};
-
static void
speed_printer (char buf[32], Gtk::Adjustment& adj, void* arg)
{
@@ -128,10 +111,8 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, Route& rt, bool in_mixer)
comment_window = 0;
comment_area = 0;
- std::string small_x_xpm_file = find_data_file("small_x.xpm", "pixmaps");
- std::string lr_xpm_file = find_data_file("lr.xpm", "pixmaps");
- width_button.add (*(manage (new Gtk::Image (Gdk::Pixbuf::create_from_file(lr_xpm_file)))));
- hide_button.add (*(manage (new Gtk::Image (Gdk::Pixbuf::create_from_file(small_x_xpm_file)))));
+ width_button.add (*(manage (new Gtk::Image (get_xpm("lr.xpm")))));
+ hide_button.add (*(manage (new Gtk::Image (get_xpm("small_x.xpm")))));
input_label.set_text (_("INPUT"));
diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc
index 74d50aa993..401d707b28 100644
--- a/gtk2_ardour/panner_ui.cc
+++ b/gtk2_ardour/panner_ui.cc
@@ -45,42 +45,6 @@ using namespace Gtkmm2ext;
using namespace Gtk;
using namespace sigc;
-/* XPM */
-static const gchar * forwdblarrow_xpm[] = {
-"20 11 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" .. ",
-" .+. ",
-" .++. ",
-" ..............+++. ",
-" .+++++++++++++++++.",
-" ...................",
-" .+++++++++++++++++.",
-" ..............+++. ",
-" .++. ",
-" .+. ",
-" .. "};
-
-/* XPM */
-static const gchar * revdblarrow_xpm[] = {
-"20 11 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" .. ",
-" .+. ",
-" .++. ",
-" ..............+++. ",
-" .+++++++++++++++++.",
-" ...................",
-" .+++++++++++++++++.",
-" .+++..............",
-" .++. ",
-" .+. ",
-" .. "};
-
PannerUI::PannerUI (IO& io, Session& s)
: _io (io),
@@ -117,7 +81,7 @@ PannerUI::PannerUI (IO& io, Session& s)
we need a pixmap in the button just to get started.
*/
- panning_link_direction_button.add (*(manage (new Image (Gdk::Pixbuf::create_from_xpm_data(forwdblarrow_xpm)))));
+ panning_link_direction_button.add (*(manage (new Image (get_xpm("forwardblarrow.xpm")))));
panning_link_direction_button.signal_clicked().connect
(mem_fun(*this, &PannerUI::panning_link_direction_clicked));
@@ -200,10 +164,10 @@ PannerUI::update_pan_linkage ()
switch (_io.panner().link_direction()) {
case Panner::SameDirection:
- panning_link_direction_button.set_image (*(manage (new Image (Gdk::Pixbuf::create_from_xpm_data (forwdblarrow_xpm)))));
+ panning_link_direction_button.set_image (*(manage (new Image (get_xpm ("forwardblarrow.xpm")))));
break;
default:
- panning_link_direction_button.set_image (*(manage (new Image (Gdk::Pixbuf::create_from_xpm_data (revdblarrow_xpm)))));
+ panning_link_direction_button.set_image (*(manage (new Image (get_xpm("revdblarrow.xpm")))));
break;
}
}
diff --git a/gtk2_ardour/pixmaps/forwardblarrow.xpm b/gtk2_ardour/pixmaps/forwardblarrow.xpm
new file mode 100644
index 0000000000..9088a9f4a7
--- /dev/null
+++ b/gtk2_ardour/pixmaps/forwardblarrow.xpm
@@ -0,0 +1,17 @@
+/* XPM */
+static const gchar * forwdblarrow_xpm[] = {
+"20 11 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" .. ",
+" .+. ",
+" .++. ",
+" ..............+++. ",
+" .+++++++++++++++++.",
+" ...................",
+" .+++++++++++++++++.",
+" ..............+++. ",
+" .++. ",
+" .+. ",
+" .. "};
diff --git a/gtk2_ardour/pixmaps/h_meter_strip.xpm b/gtk2_ardour/pixmaps/h_meter_strip.xpm
new file mode 100644
index 0000000000..b112772e33
--- /dev/null
+++ b/gtk2_ardour/pixmaps/h_meter_strip.xpm
@@ -0,0 +1,195 @@
+/* XPM */
+static const gchar *h_meter_strip_xpm[] = {
+"186 5 187 2",
+" c None",
+". c #2BFE00",
+"+ c #2DFE00",
+"@ c #2FFE01",
+"# c #32FE01",
+"$ c #34FE02",
+"% c #36FE02",
+"& c #38FE03",
+"* c #3BFE03",
+"= c #3DFD04",
+"- c #3FFD04",
+"; c #41FD05",
+"> c #44FD05",
+", c #46FD06",
+"' c #48FD06",
+") c #4AFD07",
+"! c #4DFD07",
+"~ c #4FFD08",
+"{ c #51FC08",
+"] c #53FC09",
+"^ c #56FC09",
+"/ c #58FC09",
+"( c #5AFC0A",
+"_ c #5CFC0A",
+": c #5FFC0B",
+"< c #61FC0B",
+"[ c #63FB0C",
+"} c #65FB0C",
+"| c #68FB0D",
+"1 c #6AFB0D",
+"2 c #6CFB0E",
+"3 c #6EFB0E",
+"4 c #71FB0F",
+"5 c #73FB0F",
+"6 c #75FB10",
+"7 c #77FA10",
+"8 c #7AFA11",
+"9 c #7CFA11",
+"0 c #7EFA12",
+"a c #80FA12",
+"b c #83FA12",
+"c c #85FA13",
+"d c #87FA13",
+"e c #89FA14",
+"f c #8CF914",
+"g c #8EF915",
+"h c #90F915",
+"i c #92F916",
+"j c #95F916",
+"k c #97F917",
+"l c #99F917",
+"m c #9BF918",
+"n c #9EF818",
+"o c #A0F819",
+"p c #A2F819",
+"q c #A4F81A",
+"r c #A7F81A",
+"s c #A9F81A",
+"t c #ABF81B",
+"u c #ADF81B",
+"v c #B0F81C",
+"w c #B2F71C",
+"x c #B4F71D",
+"y c #B6F71D",
+"z c #B9F71E",
+"A c #BBF71E",
+"B c #BDF71F",
+"C c #BFF71F",
+"D c #C2F720",
+"E c #C4F720",
+"F c #C6F621",
+"G c #C8F621",
+"H c #CBF622",
+"I c #CDF622",
+"J c #CFF623",
+"K c #D1F623",
+"L c #D4F624",
+"M c #D6F624",
+"N c #D8F524",
+"O c #DAF525",
+"P c #DDF525",
+"Q c #DFF526",
+"R c #E1F526",
+"S c #E3F527",
+"T c #E6F527",
+"U c #E8F528",
+"V c #EAF528",
+"W c #ECF429",
+"X c #EFF429",
+"Y c #F1F42A",
+"Z c #F3F42A",
+"` c #F5F42B",
+" . c #F8F42B",
+".. c #FAF42C",
+"+. c #FCF42C",
+"@. c #FFF42D",
+"#. c #FFF22C",
+"$. c #FFF12B",
+"%. c #FFF02A",
+"&. c #FFEF2A",
+"*. c #FFEE29",
+"=. c #FFED28",
+"-. c #FFEC28",
+";. c #FFEB27",
+">. c #FFE926",
+",. c #FFE826",
+"'. c #FFE725",
+"). c #FFE624",
+"!. c #FFE524",
+"~. c #FFE423",
+"{. c #FFE322",
+"]. c #FFE222",
+"^. c #FFE021",
+"/. c #FFDF20",
+"(. c #FFDE20",
+"_. c #FFDD1F",
+":. c #FFDC1E",
+"<. c #FFDB1E",
+"[. c #FFDA1D",
+"}. c #FFD91C",
+"|. c #FFD71B",
+"1. c #FFD61B",
+"2. c #FFD51A",
+"3. c #FFD419",
+"4. c #FFD319",
+"5. c #FFD218",
+"6. c #FFD117",
+"7. c #FFD017",
+"8. c #FFCF16",
+"9. c #FFCD15",
+"0. c #FFCC15",
+"a. c #FFCB14",
+"b. c #FFCA13",
+"c. c #FFC913",
+"d. c #FFC812",
+"e. c #FFC711",
+"f. c #FFC611",
+"g. c #FFC410",
+"h. c #FFC30F",
+"i. c #FFC20F",
+"j. c #FFC10E",
+"k. c #FFC00D",
+"l. c #FFBF0C",
+"m. c #FFBE0C",
+"n. c #FFBD0B",
+"o. c #FFBB0A",
+"p. c #FFBA0A",
+"q. c #FFB909",
+"r. c #FFB808",
+"s. c #FFB708",
+"t. c #FFB607",
+"u. c #FFB506",
+"v. c #FFB406",
+"w. c #FFB205",
+"x. c #FFB104",
+"y. c #FFB004",
+"z. c #FFAF03",
+"A. c #FFAE02",
+"B. c #FFAD02",
+"C. c #FFAC01",
+"D. c #FFAB00",
+"E. c #FFA900",
+"F. c #F11F00",
+"G. c #F21E00",
+"H. c #F21C00",
+"I. c #F31B00",
+"J. c #F31A00",
+"K. c #F41800",
+"L. c #F41700",
+"M. c #F51600",
+"N. c #F61400",
+"O. c #F61300",
+"P. c #F71100",
+"Q. c #F71000",
+"R. c #F80F00",
+"S. c #F90D00",
+"T. c #F90C00",
+"U. c #FA0B00",
+"V. c #FA0900",
+"W. c #FB0800",
+"X. c #FC0600",
+"Y. c #FC0500",
+"Z. c #FD0400",
+"`. c #FD0200",
+" + c #FE0100",
+".+ c #FE0000",
+"++ c #FF0000",
+". + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ` ...+.@.@.#.$.%.&.*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+",
+". + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ` ...+.@.@.#.$.%.&.*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+",
+". + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ` ...+.@.@.#.$.%.&.*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +++",
+". + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ` ...+.@.@.#.$.%.&.*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +++",
+". + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ` ...+.@.@.#.$.%.&.*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +++"};
diff --git a/gtk2_ardour/pixmaps/hiin.xpm b/gtk2_ardour/pixmaps/hiin.xpm
new file mode 100644
index 0000000000..24c248b59b
--- /dev/null
+++ b/gtk2_ardour/pixmaps/hiin.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static const gchar * hiin_xpm[] = {
+"25 25 3 1",
+" c None",
+". c #F6FA2A",
+"+ c #F6F92A",
+" ",
+" ",
+" ",
+" ",
+" .......+ ",
+" ........+ ",
+" ...... ",
+" ..... ",
+" .... ",
+" ... ",
+" ... ",
+" ... ",
+" ... ",
+" ... ",
+" ... ",
+" ... ",
+" .. ",
+" ... ",
+" ... ",
+" ... ",
+" ... ",
+" +.+ ",
+" ",
+" ",
+" "};
diff --git a/gtk2_ardour/pixmaps/hiout.xpm b/gtk2_ardour/pixmaps/hiout.xpm
new file mode 100644
index 0000000000..7754594443
--- /dev/null
+++ b/gtk2_ardour/pixmaps/hiout.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static const gchar * hiout_xpm[] = {
+"25 25 3 1",
+" c None",
+". c #F6F92A",
+"+ c #F6FA2A",
+" ",
+" ",
+" ",
+" ",
+" .+++++++ ",
+" .++++++++ ",
+" ++++++ ",
+" +++++ ",
+" ++++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" ++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" .+. ",
+" ",
+" ",
+" "};
diff --git a/gtk2_ardour/pixmaps/left_arrow.xpm b/gtk2_ardour/pixmaps/left_arrow.xpm
new file mode 100644
index 0000000000..c0afce57cc
--- /dev/null
+++ b/gtk2_ardour/pixmaps/left_arrow.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static const gchar * left_arrow_xpm[] = {
+"12 15 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" ..+. ",
+" ..++. ",
+" ..+++. ",
+" ..+++.. ",
+" ..+++.. ",
+" ..+++.. ",
+" ..+++.. ",
+" .+++.. ",
+" ..+++.. ",
+" ..+++.. ",
+" ..+++.. ",
+" ..+++.. ",
+" ..+++. ",
+" ..++. ",
+" ..+. "};
diff --git a/gtk2_ardour/pixmaps/linin.xpm b/gtk2_ardour/pixmaps/linin.xpm
new file mode 100644
index 0000000000..01f7c3b4cc
--- /dev/null
+++ b/gtk2_ardour/pixmaps/linin.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static const gchar * linin_xpm[] = {
+"25 25 3 1",
+" c None",
+". c #FDFD00",
+"+ c #FEFE00",
+" ",
+" ",
+" ",
+" ",
+" .+. ",
+" +++. ",
+" ++++ ",
+" ++++ ",
+" ++++ ",
+" ++++ ",
+" +++. ",
+" +++ ",
+" +++ ",
+" +++ ",
+" .+++ ",
+" ++++ ",
+" ++++ ",
+" ++++ ",
+" ++++ ",
+" .+++ ",
+" .++ ",
+" + ",
+" ",
+" ",
+" "};
diff --git a/gtk2_ardour/pixmaps/linout.xpm b/gtk2_ardour/pixmaps/linout.xpm
new file mode 100644
index 0000000000..f38a8496c2
--- /dev/null
+++ b/gtk2_ardour/pixmaps/linout.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static const gchar * linout_xpm[] = {
+"25 25 3 1",
+" c None",
+". c #FDFD00",
+"+ c #FEFE00",
+" ",
+" ",
+" ",
+" .. ",
+" +++ ",
+" .+++ ",
+" ++++ ",
+" ++++ ",
+" +++. ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" .+++ ",
+" ++++ ",
+" ++++ ",
+" ++++ ",
+" ++++ ",
+" .. ",
+" ",
+" ",
+" "};
diff --git a/gtk2_ardour/pixmaps/loin.xpm b/gtk2_ardour/pixmaps/loin.xpm
new file mode 100644
index 0000000000..856cf2eca4
--- /dev/null
+++ b/gtk2_ardour/pixmaps/loin.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static const gchar * loin_xpm[] = {
+"25 25 3 1",
+" c None",
+". c #F6F92A",
+"+ c #F6FA2A",
+" ",
+" ",
+" .+. ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" ++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" ++++ ",
+" +++++ ",
+" ++++++ ",
+" .++++++++ ",
+" .+++++++ ",
+" ",
+" ",
+" ",
+" ",
+" "};
diff --git a/gtk2_ardour/pixmaps/loop.xpm b/gtk2_ardour/pixmaps/loop.xpm
new file mode 100644
index 0000000000..936c2e8e38
--- /dev/null
+++ b/gtk2_ardour/pixmaps/loop.xpm
@@ -0,0 +1,122 @@
+/* XPM */
+static const gchar * loop_xpm[] = {
+"17 25 94 2",
+" c None",
+". c #4C4C4C",
+"+ c #555555",
+"@ c #454545",
+"# c #242424",
+"$ c #5E5E5E",
+"% c #000000",
+"& c #6B6B6B",
+"* c #484848",
+"= c #4E4E4E",
+"- c #6A6A6A",
+"; c #717171",
+"> c #686868",
+", c #838383",
+"' c #888888",
+") c #676767",
+"! c #4A4A4A",
+"~ c #474747",
+"{ c #939393",
+"] c #949494",
+"^ c #9E9E9E",
+"/ c #4B4B4B",
+"( c #A1A1A1",
+"_ c #A0A0A0",
+": c #A5A5A5",
+"< c #B2B2B2",
+"[ c #646464",
+"} c #ADADAD",
+"| c #AAAAAA",
+"1 c #B1B1B1",
+"2 c #494949",
+"3 c #9A9A9A",
+"4 c #A2A2A2",
+"5 c #A7A7A7",
+"6 c #A8A8A8",
+"7 c #C1C1C1",
+"8 c #696969",
+"9 c #656565",
+"0 c #B6B6B6",
+"a c #404040",
+"b c #989898",
+"c c #9D9D9D",
+"d c #999999",
+"e c #A3A3A3",
+"f c #C4C4C4",
+"g c #707070",
+"h c #C2C2C2",
+"i c #9C9C9C",
+"j c #969696",
+"k c #A4A4A4",
+"l c #777777",
+"m c #979797",
+"n c #2F2F2F",
+"o c #A9A9A9",
+"p c #7D7D7D",
+"q c #6D6D6D",
+"r c #959595",
+"s c #AFAFAF",
+"t c #848484",
+"u c #7F7F7F",
+"v c #3B3B3B",
+"w c #9B9B9B",
+"x c #2B2B2B",
+"y c #BFBFBF",
+"z c #B3B3B3",
+"A c #8A8A8A",
+"B c #858585",
+"C c #2E2E2E",
+"D c #C3C3C3",
+"E c #B8B8B8",
+"F c #464646",
+"G c #8E8E8E",
+"H c #898989",
+"I c #8D8D8D",
+"J c #797979",
+"K c #BCBCBC",
+"L c #909090",
+"M c #8C8C8C",
+"N c #2A2A2A",
+"O c #747474",
+"P c #818181",
+"Q c #808080",
+"R c #C6C6C6",
+"S c #C0C0C0",
+"T c #787878",
+"U c #868686",
+"V c #878787",
+"W c #8B8B8B",
+"X c #666666",
+"Y c #BDBDBD",
+"Z c #929292",
+"` c #6C6C6C",
+" . c #505050",
+".. c #C8C8C8",
+" . + ",
+" @ # $ ",
+" @ % @ & ",
+" * % % = - ",
+" * % ; % = > ",
+" * % , ' % = ) ",
+"* ! ! ~ % { ] ^ % / . ! * ~ * + ",
+"~ % % % % ( _ : < % % % % % % % ) ",
+"* % $ [ % } | 1 % 2 3 ^ 4 5 6 % 7 ",
+"* % 8 9 % 0 0 % a b c d c _ e % f ",
+"* % g 8 % h % a b i b j c 4 k % 7 ",
+"* % l g % % . m i j j 3 n o o % 7 ",
+"~ % p l % q d i j r b # % 0 s % 7 ",
+"~ % t u v b w j r d x % % y z % 7 ",
+"~ % A B A b j ] d C % [ % D E % 7 ",
+"F % G H I { ] b C % q J % f K % 7 ",
+"~ % L M G { b N % O P Q % R S % 7 ",
+"+ % % % % % % % T U V W % % % % D ",
+" X 7 D 7 7 Y = % I Z b % 7 7 K 7 ",
+" ` = % ( : % 7 ",
+" 8 = % z % 7 ",
+" X / % % 7 ",
+" X .% .. ",
+" - 9 .. ",
+" q I "};
diff --git a/gtk2_ardour/pixmaps/loout.xpm b/gtk2_ardour/pixmaps/loout.xpm
new file mode 100644
index 0000000000..316de0211b
--- /dev/null
+++ b/gtk2_ardour/pixmaps/loout.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static const gchar * loout_xpm[] = {
+"25 25 3 1",
+" c None",
+". c #F6F92A",
+"+ c #F6FA2A",
+" ",
+" ",
+" .. ",
+" ++ ",
+" ++ ",
+" ++ ",
+" ++ ",
+" ++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" ++++ ",
+" +++ ",
+" +++ ",
+" +++ ",
+" ++++ ",
+" +++++ ",
+" ++++++ ",
+" +++++++++. ",
+" ++++++++ ",
+" ++++. ",
+" ",
+" ",
+" ",
+" "};
diff --git a/gtk2_ardour/pixmaps/regin.xpm b/gtk2_ardour/pixmaps/regin.xpm
new file mode 100644
index 0000000000..f59730dade
--- /dev/null
+++ b/gtk2_ardour/pixmaps/regin.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static const gchar * regin_xpm[] = {
+"25 25 3 1",
+" c None",
+". c #FDFD00",
+"+ c #FEFE00",
+" ",
+" ",
+" ",
+" ",
+" .++++. ",
+" .++++++. ",
+" .+++++. ",
+" +++++. ",
+" ++++ ",
+" ++++ ",
+" ++++ ",
+" .+++ ",
+" +++ ",
+" .++ ",
+" +++ ",
+" .++. ",
+" +++ ",
+" ++. ",
+" ++ ",
+" ++ ",
+" ++ ",
+" .. ",
+" ",
+" ",
+" "};
diff --git a/gtk2_ardour/pixmaps/regin2.xpm b/gtk2_ardour/pixmaps/regin2.xpm
new file mode 100644
index 0000000000..4d7f849551
--- /dev/null
+++ b/gtk2_ardour/pixmaps/regin2.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static const gchar * regin2_xpm[] = {
+"25 25 3 1",
+" c None",
+". c #FDFD00",
+"+ c #FEFE00",
+" ",
+" ",
+" .+. ",
+" +++ ",
+" +++ ",
+" ++. ",
+" .++ ",
+" +++ ",
+" ++. ",
+" .++ ",
+" +++ ",
+" .++. ",
+" +++ ",
+" +++. ",
+" ++++ ",
+" .++++ ",
+" .+++++ ",
+" .++++++. ",
+" .++++++. ",
+" ++++. ",
+" .. ",
+" ",
+" ",
+" ",
+" "};
diff --git a/gtk2_ardour/pixmaps/regout.xpm b/gtk2_ardour/pixmaps/regout.xpm
new file mode 100644
index 0000000000..723a6ac167
--- /dev/null
+++ b/gtk2_ardour/pixmaps/regout.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static const gchar * regout_xpm[] = {
+"25 25 3 1",
+" c None",
+". c #FDFD00",
+"+ c #FEFE00",
+" ",
+" ",
+" ",
+" ",
+" .++++. ",
+" .++++++. ",
+" .+++++. ",
+" .+++++ ",
+" ++++ ",
+" ++++ ",
+" ++++ ",
+" +++. ",
+" +++ ",
+" ++. ",
+" +++ ",
+" .++. ",
+" +++ ",
+" .++ ",
+" ++ ",
+" ++ ",
+" ++ ",
+" .. ",
+" ",
+" ",
+" "};
diff --git a/gtk2_ardour/pixmaps/revdblarrow.xpm b/gtk2_ardour/pixmaps/revdblarrow.xpm
new file mode 100644
index 0000000000..35f8b4dd7a
--- /dev/null
+++ b/gtk2_ardour/pixmaps/revdblarrow.xpm
@@ -0,0 +1,17 @@
+/* XPM */
+static const gchar * revdblarrow_xpm[] = {
+"20 11 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" .. ",
+" .+. ",
+" .++. ",
+" ..............+++. ",
+" .+++++++++++++++++.",
+" ...................",
+" .+++++++++++++++++.",
+" .+++..............",
+" .++. ",
+" .+. ",
+" .. "};
diff --git a/gtk2_ardour/pixmaps/right_arrow.xpm b/gtk2_ardour/pixmaps/right_arrow.xpm
new file mode 100644
index 0000000000..d5626f71fe
--- /dev/null
+++ b/gtk2_ardour/pixmaps/right_arrow.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static const gchar * right_arrow_xpm[] = {
+"12 15 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+" .+.. ",
+" .++.. ",
+" .+++.. ",
+" ..+++.. ",
+" ..+++.. ",
+" ..+++.. ",
+" ..+++.. ",
+" ..+++. ",
+" ..+++.. ",
+" ..+++.. ",
+" ..+++.. ",
+" ..+++.. ",
+" .+++.. ",
+" .++.. ",
+" .+.. "};
diff --git a/gtk2_ardour/pixmaps/vslider_rail.xpm b/gtk2_ardour/pixmaps/vslider_rail.xpm
new file mode 100644
index 0000000000..bb6bc46ca8
--- /dev/null
+++ b/gtk2_ardour/pixmaps/vslider_rail.xpm
@@ -0,0 +1,207 @@
+/* XPM */
+static const char * vslider_rail_xpm[] = {
+"3 200 4 1",
+" c None",
+". c #000000",
+", c #424242",
+"+ c #969393",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+",
+".,+"};
diff --git a/gtk2_ardour/pixmaps/vslider_slider.xpm b/gtk2_ardour/pixmaps/vslider_slider.xpm
new file mode 100644
index 0000000000..dc0cf4cb94
--- /dev/null
+++ b/gtk2_ardour/pixmaps/vslider_slider.xpm
@@ -0,0 +1,211 @@
+/* XPM */
+static const char * vslider_slider_xpm[] = {
+"15 32 176 2",
+" c None",
+". c #999991",
+"+ c #A1A198",
+"@ c #A0A097",
+"# c #9E9E95",
+"$ c #9D9D94",
+"% c #9C9C93",
+"& c #9A9A92",
+"* c #999990",
+"= c #98988F",
+"- c #96968E",
+"; c #95958D",
+"> c #94948B",
+", c #93938A",
+"' c #919189",
+") c #575751",
+"! c #97978F",
+"~ c #A3A39A",
+"{ c #A0A098",
+"] c #9F9F96",
+"^ c #989890",
+"/ c #81817A",
+"( c #3D3D39",
+"_ c #94948C",
+": c #B0B0A8",
+"< c #C8C8C1",
+"[ c #C7C7C1",
+"} c #C7C7C0",
+"| c #C6C6C0",
+"1 c #C6C6BF",
+"2 c #C5C5BF",
+"3 c #C5C5BE",
+"4 c #C4C4BD",
+"5 c #71716C",
+"6 c #3C3C38",
+"7 c #93938B",
+"8 c #8F8F87",
+"9 c #858580",
+"0 c #85857F",
+"a c #84847F",
+"b c #5C5C58",
+"c c #3C3C39",
+"d c #878781",
+"e c #878782",
+"f c #5A5A56",
+"g c #3D3D3A",
+"h c #94948F",
+"i c #5B5B57",
+"j c #3E3E3A",
+"k c #9F9F9A",
+"l c #A0A09A",
+"m c #5C5C57",
+"n c #3E3E3B",
+"o c #92928A",
+"p c #9B9B93",
+"q c #AAAAA4",
+"r c #AAAAA5",
+"s c #3F3F3B",
+"t c #B3B3AD",
+"u c #B2B2AD",
+"v c #B2B2AC",
+"w c #3F3F3C",
+"x c #929289",
+"y c #9D9D95",
+"z c #BABAB3",
+"A c #BABAB4",
+"B c #B9B9B3",
+"C c #B8B8B2",
+"D c #40403C",
+"E c #9E9E96",
+"F c #C0C0BA",
+"G c #C0C0B9",
+"H c #BFBFB9",
+"I c #BFBFB8",
+"J c #BEBEB8",
+"K c #40403D",
+"L c #909088",
+"M c #C4C4BE",
+"N c #C3C3BD",
+"O c #C3C3BC",
+"P c #C2C2BC",
+"Q c #5B5B56",
+"R c #41413D",
+"S c #878780",
+"T c #A1A19C",
+"U c #A1A19D",
+"V c #A0A09B",
+"W c #4B4B47",
+"X c #8E8E86",
+"Y c #434340",
+"Z c #323232",
+"` c #333333",
+" . c #1D1D1C",
+".. c #8D8D85",
+"+. c #8C8C84",
+"@. c #A7A7A2",
+"#. c #A6A6A1",
+"$. c #A6A6A0",
+"%. c #A5A5A0",
+"&. c #8B8B83",
+"*. c #D1D1CA",
+"=. c #D0D0C9",
+"-. c #CFCFC9",
+";. c #CFCFC8",
+">. c #CECEC7",
+",. c #8A8A82",
+"'. c #D2D2CB",
+"). c #D2D2CA",
+"!. c #898981",
+"~. c #9F9F97",
+"{. c #D0D0C8",
+"]. c #5D5D59",
+"^. c #D1D1C9",
+"/. c #CFCFC7",
+"(. c #5F5F5A",
+"_. c #86867F",
+":. c #CECEC6",
+"<. c #CDCDC6",
+"[. c #CDCDC5",
+"}. c #60605B",
+"|. c #85857D",
+"1. c #A1A199",
+"2. c #CCCCC5",
+"3. c #CCCCC4",
+"4. c #CBCBC4",
+"5. c #CBCBC3",
+"6. c #CACAC3",
+"7. c #62625D",
+"8. c #83837C",
+"9. c #CACAC2",
+"0. c #C9C9C1",
+"a. c #C8C8C0",
+"b. c #C7C7BF",
+"c. c #64645F",
+"d. c #82827B",
+"e. c #A4A49B",
+"f. c #C5C5BD",
+"g. c #C4C4BC",
+"h. c #C3C3BB",
+"i. c #C2C2BA",
+"j. c #C1C1B9",
+"k. c #C0C0B8",
+"l. c #656560",
+"m. c #818179",
+"n. c #A5A59D",
+"o. c #BDBDB5",
+"p. c #BDBDB4",
+"q. c #BCBCB4",
+"r. c #BBBBB3",
+"s. c #BABAB2",
+"t. c #B9B9B1",
+"u. c #B8B8B0",
+"v. c #666661",
+"w. c #7F7F78",
+"x. c #B6B6AE",
+"y. c #B6B6AD",
+"z. c #B5B5AD",
+"A. c #B5B5AC",
+"B. c #B4B4AC",
+"C. c #B3B3AB",
+"D. c #B2B2AB",
+"E. c #B2B2AA",
+"F. c #B1B1A9",
+"G. c #696964",
+"H. c #7D7D76",
+"I. c #BEBEB7",
+"J. c #BDBDB7",
+"K. c #6E6E6A",
+"L. c #7B7B74",
+"M. c #60605A",
+"N. c #50504B",
+"O. c #4D4D49",
+"P. c #6B6B65",
+"Q. c #484844",
+"R. c #454541",
+"S. c #42423E",
+". + @ # $ % & * = - ; > , ' ) ",
+"! ~ { ] # $ % & . ^ ! - ; / ( ",
+"_ : < < [ } } | 1 1 2 3 4 5 6 ",
+"7 8 9 9 9 9 9 9 9 0 0 0 a b c ",
+"7 8 d e e e e e e e e e d f g ",
+"7 ; h h h h h h h h h h h i j ",
+"7 ^ k k l l l l l l k k k m n ",
+"o p q r r r r r r r q q q m s ",
+"o $ t t t t t t t u v v v m w ",
+"x y z A A A A B B B B C C i D ",
+"' E F F F F F F G H H I J i K ",
+"L E M M M M M 4 4 N N O P Q R ",
+"8 E [ [ [ [ [ } } | | 1 2 f R ",
+"8 S T U U U T T T T V V V W R ",
+"X Y Z Z Z Z ` ` Z Z Z Z Z .R ",
+"..Y Z ` ` ` ` ` ` ` ` Z Z .R ",
+"+.S @.@.@.@.#.#.#.#.$.%.%.W R ",
+"&.E *.*.*.*.=.=.=.-.;.;.>.i R ",
+",.] '.'.'.).*.*.*.=.=.;.;.b R ",
+"!.~.'.'.'.'.).*.*.=.=.{.;.].K ",
+"S @ ).*.*.*.*.^.=.{.;./.>.(.D ",
+"_.+ {.{.{.{.;././.>.:.<.[.}.w ",
+"|.1.:.:.:.<.[.[.2.3.4.5.6.7.s ",
+"8.~ 6.9.9.9.0.0.< a.} b.1 c.n ",
+"d.e.f.g.g.g.h.h.i.i.j.j.k.l.j ",
+"m.n.o.p.q.q.r.r.s.s.t.t.u.v.g ",
+"w.e.x.x.y.z.A.B.C.C.D.E.F.G.c ",
+"H.. J J J J J J J J I.J.J.K.6 ",
+"L.M.N.N.N.N.N.N.N.N.N.N.N.O.6 ",
+"P.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.D ",
+"O.R.R.R.R.R.R.R.R.R.R.R.R.R.S.",
+"O.R.R.R.R.R.R.R.R.R.R.R.R.R.S."};
diff --git a/gtk2_ardour/pixmaps/vslider_slider_16wide.xpm b/gtk2_ardour/pixmaps/vslider_slider_16wide.xpm
new file mode 100644
index 0000000000..65624424dd
--- /dev/null
+++ b/gtk2_ardour/pixmaps/vslider_slider_16wide.xpm
@@ -0,0 +1,211 @@
+/* XPM */
+static const char * vslider_slider_xpm_16wide[] = {
+"16 32 176 2",
+" c None",
+". c #999991",
+"+ c #A1A198",
+"@ c #A0A097",
+"# c #9E9E95",
+"$ c #9D9D94",
+"% c #9C9C93",
+"& c #9A9A92",
+"* c #999990",
+"= c #98988F",
+"- c #96968E",
+"; c #95958D",
+"> c #94948B",
+", c #93938A",
+"' c #919189",
+") c #575751",
+"! c #97978F",
+"~ c #A3A39A",
+"{ c #A0A098",
+"] c #9F9F96",
+"^ c #989890",
+"/ c #81817A",
+"( c #3D3D39",
+"_ c #94948C",
+": c #B0B0A8",
+"< c #C8C8C1",
+"[ c #C7C7C1",
+"} c #C7C7C0",
+"| c #C6C6C0",
+"1 c #C6C6BF",
+"2 c #C5C5BF",
+"3 c #C5C5BE",
+"4 c #C4C4BD",
+"5 c #71716C",
+"6 c #3C3C38",
+"7 c #93938B",
+"8 c #8F8F87",
+"9 c #858580",
+"0 c #85857F",
+"a c #84847F",
+"b c #5C5C58",
+"c c #3C3C39",
+"d c #878781",
+"e c #878782",
+"f c #5A5A56",
+"g c #3D3D3A",
+"h c #94948F",
+"i c #5B5B57",
+"j c #3E3E3A",
+"k c #9F9F9A",
+"l c #A0A09A",
+"m c #5C5C57",
+"n c #3E3E3B",
+"o c #92928A",
+"p c #9B9B93",
+"q c #AAAAA4",
+"r c #AAAAA5",
+"s c #3F3F3B",
+"t c #B3B3AD",
+"u c #B2B2AD",
+"v c #B2B2AC",
+"w c #3F3F3C",
+"x c #929289",
+"y c #9D9D95",
+"z c #BABAB3",
+"A c #BABAB4",
+"B c #B9B9B3",
+"C c #B8B8B2",
+"D c #40403C",
+"E c #9E9E96",
+"F c #C0C0BA",
+"G c #C0C0B9",
+"H c #BFBFB9",
+"I c #BFBFB8",
+"J c #BEBEB8",
+"K c #40403D",
+"L c #909088",
+"M c #C4C4BE",
+"N c #C3C3BD",
+"O c #C3C3BC",
+"P c #C2C2BC",
+"Q c #5B5B56",
+"R c #41413D",
+"S c #878780",
+"T c #A1A19C",
+"U c #A1A19D",
+"V c #A0A09B",
+"W c #4B4B47",
+"X c #8E8E86",
+"Y c #434340",
+"Z c #323232",
+"` c #333333",
+" . c #1D1D1C",
+".. c #8D8D85",
+"+. c #8C8C84",
+"@. c #A7A7A2",
+"#. c #A6A6A1",
+"$. c #A6A6A0",
+"%. c #A5A5A0",
+"&. c #8B8B83",
+"*. c #D1D1CA",
+"=. c #D0D0C9",
+"-. c #CFCFC9",
+";. c #CFCFC8",
+">. c #CECEC7",
+",. c #8A8A82",
+"'. c #D2D2CB",
+"). c #D2D2CA",
+"!. c #898981",
+"~. c #9F9F97",
+"{. c #D0D0C8",
+"]. c #5D5D59",
+"^. c #D1D1C9",
+"/. c #CFCFC7",
+"(. c #5F5F5A",
+"_. c #86867F",
+":. c #CECEC6",
+"<. c #CDCDC6",
+"[. c #CDCDC5",
+"}. c #60605B",
+"|. c #85857D",
+"1. c #A1A199",
+"2. c #CCCCC5",
+"3. c #CCCCC4",
+"4. c #CBCBC4",
+"5. c #CBCBC3",
+"6. c #CACAC3",
+"7. c #62625D",
+"8. c #83837C",
+"9. c #CACAC2",
+"0. c #C9C9C1",
+"a. c #C8C8C0",
+"b. c #C7C7BF",
+"c. c #64645F",
+"d. c #82827B",
+"e. c #A4A49B",
+"f. c #C5C5BD",
+"g. c #C4C4BC",
+"h. c #C3C3BB",
+"i. c #C2C2BA",
+"j. c #C1C1B9",
+"k. c #C0C0B8",
+"l. c #656560",
+"m. c #818179",
+"n. c #A5A59D",
+"o. c #BDBDB5",
+"p. c #BDBDB4",
+"q. c #BCBCB4",
+"r. c #BBBBB3",
+"s. c #BABAB2",
+"t. c #B9B9B1",
+"u. c #B8B8B0",
+"v. c #666661",
+"w. c #7F7F78",
+"x. c #B6B6AE",
+"y. c #B6B6AD",
+"z. c #B5B5AD",
+"A. c #B5B5AC",
+"B. c #B4B4AC",
+"C. c #B3B3AB",
+"D. c #B2B2AB",
+"E. c #B2B2AA",
+"F. c #B1B1A9",
+"G. c #696964",
+"H. c #7D7D76",
+"I. c #BEBEB7",
+"J. c #BDBDB7",
+"K. c #6E6E6A",
+"L. c #7B7B74",
+"M. c #60605A",
+"N. c #50504B",
+"O. c #4D4D49",
+"P. c #6B6B65",
+"Q. c #484844",
+"R. c #454541",
+"S. c #42423E",
+". + @ # $ % & * * = - ; > , ' ) ",
+"! ~ { ] # $ % & & . ^ ! - ; / ( ",
+"_ : < < [ } } | | 1 1 2 3 4 5 6 ",
+"7 8 9 9 9 9 9 9 9 9 0 0 0 a b c ",
+"7 8 d e e e e e e e e e e d f g ",
+"7 ; h h h h h h h h h h h h i j ",
+"7 ^ k k l l l l l l l k k k m n ",
+"o p q r r r r r r r r q q q m s ",
+"o $ t t t t t t t t u v v v m w ",
+"x y z A A A A B B B B B C C i D ",
+"' E F F F F F F F G H H I J i K ",
+"L E M M M M M 4 4 4 N N O P Q R ",
+"8 E [ [ [ [ [ } } } | | 1 2 f R ",
+"8 S T U U U T T T T T V V V W R ",
+"X Y Z Z Z Z ` ` ` Z Z Z Z Z .R ",
+"..Y Z ` ` ` ` ` ` ` ` ` Z Z .R ",
+"+.S @.@.@.@.#.#.#.#.#.$.%.%.W R ",
+"&.E *.*.*.*.=.=.=.=.-.;.;.>.i R ",
+",.] '.'.'.).*.*.*.*.=.=.;.;.b R ",
+"!.~.'.'.'.'.).*.*.*.=.=.{.;.].K ",
+"S @ ).*.*.*.*.^.^.=.{.;./.>.(.D ",
+"_.+ {.{.{.{.;./././.>.:.<.[.}.w ",
+"|.1.:.:.:.<.[.[.[.2.3.4.5.6.7.s ",
+"8.~ 6.9.9.9.0.0.0.< a.} b.1 c.n ",
+"d.e.f.g.g.g.h.h.h.i.i.j.j.k.l.j ",
+"m.n.o.p.q.q.r.r.r.s.s.t.t.u.v.g ",
+"w.e.x.x.y.z.A.B.B.C.C.D.E.F.G.c ",
+"H.. J J J J J J J J J I.J.J.K.6 ",
+"L.M.N.N.N.N.N.N.N.N.N.N.N.N.O.6 ",
+"P.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.D ",
+"O.R.R.R.R.R.R.R.R.R.R.R.R.R.R.S.",
+"O.R.R.R.R.R.R.R.R.R.R.R.R.R.R.S."};
diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc
index 19c280f646..19d896fd0d 100644
--- a/gtk2_ardour/utils.cc
+++ b/gtk2_ardour/utils.cc
@@ -28,6 +28,7 @@
#include <gtk/gtkpaned.h>
#include <gtkmm2ext/utils.h>
+#include <ardour/ardour.h>
#include "ardour_ui.h"
#include "keyboard.h"
@@ -563,3 +564,12 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev)
return true;
}
+Glib::RefPtr<Gdk::Pixbuf>
+get_xpm (std::string name)
+{
+ if (!xpm_map[name]) {
+ xpm_map[name] = Gdk::Pixbuf::create_from_file (ARDOUR::find_data_file(name, "pixmaps"));
+ }
+
+ return (xpm_map[name]);
+}
diff --git a/gtk2_ardour/utils.h b/gtk2_ardour/utils.h
index 68cd16c779..bbfa5f4e52 100644
--- a/gtk2_ardour/utils.h
+++ b/gtk2_ardour/utils.h
@@ -77,4 +77,7 @@ void set_color (Gdk::Color&, int);
bool key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev);
+Glib::RefPtr<Gdk::Pixbuf> get_xpm(std::string);
+static std::map<std::string, Glib::RefPtr<Gdk::Pixbuf> > xpm_map;
+
#endif /* __ardour_gtk_utils_h__ */
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index 99cf9f9890..ad7f5c0cc8 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -322,7 +322,6 @@ find_file (string name, string dir, string subdir = "")
}
path += name;
- cerr << path << endl;
if (access (path.c_str(), R_OK) == 0) {
return path;
}