[Summary] Progressing marker inspector

This commit is contained in:
VKamyshniy 2014-12-02 23:59:52 +02:00
parent b31a29ac2d
commit 14bd825601
6 changed files with 39 additions and 10 deletions

View file

@ -201,9 +201,10 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
, location_ui (X_("locations"), _("Locations"))
, route_params (X_("inspector"), _("Tracks and Busses"))
, tracks_control_panel (X_("tracks-control-panel"), _("Preferences"))
, _add_tracks_dialog(new AddTracksDialog())
, _add_tracks_dialog(new AddTracksDialog())
, session_lock_dialog (X_("session-lock-dialog"), _("System Lock"))
, session_option_editor (X_("session-options-editor"), _("Properties"), boost::bind (&ARDOUR_UI::create_session_option_editor, this))
, marker_inspector_dialog (X_("marker-inspector-dialog"), _("Marker Insector"))
, session_option_editor (X_("session-options-editor"), _("Properties"), boost::bind (&ARDOUR_UI::create_session_option_editor, this))
, add_video_dialog (X_("add-video"), _("Add Tracks/Busses"), boost::bind (&ARDOUR_UI::create_add_video_dialog, this))
, bundle_manager (X_("bundle-manager"), _("Bundle Manager"), boost::bind (&ARDOUR_UI::create_bundle_manager, this))
, big_clock_window (X_("big-clock"), _("Big Clock"), boost::bind (&ARDOUR_UI::create_big_clock_window, this))
@ -383,6 +384,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
WM::Manager::instance().register_window (&route_params);
WM::Manager::instance().register_window (&tracks_control_panel);
WM::Manager::instance().register_window (&session_lock_dialog);
WM::Manager::instance().register_window (&marker_inspector_dialog);
WM::Manager::instance().register_window (&bundle_manager);
WM::Manager::instance().register_window (&location_ui);
WM::Manager::instance().register_window (&big_clock_window);
@ -2701,7 +2703,6 @@ ARDOUR_UI::get_session_parameters (bool quit_on_cancel, bool should_be_new, stri
if (should_be_new || session_name.empty()) {
/* need the dialog to get info from user */
switch (session_dialog.run()) {
case RESPONSE_ACCEPT:
break;

View file

@ -74,7 +74,7 @@
#include "editing.h"
#include "session_lock_dialog.h"
#include "tracks_control_panel.h"
//#include "meterbridge.h"
#include "marker_inspector_dialog.h"
#include "ui_config.h"
#include "enums.h"
#include "visibility_group.h"
@ -97,6 +97,7 @@
#include "timecode/time.h"
#include "time.h"
#include "selection.h"
class VideoTimeLine;
class ArdourKeyboard;
@ -355,7 +356,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
PBD::Signal0<void> lock_button_was_pressed;
bool session_auto_save_is_allowed() const;
void update_marker_inspector (MarkerSelection*);
protected:
friend class PublicEditor;
@ -663,6 +665,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
WM::Proxy<RouteParams_UI> route_params;
WM::Proxy<TracksControlPanel> tracks_control_panel;
WM::Proxy<SessionLockDialog> session_lock_dialog;
WM::Proxy<MarkerInspectorDialog> marker_inspector_dialog;
/* Windows/Dialogs that require a creator method */

View file

@ -957,3 +957,16 @@ ARDOUR_UI::focus_on_clock ()
}
}
void
ARDOUR_UI::update_marker_inspector (MarkerSelection* markers)
{
if (_session && _session->deletion_in_progress()) {
return;
}
if(markers && !markers->empty()) {
marker_inspector_dialog->set_marker (markers->back ());
} else {
marker_inspector_dialog->set_marker (0);
}
}

View file

@ -545,6 +545,7 @@ Editor::Editor ()
selection->PointsChanged.connect (sigc::mem_fun(*this, &Editor::point_selection_changed));
selection->MarkersChanged.connect (sigc::mem_fun(*this, &Editor::marker_selection_changed));
selection->MarkersChanged.connect (sigc::bind (sigc::mem_fun (*ARDOUR_UI::instance(), &ARDOUR_UI::update_marker_inspector), &selection->markers));
vertical_adjustment.signal_value_changed().connect (sigc::mem_fun(*this, &Editor::tie_vertical_scrolling), true);
horizontal_adjustment.signal_value_changed().connect (sigc::mem_fun(*this, &Editor::tie_horizontal_scrolling), true);
@ -4355,8 +4356,6 @@ Editor::use_visual_state (VisualState& vs)
void
Editor::set_samples_per_pixel (framecnt_t spp)
{
std::cout << "Editor::set_samples_per_pixel ( " << spp << ")" << std::endl;
if (spp < 1) {
return;
}

View file

@ -24,6 +24,8 @@
#include <glib.h>
#include <sigc++/signal.h>
#include <cairomm/cairomm.h>
#include <pangomm.h>
#include "ardour/ardour.h"
#include "pbd/signals.h"
@ -34,6 +36,13 @@
namespace ARDOUR {
class TempoSection;
class MeterSection;
class Location;
}
namespace ArdourCanvas
{
class Container;
class Item;
}
class PublicEditor;
@ -65,10 +74,12 @@ class Marker : public sigc::trackable
static PBD::Signal1<void,Marker*> CatchDeletion;
ArdourCanvas::Item& the_item() const;
ARDOUR::Location* location() const { return _location; }
ARDOUR::Location* location() const { return _location; }
virtual void canvas_height_set (double);
void set_has_scene_change (bool);
bool has_scene_change () const { return _have_scene_change; }
virtual void canvas_height_set (double);
void set_has_scene_change (bool);
void set_name (const std::string&);

View file

@ -28,6 +28,8 @@ path_prefix = 'gtk2_ardour/'
gtk2_ardour_sources = [
'mixer_bridge_view.cc',
'marker_inspector_dialog.cc',
'marker_inspector_dialog.logic.cc',
'waves_message_dialog.cc',
'waves_dropdown.cc',
'waves_zoom_control.cc',