mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 07:45:00 +01:00
start adding new BBT marker support
This commit is contained in:
parent
34a3db7eaa
commit
4f1ad4ed0d
7 changed files with 45 additions and 0 deletions
|
|
@ -1660,6 +1660,7 @@ private:
|
|||
bool canvas_tempo_marker_event (GdkEvent* event,ArdourCanvas::Item*, TempoMarker*);
|
||||
bool canvas_tempo_curve_event (GdkEvent* event,ArdourCanvas::Item*, TempoCurve*);
|
||||
bool canvas_meter_marker_event (GdkEvent* event,ArdourCanvas::Item*, MeterMarker*);
|
||||
bool canvas_bbt_marker_event (GdkEvent* event,ArdourCanvas::Item*, BBTMarker*);
|
||||
bool canvas_automation_track_event(GdkEvent* event, ArdourCanvas::Item*, AutomationTimeAxisView*);
|
||||
bool canvas_note_event (GdkEvent* event, ArdourCanvas::Item*);
|
||||
|
||||
|
|
|
|||
|
|
@ -1435,6 +1435,7 @@ Editor::which_canvas_cursor(ItemType type) const
|
|||
|
||||
/* These items use the grabber cursor at all times */
|
||||
case MeterMarkerItem:
|
||||
case BBTMarkerItem:
|
||||
case TempoMarkerItem:
|
||||
case MeterBarItem:
|
||||
case TempoBarItem:
|
||||
|
|
|
|||
|
|
@ -1026,6 +1026,12 @@ Editor::canvas_meter_marker_event (GdkEvent *event, ArdourCanvas::Item* item, Me
|
|||
return typed_event (item, event, MeterMarkerItem);
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::canvas_bbt_marker_event (GdkEvent *event, ArdourCanvas::Item* item, BBTMarker* /*marker*/)
|
||||
{
|
||||
return typed_event (item, event, BBTMarkerItem);
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::canvas_ruler_event (GdkEvent *event, ArdourCanvas::Item* item, ItemType type)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ enum ItemType {
|
|||
GainLineItem,
|
||||
AutomationLineItem,
|
||||
MeterMarkerItem,
|
||||
BBTMarkerItem,
|
||||
TempoCurveItem,
|
||||
TempoMarkerItem,
|
||||
MeterBarItem,
|
||||
|
|
|
|||
|
|
@ -688,3 +688,22 @@ MeterMarker::reset_meter (Temporal::MeterPoint & m)
|
|||
{
|
||||
_meter = m;
|
||||
}
|
||||
|
||||
/***********************************************************************/
|
||||
|
||||
BBTMarker::BBTMarker (PublicEditor& editor, ArdourCanvas::Container& parent, guint32 rgba, const string& text, Temporal::MusicTimePoint& p)
|
||||
: ArdourMarker (editor, parent, rgba, text, BBTPosition, p.time(), false)
|
||||
, _point (p)
|
||||
{
|
||||
group->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_bbt_marker_event), group, this));
|
||||
}
|
||||
|
||||
BBTMarker::~BBTMarker ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
BBTMarker::reset_point (Temporal::MusicTimePoint & p)
|
||||
{
|
||||
_point = p;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
namespace Temporal {
|
||||
class TempoPoint;
|
||||
class MeterPoint;
|
||||
class MusicTimePoint;
|
||||
}
|
||||
|
||||
class PublicEditor;
|
||||
|
|
@ -54,6 +55,7 @@ public:
|
|||
Mark,
|
||||
Tempo,
|
||||
Meter,
|
||||
BBTPosition,
|
||||
SessionStart, ///< session start
|
||||
SessionEnd, ///< session end
|
||||
RangeStart,
|
||||
|
|
@ -183,4 +185,18 @@ class MeterMarker : public ArdourMarker
|
|||
Temporal::MeterPoint& _meter;
|
||||
};
|
||||
|
||||
class BBTMarker : public ArdourMarker
|
||||
{
|
||||
public:
|
||||
BBTMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, Temporal::MusicTimePoint&);
|
||||
~BBTMarker ();
|
||||
|
||||
void reset_point (Temporal::MusicTimePoint &);
|
||||
|
||||
Temporal::MusicTimePoint& point() const { return _point; }
|
||||
|
||||
private:
|
||||
Temporal::MusicTimePoint& _point;
|
||||
};
|
||||
|
||||
#endif /* __gtk_ardour_marker_h__ */
|
||||
|
|
|
|||
|
|
@ -441,6 +441,7 @@ public:
|
|||
virtual bool canvas_tempo_marker_event (GdkEvent* event, ArdourCanvas::Item*, TempoMarker*) = 0;
|
||||
virtual bool canvas_tempo_curve_event (GdkEvent* event, ArdourCanvas::Item*, TempoCurve*) = 0;
|
||||
virtual bool canvas_meter_marker_event (GdkEvent* event, ArdourCanvas::Item*, MeterMarker*) = 0;
|
||||
virtual bool canvas_bbt_marker_event (GdkEvent* event, ArdourCanvas::Item*, BBTMarker*) = 0;
|
||||
virtual bool canvas_automation_track_event(GdkEvent* event, ArdourCanvas::Item*, AutomationTimeAxisView*) = 0;
|
||||
|
||||
virtual bool canvas_tempo_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue