Merged with trunk R1622.
authorDavid Robillard <d@drobilla.net>
Mon, 19 Mar 2007 07:07:38 +0000 (07:07 +0000)
committerDavid Robillard <d@drobilla.net>
Mon, 19 Mar 2007 07:07:38 +0000 (07:07 +0000)
git-svn-id: svn://localhost/ardour2/branches/midi@1623 d708f5d6-7413-0410-9779-e7cbd77b26cf

26 files changed:
gtk2_ardour/about.cc
gtk2_ardour/ardour2_ui.rc
gtk2_ardour/ardour_ui.cc
gtk2_ardour/ardour_ui_ed.cc
gtk2_ardour/audio_region_editor.cc
gtk2_ardour/automation_time_axis.cc
gtk2_ardour/canvas-simplerect.c
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/editor_audio_import.cc
gtk2_ardour/editor_canvas.cc
gtk2_ardour/editor_markers.cc
gtk2_ardour/editor_mixer.cc
gtk2_ardour/editor_ops.cc
gtk2_ardour/editor_route_list.cc
gtk2_ardour/editor_rulers.cc
gtk2_ardour/editor_timefx.cc
gtk2_ardour/export_dialog.cc
gtk2_ardour/location_ui.cc
gtk2_ardour/mixer_ui.cc
gtk2_ardour/new_session_dialog.cc
gtk2_ardour/option_editor.cc
gtk2_ardour/playlist_selector.cc
gtk2_ardour/redirect_box.cc
gtk2_ardour/route_params_ui.cc
gtk2_ardour/time_axis_view.cc

index b0ec4f1436e549cc5712d21fa254a94eb8bb5760..df6d0102edc6f03545cba98f35c9114bcefc6cc5 100644 (file)
@@ -190,7 +190,7 @@ About::About ()
        }
 
        set_translator_credits (t);
-       set_copyright (_("Copyright (C) 1999-2006 Paul Davis\n"));
+       set_copyright (_("Copyright (C) 1999-2007 Paul Davis\n"));
        set_license (_("Ardour comes with ABSOLUTELY NO WARRANTY\n"
                       "This is free software, and you are welcome to redistribute it\n"
                       "under certain conditions; see the file COPYING for details.\n"));
index b008a4cd17177a34d1ec9b07caaf9f6081bf0aa1..ce69b901708e47fa856bec68647d6a03f85b8e38 100644 (file)
@@ -858,11 +858,11 @@ style "track_controls_inactive"
 
 style "edit_controls_base_selected"
 {
-       bg[NORMAL] = { 0.56, 0.56, 0.56 }
-       bg[ACTIVE] = { 0.56, 0.56, 0.56 }
-       bg[INSENSITIVE] = { 0.56, 0.56, 0.56 }
-       bg[SELECTED] = { 0.56, 0.56, 0.56 }
-       bg[PRELIGHT] = { 0.56, 0.56, 0.56 }
+       bg[NORMAL] = { 0.60, 0.54, 0.60 }
+       bg[ACTIVE] = { 0.60, 0.54, 0.60 }
+       bg[INSENSITIVE] = { 0.60, 0.54, 0.60 }
+       bg[SELECTED] = { 0.60, 0.54, 0.60 }
+       bg[PRELIGHT] = { 0.60, 0.54, 0.60 }
 }
 
 style "automation_track_controls_base"
index 275c7d7cdcbb22191819a008d794d77e08109b5d..826cb88fbc1625b820b722b547fca3a53af0c567 100644 (file)
@@ -47,6 +47,7 @@
 #include <gtkmm2ext/fastmeter.h>
 #include <gtkmm2ext/stop_signal.h>
 #include <gtkmm2ext/popup.h>
+#include <gtkmm2ext/window_title.h>
 
 #include <midi++/port.h>
 #include <midi++/mmc.h>
@@ -97,7 +98,7 @@ sigc::signal<void,nframes_t> ARDOUR_UI::Clock;
 
 ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], string rcfile)
 
-       : Gtkmm2ext::UI ("ardour", argcp, argvp, rcfile),
+       : Gtkmm2ext::UI (X_("Ardour"), argcp, argvp, rcfile),
          
          primary_clock (X_("primary"), false, X_("TransportClockDisplay"), true, false, true),
          secondary_clock (X_("secondary"), false, X_("SecondaryClockDisplay"), true, false, true),
index 7f0ddeef78f04ea00686229f4b4e714f1c9b3d7f..b6222af99ccf0748e066872a54fd0aabb646138e 100644 (file)
 
 #include <pbd/pathscanner.h>
 
+#include <glibmm/miscutils.h>
+
 #include <gtkmm2ext/utils.h>
+#include <gtkmm2ext/window_title.h>
 
 #include "ardour_ui.h"
 #include "public_editor.h"
@@ -718,7 +721,10 @@ ARDOUR_UI::setup_clock ()
        
        big_clock_window->set_border_width (0);
        big_clock_window->add  (big_clock);
-       big_clock_window->set_title (_("ardour: clock"));
+
+       WindowTitle title(Glib::get_application_name());
+       title += _("Clock");
+       big_clock_window->set_title (title.get_string());
        big_clock_window->set_type_hint (Gdk::WINDOW_TYPE_HINT_MENU);
        big_clock_window->signal_realize().connect (bind (sigc::ptr_fun (set_decoration), big_clock_window,  (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH)));
        big_clock_window->signal_unmap().connect (bind (sigc::ptr_fun(&ActionManager::uncheck_toggleaction), X_("<Actions>/Common/ToggleBigClock")));
index 4f1d0852bdeec14e746966a3e8b6f49eba0d88aa..ff84a44488d1e1a11fae065e1c00968e30c6da1a 100644 (file)
@@ -24,6 +24,7 @@
 #include <ardour/utils.h>
 #include <gtkmm2ext/utils.h>
 #include <gtkmm2ext/stop_signal.h>
