mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-11 00:56:33 +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_marker_event (GdkEvent* event,ArdourCanvas::Item*, TempoMarker*);
|
||||||
bool canvas_tempo_curve_event (GdkEvent* event,ArdourCanvas::Item*, TempoCurve*);
|
bool canvas_tempo_curve_event (GdkEvent* event,ArdourCanvas::Item*, TempoCurve*);
|
||||||
bool canvas_meter_marker_event (GdkEvent* event,ArdourCanvas::Item*, MeterMarker*);
|
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_automation_track_event(GdkEvent* event, ArdourCanvas::Item*, AutomationTimeAxisView*);
|
||||||
bool canvas_note_event (GdkEvent* event, ArdourCanvas::Item*);
|
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 */
|
/* These items use the grabber cursor at all times */
|
||||||
case MeterMarkerItem:
|
case MeterMarkerItem:
|
||||||
|
case BBTMarkerItem:
|
||||||
case TempoMarkerItem:
|
case TempoMarkerItem:
|
||||||
case MeterBarItem:
|
case MeterBarItem:
|
||||||
case TempoBarItem:
|
case TempoBarItem:
|
||||||
|
|
|
||||||
|
|
@ -1026,6 +1026,12 @@ Editor::canvas_meter_marker_event (GdkEvent *event, ArdourCanvas::Item* item, Me
|
||||||
return typed_event (item, event, MeterMarkerItem);
|
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
|
bool
|
||||||
Editor::canvas_ruler_event (GdkEvent *event, ArdourCanvas::Item* item, ItemType type)
|
Editor::canvas_ruler_event (GdkEvent *event, ArdourCanvas::Item* item, ItemType type)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ enum ItemType {
|
||||||
GainLineItem,
|
GainLineItem,
|
||||||
AutomationLineItem,
|
AutomationLineItem,
|
||||||
MeterMarkerItem,
|
MeterMarkerItem,
|
||||||
|
BBTMarkerItem,
|
||||||
TempoCurveItem,
|
TempoCurveItem,
|
||||||
TempoMarkerItem,
|
TempoMarkerItem,
|
||||||
MeterBarItem,
|
MeterBarItem,
|
||||||
|
|
|
||||||
|
|
@ -688,3 +688,22 @@ MeterMarker::reset_meter (Temporal::MeterPoint & m)
|
||||||
{
|
{
|
||||||
_meter = 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 {
|
namespace Temporal {
|
||||||
class TempoPoint;
|
class TempoPoint;
|
||||||
class MeterPoint;
|
class MeterPoint;
|
||||||
|
class MusicTimePoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
class PublicEditor;
|
class PublicEditor;
|
||||||
|
|
@ -54,6 +55,7 @@ public:
|
||||||
Mark,
|
Mark,
|
||||||
Tempo,
|
Tempo,
|
||||||
Meter,
|
Meter,
|
||||||
|
BBTPosition,
|
||||||
SessionStart, ///< session start
|
SessionStart, ///< session start
|
||||||
SessionEnd, ///< session end
|
SessionEnd, ///< session end
|
||||||
RangeStart,
|
RangeStart,
|
||||||
|
|
@ -183,4 +185,18 @@ class MeterMarker : public ArdourMarker
|
||||||
Temporal::MeterPoint& _meter;
|
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__ */
|
#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_marker_event (GdkEvent* event, ArdourCanvas::Item*, TempoMarker*) = 0;
|
||||||
virtual bool canvas_tempo_curve_event (GdkEvent* event, ArdourCanvas::Item*, TempoCurve*) = 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_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_automation_track_event(GdkEvent* event, ArdourCanvas::Item*, AutomationTimeAxisView*) = 0;
|
||||||
|
|
||||||
virtual bool canvas_tempo_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
|
virtual bool canvas_tempo_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue