22 #include <gtkmm/listviewtext.h>
50 , name_label (
_(
"Name:"))
51 , audition_button (
_(
"Audition"))
53 , position_clock (
X_(
"regionposition"), true,
"", true, false)
54 , end_clock (
X_(
"regionend"), true,
"", true, false)
55 , length_clock (
X_(
"regionlength"), true,
"", true, false, true)
56 , sync_offset_relative_clock (
X_(
"regionsyncoffsetrelative"), true,
"", true, false)
57 , sync_offset_absolute_clock (
X_(
"regionsyncoffsetabsolute"), true,
"", true, false)
59 , start_clock (
X_(
"regionstart"), true,
"", false, false)
107 _table.set_col_spacings (12);
108 _table.set_row_spacings (6);
109 _table.set_border_width (12);
120 Gtk::HBox* nb = Gtk::manage (
new Gtk::HBox);
157 get_vbox()->pack_start (
_table,
true,
true);
159 add_button (Gtk::Stock::CLOSE, Gtk::RESPONSE_ACCEPT);
161 set_name (
"RegionEditorWindow");
162 add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);
172 _sources.set_headers_visible (
false);
173 Gtk::CellRendererText* t =
dynamic_cast<Gtk::CellRendererText*
> (
_sources.get_column_cell_renderer(0));
175 t->property_ellipsize() = Pango::ELLIPSIZE_END;
216 if (what_changed.
contains (interesting_stuff)) {
224 switch (ev->button) {
228 if (ev->type == GDK_BUTTON_PRESS) {
framepos_t current_time(framepos_t position=0) const
void set(framepos_t, bool force=false, ARDOUR::framecnt_t offset=0)
PBD::ScopedConnection audition_connection
Gtk::Label position_label
Gtk::Label sync_absolute_label
PBD::Signal1< void, const PropertyChange & > PropertyChanged
void set_session(ARDOUR::Session *s)
PBD::ScopedConnection state_connection
RegionEditor(ARDOUR::Session *, boost::shared_ptr< ARDOUR::Region >)
static ARDOUR_UI * instance()
LIBARDOUR_API PBD::PropertyDescriptor< std::string > name
void add_command(Command *const cmd)
void position_clock_changed()
bool set_name(const std::string &str)
boost::shared_ptr< Source > source(uint32_t n=0) const
void length_clock_changed()
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > start
bool on_delete_event(GdkEventAny *)
void set_sync_position(framepos_t n)
#define ENSURE_GUI_THREAD(obj, method,...)
Gtk::ToggleButton audition_button
void trim_end(framepos_t new_position)
void handle_response(int)
void set_position(framepos_t)
void audition_state_changed(bool)
PBD::Signal1< void, bool > AuditionActive
virtual void begin_reversible_command(std::string cmd_name)=0
virtual void commit_reversible_command()=0
frameoffset_t sync_offset(int &dir) const
AudioClock sync_offset_absolute_clock
sync offset relative to the start of the timeline
void name_entry_changed()
sigc::signal< void > ValueChanged
framepos_t position() const
void set_tip(Gtk::Widget &w, const gchar *tip)
ClockGroup * _clock_group
void audition_region(boost::shared_ptr< Region >)
static PublicEditor & instance()
uint32_t n_channels() const
void bounds_changed(const PBD::PropertyChange &)
boost::shared_ptr< ARDOUR::Region > _region
Gtk::Label _sources_label
gint bpressed(GdkEventButton *ev, Gtk::SpinButton *but, void(RegionEditor::*pmf)())
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > position
LIBARDOUR_API PBD::PropertyDescriptor< framecnt_t > sync_position
AudioClock sync_offset_relative_clock
sync offset relative to the start of the region
bool contains(PropertyDescriptor< T > p) const
framecnt_t length() const
virtual void set_session(ARDOUR::Session *)
Gtk::Label sync_relative_label
Gtk::ListViewText _sources
ARDOUR::Session * _session
void sync_offset_absolute_clock_changed()
void connect_editor_events()
AudioClock position_clock
std::string string_compose(const std::string &fmt, const T1 &o1)
gint breleased(GdkEventButton *ev, Gtk::SpinButton *but, void(RegionEditor::*pmf)())
boost::shared_ptr< ARDOUR::Playlist > playlist() const
virtual void region_changed(const PBD::PropertyChange &)
void audition_button_toggled()
LIBARDOUR_API PBD::PropertyDescriptor< framecnt_t > length
void sync_offset_relative_clock_changed()
void set_clock_mode(AudioClock::Mode)