+#include <gtkmm2ext/window_title.h>
 #include <cmath>
 
 #include "audio_region_editor.h"
@@ -38,6 +39,7 @@ using namespace ARDOUR;
 using namespace PBD;
 using namespace sigc;
 using namespace std;
+using namespace Gtkmm2ext;
 
 AudioRegionEditor::AudioRegionEditor (Session& s, boost::shared_ptr<AudioRegion> r, AudioRegionView& rv)
        : RegionEditor (s),
@@ -118,9 +120,10 @@ AudioRegionEditor::AudioRegionEditor (Session& s, boost::shared_ptr<AudioRegion>
 
        signal_delete_event().connect (bind (sigc::ptr_fun (just_hide_it), static_cast<Window *> (this)));
 
-       string title = _("ardour: region ");
-       title += _region->name();
-       set_title (title);
+       WindowTitle title(string_compose (_("Region %1"), _region->name()));
+       title += Glib::get_application_name();
+
+       set_title (title.get_string());
 
        show_all();
 
index c3f53d266c5740ea6d119a9ee1bda5852cad1c56..69653c9c99c7ab26d98abb97022d815a1962ea66 100644 (file)
@@ -686,7 +686,7 @@ AutomationTimeAxisView::get_selectables (nframes_t start, nframes_t end, double
                   y_position is the "origin" or "top" of the track.
                */
 
-               double mybot = y_position + height; // XXX need to include Editor::track_spacing; 
+               double mybot = y_position + height;
 
                if (y_position >= top && mybot <= bot) {
 
index 54339b9e3a999e390613bd00f1942d1fd8973244..e7a74880616b0642fcdd912091118f1ccfe266b6 100644 (file)
@@ -299,7 +299,7 @@ gnome_canvas_simplerect_reset_bounds (GnomeCanvasItem *item)
                        double start_y = MIN (item->y2, old_y2);
                        double end_y = MAX (item->y2, old_y2);
 
-                       gnome_canvas_request_redraw (item->canvas, item->x1, start_y - 0.5, item->x2 + 0.5, end_y + 0.5);
+                       gnome_canvas_request_redraw (item->canvas, item->x1, start_y - 0.5, item->x2, end_y + 1.5);
                        return;
 
                } else if (item->y2 == old_y2) {
@@ -309,7 +309,7 @@ gnome_canvas_simplerect_reset_bounds (GnomeCanvasItem *item)
                        double start_y = MIN (item->y1, old_y1);
                        double end_y = MAX (item->y1, old_y1);
 
-                       gnome_canvas_request_redraw (item->canvas, item->x1, start_y - 0.5, item->x2 + 0.5, end_y + 0.5);
+                       gnome_canvas_request_redraw (item->canvas, item->x1, start_y - 0.5, item->x2, end_y + 1.5);
                        return;
 
                }
@@ -324,7 +324,7 @@ gnome_canvas_simplerect_reset_bounds (GnomeCanvasItem *item)
                        double start_x = MIN (item->x2, old_x2);
                        double end_x = MAX (item->x2, old_x2);
 
-                       gnome_canvas_request_redraw (item->canvas, start_x - 0.5, item->y1, end_x + 0.5, item->y2 + 0.5);
+                       gnome_canvas_request_redraw (item->canvas, start_x - 0.5, item->y1, end_x + 1.5, item->y2);
                        return;
 
                } else if (item->x2 == old_x2) {
@@ -334,7 +334,7 @@ gnome_canvas_simplerect_reset_bounds (GnomeCanvasItem *item)
                        double start_x = MIN (item->x1, old_x1);
                        double end_x = MAX (item->x1, old_x1);
 
-                       gnome_canvas_request_redraw (item->canvas, start_x - 0.5, item->y1, end_x + 0.5, item->y2 + 0.5);
+                       gnome_canvas_request_redraw (item->canvas, start_x - 0.5, item->y1, end_x + 1.5, item->y2 + 0.5);
                        return;
 
                }
@@ -352,8 +352,8 @@ gnome_canvas_simplerect_reset_bounds (GnomeCanvasItem *item)
 
        art_drect_union (&unionrect, &old, &new);
        gnome_canvas_request_redraw (item->canvas, 
-                                    unionrect.x0,
-                                    unionrect.y0,
+                                    unionrect.x0 - 0.5,
+                                    unionrect.y0 - 0.5,
                                     unionrect.x1 + 0.5,
                                     unionrect.y1 + 0.5);
 }
index 4df3b4ea11a33ec50945fd540bd3a5c79561a3c4..a56cc5d4e26319c894a243713d49acf7820a9194 100644 (file)
@@ -30,6 +30,7 @@
 #include <pbd/stacktrace.h>
 #include <pbd/memento_command.h>
 
+#include <glibmm/miscutils.h>
 #include <gtkmm/image.h>
 #include <gdkmm/color.h>
 #include <gdkmm/bitmap.h>
@@ -38,6 +39,7 @@
 #include <gtkmm2ext/gtk_ui.h>
 #include <gtkmm2ext/tearoff.h>
 #include <gtkmm2ext/utils.h>
+#include <gtkmm2ext/window_title.h>
 
 #include <ardour/audio_track.h>
 #include <ardour/audio_diskstream.h>
@@ -270,7 +272,6 @@ Editor::Editor ()
        no_route_list_redisplay = false;
        verbose_cursor_on = true;
        route_removal = false;
-       track_spacing = 0;
        show_automatic_regions_in_region_list = true;
        region_list_sort_type = (Editing::RegionListSortType) 0; 
        have_pending_keyboard_selection = false;
@@ -365,12 +366,13 @@ Editor::Editor ()
 
        edit_cursor_clock.ValueChanged.connect (mem_fun(*this, &Editor::edit_cursor_clock_changed));
        
