mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-08 06:35:46 +01:00
Yempo ramps - fix new meters ending up at 0, clean code a bit.
This commit is contained in:
parent
8b4f5dcd5f
commit
89ba10c05a
2 changed files with 8 additions and 17 deletions
|
|
@ -506,8 +506,8 @@ private:
|
|||
TempoSection* add_tempo_locked (const Tempo&, double pulse, bool recompute, TempoSection::Type type);
|
||||
TempoSection* add_tempo_locked (const Tempo&, framepos_t frame, bool recompute, TempoSection::Type type);
|
||||
|
||||
MeterSection* add_meter_locked (const Meter&, double beat, Timecode::BBT_Time where, bool recompute);
|
||||
MeterSection* add_meter_locked (const Meter&, framepos_t frame, double beat, Timecode::BBT_Time where, bool recompute);
|
||||
MeterSection* add_meter_locked (const Meter&, double beat, const Timecode::BBT_Time& where, bool recompute);
|
||||
MeterSection* add_meter_locked (const Meter&, framepos_t frame, double beat, const Timecode::BBT_Time& where, bool recompute);
|
||||
|
||||
bool remove_tempo_locked (const TempoSection&);
|
||||
bool remove_meter_locked (const MeterSection&);
|
||||
|
|
|
|||
|
|
@ -879,7 +879,7 @@ TempoMap::do_insert (MetricSection* section)
|
|||
}
|
||||
|
||||
_metrics.insert (i, section);
|
||||
//dump (_metrics, std::cerr);
|
||||
//dump (_metrics, std::cout);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1084,7 +1084,7 @@ TempoMap::add_meter (const Meter& meter, const framepos_t& frame, const double&
|
|||
}
|
||||
|
||||
MeterSection*
|
||||
TempoMap::add_meter_locked (const Meter& meter, double beat, BBT_Time where, bool recompute)
|
||||
TempoMap::add_meter_locked (const Meter& meter, double beat, const BBT_Time& where, bool recompute)
|
||||
{
|
||||
/* a new meter always starts a new bar on the first beat. so
|
||||
round the start time appropriately. remember that
|
||||
|
|
@ -1093,14 +1093,10 @@ TempoMap::add_meter_locked (const Meter& meter, double beat, BBT_Time where, boo
|
|||
|
||||
*/
|
||||
|
||||
if (where.beats != 1) {
|
||||
where.beats = 1;
|
||||
where.bars++;
|
||||
}
|
||||
/* new meters *always* start on a beat. */
|
||||
where.ticks = 0;
|
||||
const double pulse = pulse_at_beat_locked (_metrics, beat);
|
||||
MeterSection* new_meter = new MeterSection (pulse, beat, where, meter.divisions_per_bar(), meter.note_divisor());
|
||||
new_meter->set_frame (frame_at_pulse_locked (_metrics, pulse));
|
||||
|
||||
do_insert (new_meter);
|
||||
|
||||
if (recompute) {
|
||||
|
|
@ -1111,7 +1107,7 @@ TempoMap::add_meter_locked (const Meter& meter, double beat, BBT_Time where, boo
|
|||
}
|
||||
|
||||
MeterSection*
|
||||
TempoMap::add_meter_locked (const Meter& meter, framepos_t frame, double beat, Timecode::BBT_Time where, bool recompute)
|
||||
TempoMap::add_meter_locked (const Meter& meter, framepos_t frame, double beat, const Timecode::BBT_Time& where, bool recompute)
|
||||
{
|
||||
MeterSection* new_meter = new MeterSection (frame, beat, where, meter.divisions_per_bar(), meter.note_divisor());
|
||||
TempoSection* t = 0;
|
||||
|
|
@ -1398,7 +1394,6 @@ TempoMap::recompute_meters (Metrics& metrics)
|
|||
prev_m = meter;
|
||||
}
|
||||
}
|
||||
//dump (_metrics, std::cerr;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -2025,8 +2020,6 @@ TempoMap::solve_map (Metrics& imaginary, TempoSection* section, const framepos_t
|
|||
return true;
|
||||
}
|
||||
|
||||
//dump (imaginary, std::cerr);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -2100,8 +2093,6 @@ TempoMap::solve_map (Metrics& imaginary, TempoSection* section, const double& pu
|
|||
return true;
|
||||
}
|
||||
|
||||
//dump (imaginary, std::cerr);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -2261,7 +2252,7 @@ TempoMap::solve_map (Metrics& imaginary, MeterSection* section, const framepos_t
|
|||
} else {
|
||||
recompute_meters (imaginary);
|
||||
}
|
||||
//dump (imaginary, std::cerr);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue