Use 1|1|0 for new BBT markers, always use dialog for new markers
Amend b972301a3b
This commit is contained in:
parent
c505024a4b
commit
8a7684bd2f
@ -29,10 +29,11 @@ using namespace ARDOUR;
|
|||||||
using namespace PBD;
|
using namespace PBD;
|
||||||
using namespace Temporal;
|
using namespace Temporal;
|
||||||
|
|
||||||
BBTMarkerDialog::BBTMarkerDialog (timepos_t const & pos)
|
BBTMarkerDialog::BBTMarkerDialog (timepos_t const & pos, BBT_Time const& bbt)
|
||||||
: ArdourDialog (_("New Music Time"))
|
: ArdourDialog (_("New Music Time"))
|
||||||
, _point (0)
|
, _point (0)
|
||||||
, _position (pos)
|
, _position (pos)
|
||||||
|
, _bbt (bbt)
|
||||||
, entry_label (_("BBT"))
|
, entry_label (_("BBT"))
|
||||||
, name_label (_("Name"))
|
, name_label (_("Name"))
|
||||||
|
|
||||||
@ -44,6 +45,7 @@ BBTMarkerDialog::BBTMarkerDialog (MusicTimePoint& p)
|
|||||||
: ArdourDialog (_("Edit Music Time"))
|
: ArdourDialog (_("Edit Music Time"))
|
||||||
, _point (&p)
|
, _point (&p)
|
||||||
, _position (timepos_t::from_superclock (p.sclock()))
|
, _position (timepos_t::from_superclock (p.sclock()))
|
||||||
|
, _bbt (TempoMap::use()->bbt_at (_position).round_to_beat ())
|
||||||
, entry_label (_("BBT"))
|
, entry_label (_("BBT"))
|
||||||
, name_label (_("Name"))
|
, name_label (_("Name"))
|
||||||
{
|
{
|
||||||
@ -53,10 +55,8 @@ BBTMarkerDialog::BBTMarkerDialog (MusicTimePoint& p)
|
|||||||
void
|
void
|
||||||
BBTMarkerDialog::init (bool add)
|
BBTMarkerDialog::init (bool add)
|
||||||
{
|
{
|
||||||
BBT_Time bbt = TempoMap::use()->bbt_at (_position).round_to_beat ();
|
|
||||||
|
|
||||||
bar_entry.set_range (1, 9999);
|
bar_entry.set_range (1, 9999);
|
||||||
beat_entry.set_range (1, 9999);
|
beat_entry.set_range (1, 9999); // XXX (1, time-signature denominator at _position) ?!
|
||||||
bar_entry.set_digits (0);
|
bar_entry.set_digits (0);
|
||||||
beat_entry.set_digits (0);
|
beat_entry.set_digits (0);
|
||||||
|
|
||||||
@ -64,8 +64,8 @@ BBTMarkerDialog::init (bool add)
|
|||||||
bbt_box.pack_start (bar_entry);
|
bbt_box.pack_start (bar_entry);
|
||||||
bbt_box.pack_start (beat_entry);
|
bbt_box.pack_start (beat_entry);
|
||||||
|
|
||||||
bar_entry.set_value (bbt.bars);
|
bar_entry.set_value (_bbt.bars);
|
||||||
beat_entry.set_value (bbt.beats);
|
beat_entry.set_value (_bbt.beats);
|
||||||
|
|
||||||
name_box.pack_start (name_label);
|
name_box.pack_start (name_label);
|
||||||
name_box.pack_start (name_entry);
|
name_box.pack_start (name_entry);
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
class BBTMarkerDialog : public ArdourDialog
|
class BBTMarkerDialog : public ArdourDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BBTMarkerDialog (Temporal::timepos_t const &);
|
BBTMarkerDialog (Temporal::timepos_t const &, Temporal::BBT_Time const&);
|
||||||
BBTMarkerDialog (Temporal::MusicTimePoint&);
|
BBTMarkerDialog (Temporal::MusicTimePoint&);
|
||||||
|
|
||||||
Temporal::timepos_t position() const;
|
Temporal::timepos_t position() const;
|
||||||
@ -43,7 +43,8 @@ public:
|
|||||||
private:
|
private:
|
||||||
void init (bool add);
|
void init (bool add);
|
||||||
Temporal::MusicTimePoint* _point;
|
Temporal::MusicTimePoint* _point;
|
||||||
Temporal::timepos_t _position;
|
Temporal::timepos_t _position;
|
||||||
|
Temporal::BBT_Time _bbt;
|
||||||
|
|
||||||
Gtk::HBox bbt_box;
|
Gtk::HBox bbt_box;
|
||||||
Gtk::SpinButton bar_entry;
|
Gtk::SpinButton bar_entry;
|
||||||
|
@ -535,13 +535,7 @@ Editor::add_bbt_marker_at_playhead_cursor ()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
timepos_t pos (_session->transport_sample ());
|
mouse_add_bbt_marker_event (timepos_t (_session->transport_sample ()));
|
||||||
|
|
||||||
BBT_Time bbt = Temporal::TempoMap::use()->bbt_at (pos);
|
|
||||||
std::string name = _("Playhead");
|
|
||||||
|
|
||||||
TempoMapChange tmc (*this, _("add BBT marker"));
|
|
||||||
tmc.map().set_bartime (bbt, pos, name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -553,7 +547,7 @@ Editor::mouse_add_bbt_marker_event (timepos_t pos)
|
|||||||
|
|
||||||
/* position markers must always be positioned using audio time */
|
/* position markers must always be positioned using audio time */
|
||||||
|
|
||||||
BBTMarkerDialog marker_dialog (timepos_t (pos.samples()));
|
BBTMarkerDialog marker_dialog (timepos_t (pos.samples()), BBT_Time ());
|
||||||
|
|
||||||
/* run this modally since we are finishing a drag and the drag object
|
/* run this modally since we are finishing a drag and the drag object
|
||||||
* will be destroyed when we return from here
|
* will be destroyed when we return from here
|
||||||
|
Loading…
Reference in New Issue
Block a user