+       time_canvas_vbox.pack_start (*_ruler_separator, false, false);
        time_canvas_vbox.pack_start (*minsec_ruler, false, false);
        time_canvas_vbox.pack_start (*smpte_ruler, false, false);
        time_canvas_vbox.pack_start (*frames_ruler, false, false);
        time_canvas_vbox.pack_start (*bbt_ruler, false, false);
        time_canvas_vbox.pack_start (time_canvas, true, true);
-       time_canvas_vbox.set_size_request (-1, (int)(timebar_height * visible_timebars));
+       time_canvas_vbox.set_size_request (-1, (int)(timebar_height * visible_timebars) + 2);
 
        bbt_label.set_name ("EditorTimeButton");
        bbt_label.set_size_request (-1, (int)timebar_height);
@@ -423,6 +425,9 @@ Editor::Editor ()
        time_button_event_box.set_name ("TimebarLabelBase");
        time_button_event_box.signal_button_release_event().connect (mem_fun(*this, &Editor::ruler_label_button_release));
 
+       time_button_frame.add(time_button_event_box);
+       time_button_frame.property_shadow_type() = Gtk::SHADOW_OUT;
+
        /* these enable us to have a dedicated window (for cursor setting, etc.) 
           for the canvas areas.
        */
@@ -440,7 +445,7 @@ Editor::Editor ()
        
        edit_packer.attach (edit_vscrollbar,         3, 4, 1, 2,    FILL,        FILL|EXPAND, 0, 0);
 
-       edit_packer.attach (time_button_event_box,   1, 2, 0, 1,    FILL,        FILL, 0, 0);
+       edit_packer.attach (time_button_frame,       0, 2, 0, 1,    FILL,        FILL, 0, 0);
        edit_packer.attach (time_canvas_event_box,   2, 3, 0, 1,    FILL|EXPAND, FILL, 0, 0);
 
        edit_packer.attach (controls_layout,         1, 2, 1, 2,    FILL,        FILL|EXPAND, 0, 0);
@@ -709,7 +714,10 @@ Editor::Editor ()
                set_icon_list (window_icons);
                set_default_icon_list (window_icons);
        }
-       set_title (_("ardour: editor"));
+
+       WindowTitle title(Glib::get_application_name());
+       title += _("Editor");
+       set_title (title.get_string());
        set_wmclass (X_("ardour_editor"), "Ardour");
 
        add (vpacker);
@@ -1007,24 +1015,21 @@ Editor::update_title ()
        if (session) {
                bool dirty = session->dirty();
 
-               string wintitle = _("ardour: editor: ");
-
-               if (dirty) {
-                       wintitle += '[';
-               }
-
-               wintitle += session->name();
+               string session_name;
 
                if (session->snap_name() != session->name()) {
-                       wintitle += ':';
-                       wintitle += session->snap_name();
+                       session_name = session->snap_name();
+               } else {
+                       session_name = session->name();
                }
 
                if (dirty) {
-                       wintitle += ']';
+                       session_name = "*" + session_name;
                }
 
-               set_title (wintitle);
+               WindowTitle title(session_name);
+               title += Glib::get_application_name();
+               set_title (title.get_string());
        }
 }
 
@@ -2717,6 +2722,8 @@ Editor::map_transport_state ()
        if (session->transport_stopped()) {
                have_pending_keyboard_selection = false;
        }
+
+       update_loop_range_view (true);
 }
 
 /* UNDO/REDO */
index 2e4b81208b695cc6ed8b1f3f21ff53c6843a1334..2d43de8a8e2f045107408b0e06bf692eb3769135 100644 (file)
@@ -501,6 +501,7 @@ class Editor : public PublicEditor
        Gtk::EventBox      time_canvas_event_box;
        Gtk::EventBox      track_canvas_event_box;
        Gtk::EventBox      time_button_event_box;
+       Gtk::Frame         time_button_frame;
 
        ArdourCanvas::Group      *minsec_group;
        ArdourCanvas::Group      *bbt_group;
@@ -557,6 +558,7 @@ class Editor : public PublicEditor
        gint metric_get_frames (GtkCustomRulerMark **, gdouble, gdouble, gint);
        gint metric_get_minsec (GtkCustomRulerMark **, gdouble, gdouble, gint);
 
+       Gtk::Widget        *_ruler_separator;
        GtkWidget          *_smpte_ruler;
        GtkWidget          *_bbt_ruler;
        GtkWidget          *_frames_ruler;
@@ -803,7 +805,6 @@ class Editor : public PublicEditor
        void named_selection_display_selection_changed ();
 
        /* track views */
-       int track_spacing;
        TrackViewList  track_views;
        TimeAxisView     *trackview_by_y_position (double ypos);
 
index 2d7a7e2435239910d062213ea1b2fcb88241cc0e..abe6534b1b3bb4ff8ae2d1455cc4caefb18b1c97 100644 (file)
@@ -21,6 +21,7 @@
 #include <pbd/basename.h>
 
 #include <gtkmm2ext/choice.h>
+#include <gtkmm2ext/window_title.h>
 
 #include <ardour/session.h>
 #include <ardour/audioplaylist.h>
@@ -48,6 +49,7 @@ using namespace ARDOUR;
 using namespace PBD;
 using namespace sigc;
 using namespace Gtk;
+using namespace Gtkmm2ext;
 using namespace Editing;
 using Glib::ustring;
 
@@ -169,7 +171,7 @@ Editor::do_embed (vector<ustring> paths, bool split, ImportMode mode, AudioTrack
                                                           to_embed.size() > 2 ? _("multichannel") : _("stereo")));
                        choices.push_back (_("Import as multiple regions"));
                        
