more fixes

git-svn-id: svn://localhost/trunk/ardour2@172 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2005-12-06 06:23:50 +00:00
parent 79650335d1
commit 32664137bd
10 changed files with 102 additions and 151 deletions

View File

@ -194,30 +194,27 @@ ActionManager::get_widget (ustring name)
RefPtr<Action>
ActionManager::get_action (ustring name)
{
// ListHandle<RefPtr<ActionGroup> > uim_groups = ui_manager->get_action_groups ();
/* the C++ API for functions used here appears to be broken in
gtkmm2.6, so we fall back to the C level.
*/
GList* list = gtk_ui_manager_get_action_groups (ui_manager->gobj());
GList* node;
RefPtr<Action> act;
if (name.substr (0,9) != "<Actions>") {
cerr << "badly specified action name" << endl;
error << "badly specified action name: " << name << endmsg;
return act;
}
ustring::size_type last_slash = name.find_last_of ('/');
ustring group_name = name.substr (10, last_slash - 10);
cerr << "group name = " << group_name << endl;
ustring action_name = name.substr (last_slash+1);
cerr << "action name = " << action_name << endl;
cerr << "there are " << g_list_length (list) << " action roups\n";
for (node = list; node; node = g_list_next (node)) {
GtkActionGroup* _ag = (GtkActionGroup*) node->data;
cerr << "\tchecking in " << gtk_action_group_get_name (_ag) << endl;
if (group_name == gtk_action_group_get_name (_ag)) {
GtkAction* _act;

View File

@ -6,6 +6,8 @@
<menuitem action='Open'/>
<menuitem action='Recent'/>
<menuitem action='Close'/>
<separator/>
<menuitem action='Save'/>
<menuitem action='Snapshot'/>
<menuitem action='SaveTemplate'/>
<separator/>
@ -23,6 +25,15 @@
<separator/>
<menuitem action='Quit'/>
</menu>
<menu name='Transport' action='JACK'>
<menuitem action='toggle-playback'/>
<menuitem action='TransportRoll'/>
<menuitem action='TransportStop'/>
<menuitem action='TransportForward'/>
<menuitem action='TransportRewind'/>
<menuitem action='TransportGotoStart'/>
<menuitem action='TransportGotoEnd'/>
</menu>
<menu name='JACK' action='JACK'>
<menuitem action='JACKDisconnect'/>
<menuitem action='JACKReconnect'/>

View File

@ -1,4 +1,11 @@
this file is an automated accelerator map dump
; this file is an automated accelerator map dump
(gtk_accel_path "<Actions>/Common/Quit" "<Control>q")
(gtk_accel_path "<Actions>/Common/Save" "<Control>s")
(gtk_accel_path "<Actions>/Editor/toggle-playback" "space")
(gtk_accel_path "<Actions>/Common/TransportForward" "Right")
(gtk_accel_path "<Actions>/Common/TransportRewind" "Left")
(gtk_accel_path "<Actions>/Common/TransportRecord" "R")
(gtk_accel_path "<Actions>/Common/TransportGotoStart" "<Control>a")
(gtk_accel_path "<Actions>/Common/TransportGotoEnd" "<Control>e")

View File

@ -5,27 +5,27 @@
style "very_small_text"
{
font_name = "helvetica 8"
font_name = "sans 8"
}
style "small_text"
{
font_name = "helvetica 8"
font_name = "sans 8"
}
style "small_bold_text"
{
font_name = "helvetica bold 8"
font_name = "sans bold 8"
}
style "medium_bold_text"
{
font_name = "helvetica bold 8"
font_name = "sans bold 8"
}
style "medium_text"
{
font_name = "helvetica 8"
font_name = "sans 8"
}
style "red_medium_text" = "medium_text"
@ -38,46 +38,46 @@ style "red_medium_text" = "medium_text"
style "large_text"
{
font_name = "helvetica 18"
font_name = "sans 18"
}
style "larger_bold_text"
{
font_name = "helvetica bold 14"
font_name = "sans bold 14"
}
style "plugin_name_text"
{
font_name = "helvetica bold 25"
font_name = "sans bold 25"
fg[NORMAL] = { 0.80, 0.80, 0.70 }
}
style "plugin_maker_text"
{
font_name = "helvetica bold 14"
font_name = "sans bold 14"
fg[NORMAL] = { 0.80, 0.80, 0.70 }
}
style "first_action_message"
{
font_name = "helvetica medium 34"
font_name = "sans medium 34"
}
style "verbose_canvas_cursor"
{
font="-*-helvetica-medium-r-*-*-*-240-*-*-*-*-*-*"
fontset="-*-helvetica-medium-r-*-*-*-240-*-*-*-*-*-*"
font="-*-sans-medium-r-*-*-*-240-*-*-*-*-*-*"
fontset="-*-sans-medium-r-*-*-*-240-*-*-*-*-*-*"
}
style "marker_text"
{
font_name = "helvetica 8"
font_name = "sans 8"
}
style "time_axis_view_item_name"
{
font="-*-helvetica-medium-r-normal-*-*-100-*-*-p-*-*-1"
fontset="-*-helvetica-medium-r-normal-*-*-100-*-*-p-*-*-1"
font="-*-sans-medium-r-normal-*-*-100-*-*-p-*-*-1"
fontset="-*-sans-medium-r-normal-*-*-100-*-*-p-*-*-1"
}
style "default_base" = "medium_text"
@ -130,7 +130,7 @@ style "black_mackie_menu_bar" = "medium_bold_text"
style "default_buttons_menus" = "default_base"
{
font_name = "helvetica 8"
font_name = "sans 8"
fg[ACTIVE] = { 0, 0, 0 }
@ -143,12 +143,12 @@ style "default_buttons_menus" = "default_base"
style "very_small_button" = "default_buttons_menus"
{
font_name = "helvetica 8"
font_name = "sans 8"
}
style "small_button" = "default_buttons_menus"
{
font_name = "helvetica 8"
font_name = "sans 8"
}
style "very_small_red_active_and_selected_button" = "very_small_button"
@ -177,7 +177,7 @@ style "track_rec_enable_button" = "small_button"
style "mixer_rec_enable_button" = "track_rec_enable_button"
{
font_name = "helvetica 8"
font_name = "sans 8"
}
style "solo_button" = "small_button"
@ -191,7 +191,7 @@ style "solo_button" = "small_button"
style "mixer_solo_button" = "solo_button"
{
font_name = "helvetica 8"
font_name = "sans 8"
}
@ -205,7 +205,7 @@ style "mute_button" = "small_button"
style "mixer_mute_button" = "mute_button"
{
font_name = "helvetica 8"
font_name = "sans 8"
}
style "track_loop_button" = "small_button"
@ -226,7 +226,7 @@ style "mixer_red_active_button" = "very_small_button"
style "time_button" = "default_buttons_menus"
{
font_name = "helvetica 8"
font_name = "sans 8"
}
style "transport_button" = "very_small_button"
@ -271,7 +271,7 @@ style "ardour_progressbars" = "default_buttons_menus"
style "options_window" = "default_base"
{
font_name = "helvetica 8"
font_name = "sans 8"
fg[PRELIGHT] = { 0.80, 0.80, 0.70 }
}
@ -298,7 +298,7 @@ style "red_when_active" = "medium_text"
style "xrun_warn"
{
font_name = "helvetica bold 18"
font_name = "sans bold 18"
fg[NORMAL] = { 1.0, 1.0, 1.0 }
fg[ACTIVE] = { 1.0, 1.0, 1.0 }
@ -440,7 +440,7 @@ style "big_clock_display" = "medium_entry"
style "transport_clock_display"
{
font_name = "helvetica bold 18"
font_name = "sans bold 18"
fg[NORMAL] = { 0.66, 0.97, 0.18 }
fg[ACTIVE] = { 1.0, 0, 0.0 }
@ -456,7 +456,7 @@ style "transport_clock_display"
style "tempo_meter_clock_display"
{
font_name = "helvetica 8"
font_name = "sans 8"
fg[NORMAL] = { 1.0, 1.0, 1.0 }
fg[ACTIVE] = { 1.0, 1.0, 0.0 }
fg[SELECTED] = { 1.0, 0, 0 }
@ -503,7 +503,7 @@ style "audio_bus_base"
style "track_name_display"
{
font = "-*-helvetica-medium-r-*-*-*-100-*-*-*-*-*-*"
font = "-*-sans-medium-r-*-*-*-100-*-*-*-*-*-*"
fg[NORMAL] = { 0.80, 0.80, 0.70 }
fg[ACTIVE] = { 0.80, 0.80, 0.70 }
@ -623,8 +623,8 @@ style "automation_track_controls_base"
# Plugin Editors
style "plugin_slider"
{
fontset="-*-helvetica-medium-r-normal-*-10-*-*-*-p-*-*-*"
font ="-*-helvetica-medium-r-normal-*-*-100-*-*-p-*-*"
fontset="-*-sans-medium-r-normal-*-10-*-*-*-p-*-*-*"
font ="-*-sans-medium-r-normal-*-*-100-*-*-p-*-*"
fg[NORMAL] = { 0.45, 0.45, 0.45 }
fg[ACTIVE] = { 0.45, 0.45, 0.45 }
@ -733,7 +733,7 @@ style "io_selector_port_list" = "medium_text"
style "io_selector_notebook" = "default_base"
{
fg[NORMAL] = { 0.98, 0.76, 0.14 }
font ="-*-helvetica-bold-r-normal-*-*-140-*-*-p-*-*"
font ="-*-sans-bold-r-normal-*-*-140-*-*-p-*-*"
}
style "tearoff_arrow" = "medium_bold_entry"
@ -750,22 +750,22 @@ style "meter_metrics_strip" = "default_base"
style "no_session_msg"
{
font = "-*-helvetica-medium-r-*-*-34-350-*-*-*-*-*-*"
font = "-*-sans-medium-r-*-*-34-350-*-*-*-*-*-*"
}
style "location_row_button" = "default_buttons_menus"
{
font_name = "helvetica 10"
font_name = "sans 10"
}
style "location_rows_clock" = "default_clock_display"
{
font_name = "helvetica 12"
font_name = "sans 12"
}
style "pan_slider"
{
font_name = "helvetica 8"
font_name = "sans 8"
fg[NORMAL] = { 0.67, 0.23, 0.22 }
fg[ACTIVE] = { 0.67, 0.23, 0.22 }

View File

@ -928,8 +928,19 @@ ARDOUR_UI::set_engine (AudioEngine& e)
}
if (GTK_ARDOUR::show_key_actions) {
// GTK2FIX
// show_all_actions ();
vector<string> names;
vector<string> paths;
vector<string> keys;
vector<AccelKey> bindings;
ActionManager::get_all_actions (names, paths, keys, bindings);
vector<string>::iterator n;
vector<string>::iterator k;
for (n = names.begin(), k = keys.begin(); n != names.end(); ++n, ++k) {
cerr << "Action: " << (*n) << " bound to " << (*k) << endl;
}
exit (0);
}
@ -1761,7 +1772,7 @@ bool
ARDOUR_UI::filter_ardour_session_dirs (const FileFilter::Info& info)
{
struct stat statbuf;
if (stat (info.filename.c_str(), &statbuf) != 0) {
return false;
}
@ -1788,18 +1799,25 @@ ARDOUR_UI::open_session ()
/* popup selector window */
if (open_session_selector == 0) {
/* ardour sessions are folders */
open_session_selector = new Gtk::FileChooserDialog (_("open session"), FILE_CHOOSER_ACTION_OPEN);
open_session_selector->add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
open_session_selector->add_button (Gtk::Stock::OPEN, Gtk::RESPONSE_OK);
FileFilter filter_ardour;
filter_ardour.set_name (_("Ardour sessions"));
filter_ardour.add_pattern("*.ardour");
open_session_selector->add_filter (filter_ardour);
open_session_selector->add_button (Gtk::Stock::OPEN, Gtk::RESPONSE_ACCEPT);
FileFilter session_filter;
session_filter.add_pattern ("*.ardour");
session_filter.set_name (_("Ardour sessions"));
open_session_selector->add_filter (session_filter);
open_session_selector->set_filter (session_filter);
}
switch (open_session_selector->run ()) {
case RESPONSE_OK:
int response = open_session_selector->run();
open_session_selector->hide ();
switch (response) {
case RESPONSE_ACCEPT:
break;
default:
open_session_selector->hide();
@ -1926,34 +1944,6 @@ ARDOUR_UI::transport_goto_end ()
}
}
gint
ARDOUR_UI::mouse_transport_stop (GdkEventButton *ev)
{
if (session) {
if (session->transport_stopped()) {
session->request_locate (session->last_transport_start());
} else {
if (session->get_auto_loop()) {
session->request_auto_loop (false);
}
Keyboard::ModifierMask mask = Keyboard::ModifierMask (Keyboard::Control|Keyboard::Shift);
session->request_stop (Keyboard::modifier_state_equals (ev->state, mask));
}
}
return TRUE;
}
gint
ARDOUR_UI::mouse_transport_roll (GdkEventButton* ev)
{
transport_roll ();
return TRUE;
}
void
ARDOUR_UI::transport_stop ()
{

View File

@ -535,31 +535,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI
Gtk::Menu *diskstream_menu;
gint32 selected_dstream;
gint mouse_transport_goto_start (GdkEventButton *) {
transport_goto_start (); return TRUE;
}
gint mouse_transport_goto_end (GdkEventButton *) {
transport_goto_end (); return TRUE;
}
gint mouse_transport_record (GdkEventButton *) {
transport_record (); return TRUE;
}
gint mouse_transport_forward (GdkEventButton *) {
transport_forward (0); return TRUE;
}
gint mouse_transport_rewind (GdkEventButton *) {
transport_rewind (0); return TRUE;
}
gint mouse_transport_loop (GdkEventButton *) {
transport_loop (); return TRUE;
}
gint mouse_transport_play_selection (GdkEventButton *) {
transport_play_selection (); return TRUE;
}
gint mouse_transport_roll (GdkEventButton *);
gint mouse_transport_stop (GdkEventButton *);
void set_transport_sensitivity (bool);
void remove_last_capture ();

View File

@ -347,19 +347,6 @@ ARDOUR_UI::setup_transport ()
punch_in_button.set_events (punch_in_button.get_events() & ~(Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK));
punch_out_button.set_events (punch_out_button.get_events() & ~(Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK));
#if 0
goto_start_button.signal_clicked().connect (mem_fun(*this,&ARDOUR_UI::transport_goto_start));
goto_end_button.signal_clicked().connect (mem_fun(*this,&ARDOUR_UI::transport_goto_end));
roll_button.signal_button_release_event().connect (mem_fun(*this,&ARDOUR_UI::mouse_transport_roll));
play_selection_button.signal_button_release_event().connect (mem_fun(*this,&ARDOUR_UI::mouse_transport_play_selection));
auto_loop_button.signal_button_release_event().connect (mem_fun(*this,&ARDOUR_UI::mouse_transport_loop));
stop_button.signal_button_release_event().connect (mem_fun(*this,&ARDOUR_UI::mouse_transport_stop));
rec_button.signal_button_release_event().connect (mem_fun(*this,&ARDOUR_UI::mouse_transport_record));
#endif
shuttle_box.signal_button_press_event().connect (mem_fun(*this, &ARDOUR_UI::shuttle_box_button_press));
shuttle_box.signal_button_release_event().connect (mem_fun(*this, &ARDOUR_UI::shuttle_box_button_release));
shuttle_box.signal_motion_notify_event().connect (mem_fun(*this, &ARDOUR_UI::shuttle_box_motion));

View File

@ -215,6 +215,7 @@ ARDOUR_UI::toggle_big_clock_window ()
if (big_clock_window->is_visible()) {
big_clock_window->hide ();
} else {
big_clock_window->show_all ();
big_clock_window->present ();
}
}

View File

@ -184,32 +184,31 @@ ARDOUR_UI::install_actions ()
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("RemoveLastCapture"), _("remove last capture"), mem_fun(*this, &ARDOUR_UI::remove_last_capture));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportStop"), _("transport stop"), mem_fun(*this, &ARDOUR_UI::transport_stop));
cerr << "Stop has path " << act->get_accel_path() << endl;
act = ActionManager::register_action (common_actions, X_("TransportStop"), _("stop"), mem_fun(*this, &ARDOUR_UI::transport_stop));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportStopAndForgetCapture"), _("transport stop and forget capture"), mem_fun(*this, &ARDOUR_UI::transport_stop_and_forget_capture));
act = ActionManager::register_action (common_actions, X_("TransportStopAndForgetCapture"), _("stop and forget capture"), mem_fun(*this, &ARDOUR_UI::transport_stop_and_forget_capture));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportRoll"), _("transport roll"), mem_fun(*this, &ARDOUR_UI::transport_roll));
act = ActionManager::register_action (common_actions, X_("TransportRoll"), _("roll"), mem_fun(*this, &ARDOUR_UI::transport_roll));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportLoop"), _("transport loop"), mem_fun(*this, &ARDOUR_UI::transport_loop));
act = ActionManager::register_action (common_actions, X_("TransportLoop"), _("loop"), mem_fun(*this, &ARDOUR_UI::transport_loop));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportRecord"), _("transport record"), mem_fun(*this, &ARDOUR_UI::transport_record));
act = ActionManager::register_action (common_actions, X_("TransportRecord"), _("enable record"), mem_fun(*this, &ARDOUR_UI::transport_record));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportRewind"), _("transport rewind"), bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), 0));
act = ActionManager::register_action (common_actions, X_("TransportRewind"), _("rewind"), bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), 0));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportRewindSlow"), _("transport rewind slow"), bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), -1));
act = ActionManager::register_action (common_actions, X_("TransportRewindSlow"), _("rewind (slow)"), bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), -1));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportRewindFast"), _("transport rewind fast"), bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), 1));
act = ActionManager::register_action (common_actions, X_("TransportRewindFast"), _("rewind (fast)"), bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), 1));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportForward"), _("transport forward"), bind (mem_fun(*this, &ARDOUR_UI::transport_forward), 0));
act = ActionManager::register_action (common_actions, X_("TransportForward"), _("forward"), bind (mem_fun(*this, &ARDOUR_UI::transport_forward), 0));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportForwardSlow"), _("transport forward slow"), bind (mem_fun(*this, &ARDOUR_UI::transport_forward), -1));
act = ActionManager::register_action (common_actions, X_("TransportForwardSlow"), _("forward (slow)"), bind (mem_fun(*this, &ARDOUR_UI::transport_forward), -1));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportForwardFast"), _("transport forward fast"), bind (mem_fun(*this, &ARDOUR_UI::transport_forward), 1));
act = ActionManager::register_action (common_actions, X_("TransportForwardFast"), _("forward (fast)"), bind (mem_fun(*this, &ARDOUR_UI::transport_forward), 1));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportGotoStart"), _("transport goto start"), mem_fun(*this, &ARDOUR_UI::transport_goto_start));
act = ActionManager::register_action (common_actions, X_("TransportGotoStart"), _("goto start"), mem_fun(*this, &ARDOUR_UI::transport_goto_start));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("TransportGotoEnd"), _("transport goto end"), mem_fun(*this, &ARDOUR_UI::transport_goto_end));
act = ActionManager::register_action (common_actions, X_("TransportGotoEnd"), _("goto end"), mem_fun(*this, &ARDOUR_UI::transport_goto_end));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (common_actions, X_("SendAllMidiFeedback"), _("send all midi feedback"), mem_fun(*this, &ARDOUR_UI::send_all_midi_feedback));
ActionManager::session_sensitive_actions.push_back (act);

View File

@ -32,18 +32,15 @@ using namespace Gtk;
Editor::Cursor::Cursor (Editor& ed, const string& color, bool (Editor::*callbck)(GdkEvent*,ArdourCanvas::Item*))
: editor (ed),
points (2),
canvas_item (*editor.cursor_group),
length(1.0)
{
/* "randomly" initialize coords */
points.push_back(Gnome::Art::Point(-9383839.0, 0.0));
points.push_back(Gnome::Art::Point(1.0, 0.0));
// cerr << "set cursor points, nc = " << points->num_points << endl;
canvas_item.property_points() = points;
canvas_item.property_fill_color() = color; //.c_str());
canvas_item.property_width_pixels() = 1;
@ -53,8 +50,6 @@ Editor::Cursor::Cursor (Editor& ed, const string& color, bool (Editor::*callbck)
canvas_item.property_arrow_shape_b() = 0.0;
canvas_item.property_arrow_shape_c() = 9.0;
// cerr << "cursor line @ " << canvas_item << endl;
canvas_item.set_data ("cursor", this);
canvas_item.signal_event().connect (bind (mem_fun (ed, callbck), &canvas_item));
@ -87,17 +82,6 @@ Editor::Cursor::set_position (jack_nframes_t frame)
canvas_item.property_points() = points;
ArdourCanvas::Points p = canvas_item.property_points();
cerr << "new cursor points = "
<< points.front().get_x() << ',' << points.front().get_y()
<< " .. "
<< points.back().get_x() << ',' << points.back().get_y()
<< " vs. " << endl
<< p.front().get_x() << ',' << p.front().get_y()
<< " .. "
<< p.back().get_x() << ',' << p.back().get_y()
<< endl;
}
canvas_item.raise_to_top();