-                       Gtkmm2ext::Choice chooser (string_compose (_("Paired files detected (%1, %2 ...).\nDo you want to:"),
+                       Choice chooser (string_compose (_("Paired files detected (%1, %2 ...).\nDo you want to:"),
                                                                   to_embed[0],
                                                                   to_embed[1]),
                                                   choices);
@@ -215,7 +217,9 @@ Editor::do_embed (vector<ustring> paths, bool split, ImportMode mode, AudioTrack
 int
 Editor::import_sndfile (vector<ustring> paths, ImportMode mode, AudioTrack* track, nframes_t& pos)
 {
-       interthread_progress_window->set_title (string_compose (_("ardour: importing %1"), paths.front()));
+       WindowTitle title = string_compose (_("importing %1"), paths.front());
+
+       interthread_progress_window->set_title (title.get_string());
        interthread_progress_window->set_position (Gtk::WIN_POS_MOUSE);
        interthread_progress_window->show_all ();
        interthread_progress_bar.set_fraction (0.0f);
index 617e3f4c8ead03a047fc0f6f15fb001b632e7f11..8324e044b345e3c17e0fd2e5c58d004acaea78a3 100644 (file)
@@ -141,33 +141,33 @@ Editor::initialize_canvas ()
        range_marker_group = new ArdourCanvas::Group (*time_canvas.root(), 0.0, timebar_height * 3.0);
        transport_marker_group = new ArdourCanvas::Group (*time_canvas.root(), 0.0, timebar_height * 4.0);
        
-       tempo_bar = new ArdourCanvas::SimpleRect (*tempo_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
+       tempo_bar = new ArdourCanvas::SimpleRect (*tempo_group, 0.0, 0.0, max_canvas_coordinate, timebar_height-1.0);
        tempo_bar->property_fill_color_rgba() = color_map[cTempoBar];
        tempo_bar->property_outline_pixels() = 0;
        
-       meter_bar = new ArdourCanvas::SimpleRect (*meter_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
+       meter_bar = new ArdourCanvas::SimpleRect (*meter_group, 0.0, 0.0, max_canvas_coordinate, timebar_height-1.0);
        meter_bar->property_fill_color_rgba() = color_map[cMeterBar];
        meter_bar->property_outline_pixels() = 0;
        
-       marker_bar = new ArdourCanvas::SimpleRect (*marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
+       marker_bar = new ArdourCanvas::SimpleRect (*marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height-1.0);
        marker_bar->property_fill_color_rgba() = color_map[cMarkerBar];
        marker_bar->property_outline_pixels() = 0;
        
-       range_marker_bar = new ArdourCanvas::SimpleRect (*range_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
+       range_marker_bar = new ArdourCanvas::SimpleRect (*range_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height-1.0);
        range_marker_bar->property_fill_color_rgba() = color_map[cRangeMarkerBar];
        range_marker_bar->property_outline_pixels() = 0;
        
-       transport_marker_bar = new ArdourCanvas::SimpleRect (*transport_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
+       transport_marker_bar = new ArdourCanvas::SimpleRect (*transport_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height-1.0);
        transport_marker_bar->property_fill_color_rgba() = color_map[cTransportMarkerBar];
        transport_marker_bar->property_outline_pixels() = 0;
        
-       range_bar_drag_rect = new ArdourCanvas::SimpleRect (*range_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
+       range_bar_drag_rect = new ArdourCanvas::SimpleRect (*range_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height-1.0);
        range_bar_drag_rect->property_fill_color_rgba() = color_map[cRangeDragBarRectFill];
        range_bar_drag_rect->property_outline_color_rgba() = color_map[cRangeDragBarRect];
        range_bar_drag_rect->property_outline_pixels() = 0;
        range_bar_drag_rect->hide ();
        
-       transport_bar_drag_rect = new ArdourCanvas::SimpleRect (*transport_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
+       transport_bar_drag_rect = new ArdourCanvas::SimpleRect (*transport_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height-1.0);
        transport_bar_drag_rect ->property_fill_color_rgba() = color_map[cTransportDragRectFill];
        transport_bar_drag_rect->property_outline_color_rgba() = color_map[cTransportDragRect];
        transport_bar_drag_rect->property_outline_pixels() = 0;
@@ -321,14 +321,9 @@ Editor::track_canvas_size_allocated ()
                for (i = track_views.begin(); i != track_views.end(); ++i) {
                        if ((*i)->control_parent) {
                                height += (*i)->effective_height;
-                               height += track_spacing;
                        }
                }
                
-               if (height) {
-                       height -= track_spacing;
-               }
-
                full_canvas_height = height;
        }
 
@@ -391,7 +386,6 @@ Editor::reset_scrolling_region (Gtk::Allocation* alloc)
                TimeAxisView *tv = (*i)[route_display_columns.tv];
                if (tv != 0 && !tv->hidden()) {
                        pos += tv->effective_height;
-                       pos += track_spacing;
                }
        }
 
@@ -416,7 +410,6 @@ Editor::controls_layout_size_request (Requisition* req)
                TimeAxisView *tv = (*i)[route_display_columns.tv];
                if (tv != 0) {
                        pos += tv->effective_height;
-                       pos += track_spacing;
                }
        }
 
index 06e99d0fbbe334721ee1accd61f6a7bd11e94c1d..f306c185f58b161d62ab6c87f0893ad44c4a9c1f 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <libgnomecanvas/libgnomecanvas.h>
 #include <gtkmm2ext/gtk_ui.h>
+#include <gtkmm2ext/window_title.h>
 
 #include <ardour/location.h>
 #include <pbd/memento_command.h>
@@ -43,6 +44,7 @@ using namespace sigc;
 using namespace ARDOUR;
 using namespace PBD;
 using namespace Gtk;
+using namespace Gtkmm2ext;
 
 void
 Editor::clear_marker_display ()
@@ -856,13 +858,16 @@ Editor::marker_menu_rename ()
        string txt;
 
        dialog.set_prompt (_("New Name:"));
-       
+
+       WindowTitle title(Glib::get_application_name());
        if (loc->is_mark()) {
-               dialog.set_title (_("ardour: rename mark"));
+               title += _("Rename Mark");
        } else {
-               dialog.set_title (_("ardour: rename range"));
+               title += _("Rename Range");
        }
 
+       dialog.set_title(title.get_string());
+
        dialog.set_name ("MarkRenameWindow");
        dialog.set_size_request (250, -1);
        dialog.set_position (Gtk::WIN_POS_MOUSE);
@@ -976,8 +981,8 @@ Editor::update_loop_range_view (bool visibility)
                if (visibility) {
                        transport_loop_range_rect->show();
                }
-       }
-       else if (visibility) {
+
+       else if (visibility) {
                transport_loop_range_rect->hide();
        }
 }
index cf0f831fa893462f903f876bfc872a915f416158..de8e6b60dcd71a00e7c127d221ad6516ce9fd5b6 100644 (file)
@@ -17,7 +17,9 @@
 
 */
 
+#include <glibmm/miscutils.h>
 #include <gtkmm2ext/utils.h>
+#include <gtkmm2ext/window_title.h>
 #include <ardour/audioengine.h>
 
 #include "editor.h"
@@ -29,6 +31,8 @@
 
 #include "i18n.h"
 
+using namespace Gtkmm2ext;
+
 void
 Editor::editor_mixer_button_toggled ()
 {
@@ -344,7 +348,10 @@ Editor::session_going_away ()
 
        current_mixer_strip = 0;
 
-       set_title (_("ardour: editor"));
+       WindowTitle title(Glib::get_application_name());
+       title += _("Editor");
+
+       set_title (title.get_string());
 
        session = 0;
 }
index fbf384ace95dc20a64a8d58241a0647f4897306a..279483243b910eaef500f1cf114b0165030b558b 100644 (file)
@@ -31,6 +31,7 @@
 
 #include <gtkmm2ext/utils.h>
 #include <gtkmm2ext/choice.h>
+#include <gtkmm2ext/window_title.h>
 
 #include <ardour/audioengine.h>
 #include <ardour/session.h>
@@ -67,6 +68,7 @@ using namespace ARDOUR;
 using namespace PBD;
 using namespace sigc;
 using namespace Gtk;
+using namespace Gtkmm2ext;
 using namespace Editing;
 
 /***********************************************************************
@@ -1763,7 +1765,10 @@ Editor::rename_region ()
                return;
        }
 
-       dialog.set_title (_("ardour: rename region"));
+       WindowTitle title(Glib::get_application_name());
+       title += _("Rename Region");
+
+       dialog.set_title (title.get_string());
        dialog.set_name ("RegionRenameWindow");
        dialog.set_size_request (300, -1);
        dialog.set_position (Gtk::WIN_POS_MOUSE);
@@ -2526,8 +2531,10 @@ Editor::freeze_route ()
        if (interthread_progress_window == 0) {
                build_interthread_progress_window ();
        }
-       
-       interthread_progress_window->set_title (_("ardour: freeze"));
+
+       WindowTitle title(Glib::get_application_name());
+       title += _("Freeze");
+       interthread_progress_window->set_title (title.get_string());
        interthread_progress_window->set_position (Gtk::WIN_POS_MOUSE);
        interthread_progress_window->show_all ();
        interthread_progress_bar.set_fraction (0.0f);
index 5c97685ee8b1fc989f8adbe35cd8093ccee1c9a8..36f2ed59c89b0f8222e76a3eb69380e91927fda5 100644 (file)
@@ -268,7 +268,6 @@ Editor::redisplay_route_list ()
                if (visible) {
                        tv->set_marked_for_display (true);
                        position += tv->show_at (position, n, &edit_controls_vbox);
-                       position += track_spacing;
                } else {
                        tv->hide ();
                }
index 9cf09d0acec10db2a2de5c8bd596b2bb82bcb704..577d62c52afe9d45cbb82412ecb4753ecc8e5072 100644 (file)
@@ -55,6 +55,10 @@ Editor::initialize_rulers ()
        ruler_editor = this;
        ruler_grabbed_widget = 0;
        
+       _ruler_separator = new Gtk::HSeparator();
+       _ruler_separator->set_size_request(-1, 2);
+       _ruler_separator->show();
+
        _smpte_ruler = gtk_custom_hruler_new ();
        smpte_ruler = Glib::wrap (_smpte_ruler);
        smpte_ruler->set_name ("SMPTERuler");
@@ -601,6 +605,7 @@ Editor::update_ruler_visibility ()
        frames_ruler->signal_motion_notify_event().connect (mem_fun(*this, &Editor::ruler_mouse_motion));
        minsec_ruler->signal_motion_notify_event().connect (mem_fun(*this, &Editor::ruler_mouse_motion));
 
+       ruler_children.insert (canvaspos, Element(*_ruler_separator, PACK_SHRINK, PACK_START));
        
        if (ruler_shown[ruler_metric_minsec]) {
                lab_children.push_back (Element(minsec_label, PACK_SHRINK, PACK_START));
@@ -626,7 +631,7 @@ Editor::update_ruler_visibility ()
                visible_timebars++;
        }
 
-       double tbpos = 0.0;
+       double tbpos = 1.0;
        double old_unit_pos ;
        
        if (ruler_shown[ruler_time_meter]) {
@@ -708,7 +713,7 @@ Editor::update_ruler_visibility ()
        tempo_map_changed(Change (0), false);
 
        time_canvas_event_box.show_all();
-       time_button_event_box.show_all();
+       time_button_frame.show_all();
 }
 
 void
index 45cc42b11c54c0866c097b466990d87dc020ea81..2efdc03f8fdca0c723997ea380732ed01ef2b7e8 100644 (file)
@@ -26,6 +26,8 @@
 #include <pbd/pthread_utils.h>
 #include <pbd/memento_command.h>
 
+#include <gtkmm2ext/window_title.h>
+
 #include "editor.h"
 #include "audio_time_axis.h"
 #include "audio_region_view.h"
@@ -44,6 +46,7 @@ using namespace ARDOUR;
 using namespace PBD;
 using namespace sigc;
 using namespace Gtk;
+using namespace Gtkmm2ext;
 
 Editor::TimeStretchDialog::TimeStretchDialog (Editor& e)
        : ArdourDialog ("time stretch dialog"),
@@ -53,9 +56,12 @@ Editor::TimeStretchDialog::TimeStretchDialog (Editor& e)
 {
        set_modal (true);
        set_position (Gtk::WIN_POS_MOUSE);
-       set_title (_("ardour: timestretch"));
        set_name (N_("TimeStretchDialog"));
 
+       WindowTitle title(Glib::get_application_name());
+       title += _("Timestretch");
+       set_title(title.get_string());
+
        get_vbox()->set_spacing (5);
        get_vbox()->set_border_width (5);
        get_vbox()->pack_start (upper_button_box);
index bd5292032b109f6e9cc242592666156a85631340..c903c1e799c407925c376ebd7e634b3365ae72ad 100644 (file)
@@ -29,6 +29,8 @@
 #include <pbd/xml++.h>
 
 #include <gtkmm2ext/utils.h>
+#include <gtkmm2ext/window_title.h>
+
 #include <ardour/export.h>
 #include <ardour/sndfile_helpers.h>
 #include <ardour/audio_track.h>
@@ -51,6 +53,7 @@ using namespace ARDOUR;
 using namespace PBD;
 using namespace sigc;
 using namespace Gtk;
+using namespace Gtkmm2ext;
 
 using PBD::internationalize;
 
@@ -119,8 +122,11 @@ ExportDialog::ExportDialog(PublicEditor& e)
        track_and_master_selection_allowed = true;
        channel_count_selection_allowed = true;
        export_cd_markers_allowed = true;
+
+       WindowTitle title(Glib::get_application_name());
+       title += _("Export");
        
-       set_title (_("ardour: export"));
+       set_title (title.get_string());
        set_wmclass (X_("ardour_export"), "Ardour");
        set_name ("ExportWindow");
        add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);
index e13366fd12d6a66b0a57944736a121451f94c640..faf986a2d19cc6bf363a12ae466fac4612aed73f 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <gtkmm2ext/utils.h>
 #include <gtkmm2ext/stop_signal.h>
+#include <gtkmm2ext/window_title.h>
 
 #include <ardour/utils.h>
 #include <ardour/configuration.h>
@@ -566,13 +567,16 @@ LocationEditRow::flags_changed (ARDOUR::Location *loc, void *src)
 }
 
 LocationUI::LocationUI ()
-       : ArdourDialog ("location dialog"),
+       : ArdourDialog ("locations dialog"),
          add_location_button (_("Add New Location")),
          add_range_button (_("Add New Range"))
 {
        i_am_the_modifier = 0;
+       
+       WindowTitle title(Glib::get_application_name());
+       title += _("Locations");
 
-       set_title(_("ardour: locations"));
+       set_title(title.get_string());
        set_wmclass(X_("ardour_locations"), "Ardour");
 
        set_name ("LocationWindow");
index d1089e48e6ab2e2c700da392d92bf02f082bd4d7..cbd9cfe0838e1c765e1da60f3e5912a766658b47 100644 (file)
@@ -28,6 +28,7 @@
 #include <gtkmm2ext/gtk_ui.h>
 #include <gtkmm2ext/utils.h>
 #include <gtkmm2ext/stop_signal.h>
+#include <gtkmm2ext/window_title.h>
 
 #include <ardour/session.h>
 #include <ardour/audio_track.h>
@@ -201,7 +202,11 @@ Mixer_UI::Mixer_UI ()
 
        add (global_vpacker);
        set_name ("MixerWindow");
-       set_title (_("ardour: mixer"));
+       
+       WindowTitle title(Glib::get_application_name());
+       title += _("Mixer");
+       set_title (title.get_string());
+
        set_wmclass (X_("ardour_mixer"), "Ardour");
 
        add_accel_group (ActionManager::ui_manager->get_accel_group());
@@ -353,9 +358,11 @@ Mixer_UI::connect_to_session (Session* sess)
        XMLNode* node = ARDOUR_UI::instance()->mixer_settings();
        set_state (*node);
 
-       string wintitle = _("ardour: mixer: ");
-       wintitle += session->name();
-       set_title (wintitle);
+       WindowTitle title(session->name());
+       title += _("Mixer");
+       title += Glib::get_application_name();
+
+       set_title (title.get_string());
 
        initial_track_display ();
 
@@ -382,7 +389,11 @@ Mixer_UI::disconnect_from_session ()
        
        group_model->clear ();
        _selection.clear ();
-       set_title (_("ardour: mixer"));
+
+       WindowTitle title(Glib::get_application_name());
+       title += _("Mixer");
+       set_title (title.get_string());
+       
        stop_updating ();
 }
 
index 4875ff835a2aa1a3763b6a487a49166bc1e2dfbd..74ff9d022c24de8ddf995e9bec330c5a01afe0dc 100644 (file)
 #include <gtkmm/stock.h>
 #include <gdkmm/cursor.h>
 
+#include <gtkmm2ext/window_title.h>
+
+using namespace Gtkmm2ext;
+
 #include "opts.h"
 
 NewSessionDialog::NewSessionDialog()
        : ArdourDialog ("session control")
 {
-        session_name_label = Gtk::manage(new class Gtk::Label(_("Name :")));
+       session_name_label = Gtk::manage(new class Gtk::Label(_("Name :")));
        m_name = Gtk::manage(new class Gtk::Entry());
        m_name->set_text(GTK_ARDOUR::session_name);
 
@@ -338,7 +342,11 @@ NewSessionDialog::NewSessionDialog()
        get_vbox()->set_homogeneous(false);
        get_vbox()->set_spacing(0);
        get_vbox()->pack_start(*m_notebook, Gtk::PACK_SHRINK, 0);
-       set_title(_("ardour: session control"));
+
+       WindowTitle title(Glib::get_application_name());
+       title += _("Session Control");
+       set_title(title.get_string());
+
        //set_modal(false);
        //property_window_position().set_value(Gtk::WIN_POS_NONE);
        set_resizable(false);
index 5dd972719337f5ba25b1708b61de00c811046c1b..ad34e8ed0b38449ad117cff0686e1e7c7e4365d4 100644 (file)
@@ -28,6 +28,7 @@
 #include <midi++/manager.h>
 #include <gtkmm2ext/stop_signal.h>
 #include <gtkmm2ext/utils.h>
+#include <gtkmm2ext/window_title.h>
 
 #include "public_editor.h"
 #include "keyboard.h"
@@ -52,7 +53,7 @@ using namespace std;
 static vector<string> positional_sync_strings;
 
 OptionEditor::OptionEditor (ARDOUR_UI& uip, PublicEditor& ed, Mixer_UI& mixui)
-       : Dialog ("option editor"),
+       : Dialog ("options editor"),
          ui (uip),
          editor (ed),
          mixer (mixui),
@@ -97,9 +98,12 @@ OptionEditor::OptionEditor (ARDOUR_UI& uip, PublicEditor& ed, Mixer_UI& mixui)
        click_io_selector = 0;
        auditioner_io_selector = 0;
        session = 0;
+       
+       WindowTitle title(Glib::get_application_name());
+       title += _("Options Editor");
+       set_title(title.get_string());
 
        set_default_size (300, 300);
-       set_title (_("ardour: options editor"));
        set_wmclass (X_("ardour_option_editor"), "Ardour");
 
        set_name ("OptionsWindow");
index 0ee99d141368cdc7906db1e81e09c2261ce8d907..40f837eb5ef1a7d4e35b9c99a3a63915e49dd1b9 100644 (file)
@@ -28,6 +28,7 @@
 #include <ardour/configuration.h>
 
 #include <gtkmm2ext/gtk_ui.h>
+#include <gtkmm2ext/window_title.h>
 
 #include "playlist_selector.h"
 #include "route_ui.h"
@@ -38,6 +39,7 @@
 using namespace std;
 using namespace sigc;
 using namespace Gtk;
+using namespace Gtkmm2ext;
 using namespace ARDOUR;
 using namespace PBD;
 
@@ -48,11 +50,14 @@ PlaylistSelector::PlaylistSelector ()
        
        set_position (WIN_POS_MOUSE);
        set_name ("PlaylistSelectorWindow");
-       set_title (_("ardour: playlists"));
        set_modal(true);
        add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);
        set_size_request (300, 200);
 
+       WindowTitle title(Glib::get_application_name());
+       title += _("Playlists");
+       set_title(title.get_string());
+
        model = TreeStore::create (columns);
        tree.set_model (model);
        tree.append_column (_("Playlists grouped by track"), columns.text);
@@ -103,10 +108,9 @@ PlaylistSelector::show_for (RouteUI* ruix)
 
        rui = ruix;
 
-       str = _("ardour: playlist for ");
-       str += rui->route()->name();
-
-       set_title (str);
+       WindowTitle title(Glib::get_application_name());
+       title += string_compose (_("Playlist for %1"), rui->route()->name());
+       set_title (title.get_string());
 
        clear_map ();
        select_connection.disconnect ();
index 63d3ec9d8ee47438f22e3193fdb1c18774952190..6ef254dbb58bbcc213ad344494ef233c5de54c27 100644 (file)
@@ -24,6 +24,8 @@
 
 #include <pbd/convert.h>
 
+#include <glibmm/miscutils.h>
+
 #include <gtkmm/messagedialog.h>
 
 #include <gtkmm2ext/gtk_ui.h>
@@ -32,6 +34,7 @@
 #include <gtkmm2ext/utils.h>
 #include <gtkmm2ext/stop_signal.h>
 #include <gtkmm2ext/doi.h>
+#include <gtkmm2ext/window_title.h>
 
 #include <ardour/ardour.h>
 #include <ardour/session.h>
@@ -1008,11 +1011,12 @@ RedirectBox::edit_redirect (boost::shared_ptr<Redirect> redirect)
                
                if (send->get_gui() == 0) {
                        
-                       string title;
-                       title = string_compose(_("ardour: %1"), send->name());  
-                       
                        send_ui = new SendUIWindow (send, _session);
-                       send_ui->set_title (title);
+
+                       WindowTitle title(Glib::get_application_name());
+                       title += send->name();
+                       send_ui->set_title (title.get_string());
+
                        send->set_gui (send_ui);
                        
                } else {
@@ -1049,7 +1053,10 @@ RedirectBox::edit_redirect (boost::shared_ptr<Redirect> redirect)
                                                ARDOUR_UI::instance()->the_editor().ensure_float (*plugin_ui);
                                        }
 
-                                       plugin_ui->set_title (generate_redirect_title (plugin_insert));
+                                       WindowTitle title(Glib::get_application_name());
+                                       title += generate_redirect_title (plugin_insert);
+                                       plugin_ui->set_title (title.get_string());
+
                                        plugin_insert->set_gui (plugin_ui);
                                        
                                        // change window title when route name is changed
@@ -1317,8 +1324,12 @@ RedirectBox::route_name_changed (void* src, PluginUIWindow* plugin_ui, boost::we
 {
        ENSURE_GUI_THREAD(bind (mem_fun (*this, &RedirectBox::route_name_changed), src, plugin_ui, wpi));
        boost::shared_ptr<PluginInsert> pi (wpi.lock());
+       
+
        if (pi) {
-               plugin_ui->set_title (generate_redirect_title (pi));
+               WindowTitle title(Glib::get_application_name());
+               title += generate_redirect_title (pi);
+               plugin_ui->set_title (title.get_string());
        }
 }
 
@@ -1337,6 +1348,6 @@ RedirectBox::generate_redirect_title (boost::shared_ptr<PluginInsert> pi)
                maker += " ...";
        }
 
-       return string_compose(_("ardour: %1: %2 (by %3)"), _route->name(), pi->name(), maker);  
+       return string_compose(_("%1: %2 (by %3)"), _route->name(), pi->name(), maker);  
 }
 
index 386815ea27e69320c39aef328a8195f8998c1c7b..8d125a566d81fb07574e176b5cc98e45894c3051 100644 (file)
@@ -22,6 +22,7 @@
 #include <glibmm/thread.h>
 #include <gtkmm2ext/utils.h>
 #include <gtkmm2ext/stop_signal.h>
+#include <gtkmm2ext/window_title.h>
 
 #include <ardour/session.h>
 #include <ardour/session_route.h>
@@ -53,6 +54,7 @@
 using namespace ARDOUR;
 using namespace PBD;
 using namespace Gtk;
+using namespace Gtkmm2ext;
 using namespace sigc;
 
 RouteParams_UI::RouteParams_UI ()
@@ -135,9 +137,12 @@ RouteParams_UI::RouteParams_UI ()
        
        set_name ("RouteParamsWindow");
        set_default_size (620,370);
-       set_title (_("ardour: track/bus inspector"));
        set_wmclass (X_("ardour_route_parameters"), "Ardour");
 
+       WindowTitle title(Glib::get_application_name());
+       title += _("Track/Bus Inspector"); 
+       set_title (title.get_string());
+
        // events
        route_display.get_selection()->signal_changed().connect(mem_fun(*this, &RouteParams_UI::route_selected));
        route_display.get_column(0)->signal_clicked().connect(mem_fun(*this, &RouteParams_UI::show_track_menu));
@@ -650,29 +655,33 @@ RouteParams_UI::redirect_going_away (boost::shared_ptr<ARDOUR::Redirect> redirec
 void
 RouteParams_UI::update_title ()
 {
-       if (_route) {
-               string title;
-               title += _route->name();
-//             title += ": ";
-
-//             if (_redirect && (_current_view == PLUGIN_CONFIG_VIEW || _current_view == SEND_CONFIG_VIEW)) {
-//                     title += _redirect->name();
-//             }
-//             else if (_current_view == INPUT_CONFIG_VIEW) {
-//                     title += _("INPUT");
-//             }
-//             else if (_current_view == OUTPUT_CONFIG_VIEW) {
-//                     title += _("OUTPUT");
-//             }
+       WindowTitle title(Glib::get_application_name());
+       title += _("Track/Bus Inspector");
+
+       if (_route) {
+
+               //              title += ": ";
+
+               //              if (_redirect && (_current_view == PLUGIN_CONFIG_VIEW || _current_view == SEND_CONFIG_VIEW)) {
+               //                      title += _redirect->name();
+               //              }
+               //              else if (_current_view == INPUT_CONFIG_VIEW) {
+               //                      title += _("INPUT");
+               //              }
+               //              else if (_current_view == OUTPUT_CONFIG_VIEW) {
+               //                      title += _("OUTPUT");
+               //              }
+
+               title_label.set_text(_route->name());
                
-               title_label.set_text(title);
+               title += _route->name();
 
-               title = _("ardour: track/bus inspector: ") + title;
-               set_title(title);
+               set_title(title.get_string());
        }
        else {
                title_label.set_text(_("No Route Selected"));
-               set_title(_("ardour: track/bus/inspector: no route selected"));
+               title += _("No Route Selected");
+               set_title(title.get_string());
        }       
 }
 
index a0267d7e862aca50fbbc52e45fd82f326feeb3c5..dbc5efc462652e952b782f1fe94591d42e242109 100644 (file)
@@ -147,7 +147,7 @@ TimeAxisView::TimeAxisView (ARDOUR::Session& sess, PublicEditor& ed, TimeAxisVie
 
        controls_frame.add (controls_hbox);
        controls_frame.set_name ("TimeAxisViewControlsBaseUnselected");
-       controls_frame.set_shadow_type (Gtk::SHADOW_OUT);
+       controls_frame.set_shadow_type (Gtk::SHADOW_ETCHED_OUT);
 
        ColorChanged.connect (mem_fun (*this, &TimeAxisView::color_handler));
 }
@@ -233,7 +233,7 @@ TimeAxisView::show_at (double y, int& nth, VBox *parent)
                
                if (canvas_item_visible ((*i)->canvas_display)) {
                        ++nth;
-                       effective_height += (*i)->show_at (y + 1 + effective_height, nth, parent);
+                       effective_height += (*i)->show_at (y + effective_height, nth, parent);
                }
        }
 
@@ -361,7 +361,7 @@ void
 TimeAxisView::set_height_pixels (uint32_t h)
 {
        height = h;
-       controls_frame.set_size_request (-1, height);
+       controls_frame.set_size_request (-1, height + ((order == 0) ? 1 : 0));
 
        if (canvas_item_visible (selection_group)) {
                /* resize the selection rect */
@@ -846,7 +846,7 @@ TimeAxisView::touched (double top, double bot)
           y_position is the "origin" or "top" of the track.
         */
 
-       double mybot = y_position + height; // XXX need to include Editor::track_spacing; 
+       double mybot = y_position + height;
        
        return ((y_position <= bot && y_position >= top) || 
                ((mybot <= bot) && (top < mybot)) ||