From be3002c239219e0829dc24ae7e1f93af557c4cf8 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 15 Mar 2011 01:16:24 +0000 Subject: Fix more broken whitespace. git-svn-id: svn://localhost/ardour2/branches/3.0@9152 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/midi_buffer.cc | 20 ++-- libs/ardour/midi_diskstream.cc | 24 ++-- libs/ardour/midi_model.cc | 15 +-- libs/ardour/midi_playlist.cc | 4 +- libs/ardour/midi_port.cc | 32 ++--- libs/ardour/midi_track.cc | 82 +++++++------ libs/ardour/tempo.cc | 262 ++++++++++++++++++++--------------------- 7 files changed, 222 insertions(+), 217 deletions(-) (limited to 'libs/ardour') diff --git a/libs/ardour/midi_buffer.cc b/libs/ardour/midi_buffer.cc index 29bec23851..3af0c31b00 100644 --- a/libs/ardour/midi_buffer.cc +++ b/libs/ardour/midi_buffer.cc @@ -100,9 +100,9 @@ MidiBuffer::read_from (const Buffer& src, framecnt_t nframes, framecnt_t dst_off if (ev.time() >= src_offset && ev.time() < (nframes+src_offset)) { push_back (ev); } else { - cerr << "MIDI event @ " << ev.time() << " skipped, not within range " << src_offset << " .. " - << (nframes + src_offset) << endl; - } + cerr << "MIDI event @ " << ev.time() << " skipped, not within range " + << src_offset << " .. " << (nframes + src_offset) << endl; + } } _silent = src.silent(); @@ -137,7 +137,7 @@ MidiBuffer::push_back(const Evoral::MIDIEvent& ev) cerr << "MidiBuffer::push_back failed (buffer is full)" << endl; return false; } - + if (!Evoral::midi_event_is_valid(ev.buffer(), ev.size())) { cerr << "WARNING: MidiBuffer ignoring illegal MIDI event" << endl; return false; @@ -159,16 +159,16 @@ MidiBuffer::push_back(TimeType time, size_t size, const uint8_t* data) #ifndef NDEBUG if (DEBUG::MidiIO & PBD::debug_bits) { - DEBUG_STR_DECL(a); - DEBUG_STR_APPEND(a, string_compose ("midibuffer %1 push event @ %2 sz %3 ", this, time, size)); + DEBUG_STR_DECL(a); + DEBUG_STR_APPEND(a, string_compose ("midibuffer %1 push event @ %2 sz %3 ", this, time, size)); for (size_t i=0; i < size; ++i) { DEBUG_STR_APPEND(a,hex); DEBUG_STR_APPEND(a,"0x"); DEBUG_STR_APPEND(a,(int)data[i]); - DEBUG_STR_APPEND(a,' '); + DEBUG_STR_APPEND(a,' '); } - DEBUG_STR_APPEND(a,'\n'); - DEBUG_TRACE (DEBUG::MidiIO, DEBUG_STR(a).str()); + DEBUG_STR_APPEND(a,'\n'); + DEBUG_TRACE (DEBUG::MidiIO, DEBUG_STR(a).str()); } #endif @@ -324,7 +324,7 @@ MidiBuffer::merge_in_place(const MidiBuffer &other) ++them; } -#if 0 +#if 0 if (us != end()) cerr << "us @ " << (*us).time() << endl; if (them != other.end()) diff --git a/libs/ardour/midi_diskstream.cc b/libs/ardour/midi_diskstream.cc index 3dddbb54f5..3d2336da3a 100644 --- a/libs/ardour/midi_diskstream.cc +++ b/libs/ardour/midi_diskstream.cc @@ -171,7 +171,7 @@ MidiDiskstream::non_realtime_input_change () get_input_sources (); set_capture_offset (); - set_align_style_from_io (); + set_align_style_from_io (); input_change_pending.type = IOChange::NoChange; @@ -882,8 +882,8 @@ MidiDiskstream::do_flush (RunContext /*context*/, bool force_flush) assert(!destructive()); if (record_enabled() && - ((_session.transport_frame() - _last_flush_frame > disk_io_chunk_frames) || - force_flush)) { + ((_session.transport_frame() - _last_flush_frame > disk_io_chunk_frames) || + force_flush)) { if ((!_write_source) || _write_source->midi_write (*_capture_buf, get_capture_start_frame (0), to_write) != to_write) { error << string_compose(_("MidiDiskstream %1: cannot write to disk"), _id) << endmsg; return -1; @@ -1255,9 +1255,9 @@ MidiDiskstream::set_state (const XMLNode& node, int version) } } - if (Diskstream::set_state (node, version)) { - return -1; - } + if (Diskstream::set_state (node, version)) { + return -1; + } ChannelMode channel_mode = AllChannels; if ((prop = node.property ("channel-mode")) != 0) { @@ -1273,9 +1273,9 @@ MidiDiskstream::set_state (const XMLNode& node, int version) } - if (capture_pending_node) { - use_pending_capture_data (*capture_pending_node); - } + if (capture_pending_node) { + use_pending_capture_data (*capture_pending_node); + } set_channel_mode (channel_mode, channel_mask); @@ -1383,9 +1383,9 @@ MidiDiskstream::set_align_style_from_io () { bool have_physical = false; - if (_alignment_choice != Automatic) { - return; - } + if (_alignment_choice != Automatic) { + return; + } if (_io == 0) { return; diff --git a/libs/ardour/midi_model.cc b/libs/ardour/midi_model.cc index b7b781cec9..1691380c93 100644 --- a/libs/ardour/midi_model.cc +++ b/libs/ardour/midi_model.cc @@ -1,6 +1,6 @@ /* Copyright (C) 2007 Paul Davis - Author: Dave Robillard + Author: David Robillard This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -164,7 +164,7 @@ MidiModel::NoteDiffCommand::change (const NotePtr note, Property prop, assert (note); NoteChange change; - + switch (prop) { case NoteNumber: if (new_value == note->note()) { @@ -1345,7 +1345,7 @@ MidiModel::write_to (boost::shared_ptr source) source->mark_streaming_write_completed(); set_edited(false); - + return true; } @@ -1375,7 +1375,7 @@ MidiModel::sync_to_source () ms->mark_streaming_write_completed (); set_edited (false); - + return true; } @@ -1606,8 +1606,9 @@ MidiModel::resolve_overlaps_unlocked (const NotePtr note, void* arg) continue; } - DEBUG_TRACE (DEBUG::Sequence, string_compose ("\toverlap is %1 for (%2,%3) vs (%4,%5)\n", enum_2_string(overlap), - sa, ea, sb, eb)); + DEBUG_TRACE (DEBUG::Sequence, string_compose ( + "\toverlap is %1 for (%2,%3) vs (%4,%5)\n", + enum_2_string(overlap), sa, ea, sb, eb)); if (insert_merge_policy() == InsertMergeReject) { DEBUG_TRACE (DEBUG::Sequence, string_compose ("%1 just reject\n", this)); @@ -1762,7 +1763,7 @@ MidiModel::insert_merge_policy () const return ms->session().config.get_insert_merge_policy (); } - + void MidiModel::set_midi_source (boost::shared_ptr s) { diff --git a/libs/ardour/midi_playlist.cc b/libs/ardour/midi_playlist.cc index 9986d9750c..ec90b2e913 100644 --- a/libs/ardour/midi_playlist.cc +++ b/libs/ardour/midi_playlist.cc @@ -1,6 +1,6 @@ /* Copyright (C) 2006 Paul Davis - Written by Dave Robillard, 2006 + Author: David Robillard This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -426,7 +426,7 @@ MidiPlaylist::region_changed (const PBD::PropertyChange& what_changed, boost::sh } PBD::PropertyChange our_interests; - our_interests.add (Properties::midi_data); + our_interests.add (Properties::midi_data); bool parent_wants_notify = Playlist::region_changed (what_changed, region); diff --git a/libs/ardour/midi_port.cc b/libs/ardour/midi_port.cc index 52aa7e6005..1ebc1de3fa 100644 --- a/libs/ardour/midi_port.cc +++ b/libs/ardour/midi_port.cc @@ -41,7 +41,7 @@ MidiPort::~MidiPort() void MidiPort::cycle_start (pframes_t nframes) { - Port::cycle_start (nframes); + Port::cycle_start (nframes); _buffer->clear (); @@ -76,20 +76,20 @@ MidiPort::get_midi_buffer (pframes_t nframes) jack_midi_event_get (&ev, jack_buffer, i); - if (ev.buffer[0] == 0xfe) { - /* throw away active sensing */ - continue; - } + if (ev.buffer[0] == 0xfe) { + /* throw away active sensing */ + continue; + } - /* check that the event is in the acceptable time range */ + /* check that the event is in the acceptable time range */ if ((ev.time >= (_global_port_buffer_offset + _port_buffer_offset)) && - (ev.time < (_global_port_buffer_offset + _port_buffer_offset + nframes))) { + (ev.time < (_global_port_buffer_offset + _port_buffer_offset + nframes))) { _buffer->push_back (ev); } else { cerr << "Dropping incoming MIDI at time " << ev.time << "; offset=" - << _global_port_buffer_offset << " limit=" - << (_global_port_buffer_offset + _port_buffer_offset + nframes) << "\n"; + << _global_port_buffer_offset << " limit=" + << (_global_port_buffer_offset + _port_buffer_offset + nframes) << "\n"; } } @@ -145,13 +145,13 @@ MidiPort::flush_buffers (pframes_t nframes, framepos_t time) if (ev.time() >= _global_port_buffer_offset + _port_buffer_offset) { if (jack_midi_event_write (jack_buffer, (jack_nframes_t) ev.time(), ev.buffer(), ev.size()) != 0) { - cerr << "write failed, drop flushed note off on the floor, time " - << ev.time() << " > " << _global_port_buffer_offset + _port_buffer_offset << endl; - } - } else { - cerr << "drop flushed event on the floor, time " << ev.time() - << " < " << _global_port_buffer_offset + _port_buffer_offset << endl; - } + cerr << "write failed, drop flushed note off on the floor, time " + << ev.time() << " > " << _global_port_buffer_offset + _port_buffer_offset << endl; + } + } else { + cerr << "drop flushed event on the floor, time " << ev.time() + << " < " << _global_port_buffer_offset + _port_buffer_offset << endl; + } } } } diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index c91f1435fa..a2ebef4ef4 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -1,6 +1,6 @@ /* Copyright (C) 2006 Paul Davis - By Dave Robillard, 2006 + Author: David Robillard This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,6 +16,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + #include "pbd/error.h" #include "pbd/enumwriter.h" @@ -87,11 +88,11 @@ MidiTrack::use_new_diskstream () void MidiTrack::set_record_enabled (bool yn, void *src) { - if (_step_editing) { - return; - } + if (_step_editing) { + return; + } - Track::set_record_enabled (yn, src); + Track::set_record_enabled (yn, src); } void @@ -107,7 +108,9 @@ MidiTrack::set_diskstream (boost::shared_ptr ds) _diskstream_data_recorded_connection.disconnect (); boost::shared_ptr mds = boost::dynamic_pointer_cast (ds); - mds->DataRecorded.connect_same_thread (_diskstream_data_recorded_connection, boost::bind (&MidiTrack::diskstream_data_recorded, this, _1, _2)); + mds->DataRecorded.connect_same_thread ( + _diskstream_data_recorded_connection, + boost::bind (&MidiTrack::diskstream_data_recorded, this, _1, _2)); DiskstreamChanged (); /* EMIT SIGNAL */ } @@ -165,24 +168,25 @@ MidiTrack::_set_state (const XMLNode& node, int version, bool call_base) } } - /* set rec-enable control *AFTER* setting up diskstream, because it may want to operate - on the diskstream as it sets its own state - */ + /* set rec-enable control *AFTER* setting up diskstream, because it may + want to operate on the diskstream as it sets its own state + */ for (niter = nlist.begin(); niter != nlist.end(); ++niter){ child = *niter; - if (child->name() == Controllable::xml_node_name && (prop = child->property ("name")) != 0) { - if (prop->value() == X_("recenable")) { - _rec_enable_control->set_state (*child, version); - } - } + if (child->name() == Controllable::xml_node_name && (prop = child->property ("name")) != 0) { + if (prop->value() == X_("recenable")) { + _rec_enable_control->set_state (*child, version); + } + } } pending_state = const_cast (&node); if (_session.state_of_the_state() & Session::Loading) { - _session.StateReady.connect_same_thread (*this, boost::bind (&MidiTrack::set_state_part_two, this)); + _session.StateReady.connect_same_thread ( + *this, boost::bind (&MidiTrack::set_state_part_two, this)); } else { set_state_part_two (); } @@ -380,7 +384,7 @@ MidiTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame process_output_buffers (bufs, start_frame, end_frame, nframes, (!_session.get_record_enabled() || !Config->get_do_not_record_plugins()), declick, - (!diskstream->record_enabled() && !_session.transport_stopped())); + (!diskstream->record_enabled() && !_session.transport_stopped())); } _main_outs->flush_buffers (nframes, end_frame - start_frame - 1); @@ -429,14 +433,14 @@ MidiTrack::push_midi_input_to_step_edit_ringbuffer (framecnt_t nframes) const Evoral::MIDIEvent ev(*e, false); - /* note on, since for step edit, note length is determined - elsewhere - */ - - if (ev.is_note_on()) { - /* we don't care about the time for this purpose */ - _step_edit_ring_buffer.write (0, ev.type(), ev.size(), ev.buffer()); - } + /* note on, since for step edit, note length is determined + elsewhere + */ + + if (ev.is_note_on()) { + /* we don't care about the time for this purpose */ + _step_edit_ring_buffer.write (0, ev.type(), ev.size(), ev.buffer()); + } } } } @@ -446,12 +450,12 @@ MidiTrack::write_out_of_band_data (BufferSet& bufs, framepos_t /*start*/, framep { // Append immediate events MidiBuffer& buf (bufs.get_midi (0)); - if (_immediate_events.read_space()) { - DEBUG_TRACE (DEBUG::MidiIO, string_compose ("%1 has %2 of immediate events to deliver\n", - name(), _immediate_events.read_space())); - } + if (_immediate_events.read_space()) { + DEBUG_TRACE (DEBUG::MidiIO, string_compose ("%1 has %2 of immediate events to deliver\n", + name(), _immediate_events.read_space())); + } _immediate_events.read (buf, 0, 1, nframes-1); // all stamps = 0 - + // MIDI thru: send incoming data "through" output if (_midi_thru && _session.transport_speed() != 0.0f && _input->n_ports().n_midi()) { buf.merge_in_place (_input->midi(0)->get_midi_buffer(nframes)); @@ -505,7 +509,7 @@ MidiTrack::set_note_mode (NoteMode m) void MidiTrack::midi_panic() { - DEBUG_TRACE (DEBUG::MidiIO, string_compose ("%1 delivers panic data\n", name())); + DEBUG_TRACE (DEBUG::MidiIO, string_compose ("%1 delivers panic data\n", name())); for (uint8_t channel = 0; channel <= 0xF; channel++) { uint8_t ev[3] = { MIDI_CMD_CONTROL | channel, MIDI_CTL_SUSTAIN, 0 }; write_immediate_event(3, ev); @@ -590,14 +594,14 @@ MidiTrack::MidiControl::set_value(double val) void MidiTrack::set_step_editing (bool yn) { - if (_session.record_status() != Session::Disabled) { - return; - } + if (_session.record_status() != Session::Disabled) { + return; + } - if (yn != _step_editing) { - _step_editing = yn; - StepEditStatusChange (yn); - } + if (yn != _step_editing) { + _step_editing = yn; + StepEditStatusChange (yn); + } } void @@ -651,11 +655,11 @@ MidiTrack::diskstream_data_recorded (boost::shared_ptr buf, boost::w bool MidiTrack::should_monitor () const { - return true; + return true; } bool MidiTrack::send_silence () const { - return false; + return false; } diff --git a/libs/ardour/tempo.cc b/libs/ardour/tempo.cc index 396caad46b..83f5e3d080 100644 --- a/libs/ardour/tempo.cc +++ b/libs/ardour/tempo.cc @@ -840,34 +840,34 @@ TempoMap::bbt_time_with_metric (framepos_t frame, BBT_Time& bbt, const TempoMetr frame_diff = frame - metric.frame(); - bbt.ticks = metric.start().ticks + (uint32_t)round((double)frame_diff / ticks_per_frame); - uint32_t xtra_beats = bbt.ticks / (uint32_t)BBT_Time::ticks_per_beat; - bbt.ticks %= (uint32_t)BBT_Time::ticks_per_beat; - - bbt.beats = metric.start().beats + xtra_beats - 1; // correction for 1-based counting, see below for matching operation. - bbt.bars = metric.start().bars + (uint32_t)floor((double)bbt.beats / beats_per_bar); - bbt.beats = (uint32_t)fmod((double)bbt.beats, beats_per_bar); - - /* if we have a fractional number of beats per bar, we see if - we're in the last beat (the fractional one). if so, we - round ticks appropriately and bump to the next bar. */ - double beat_fraction = beats_per_bar - floor(beats_per_bar); - /* XXX one problem here is that I'm not sure how to handle - fractional beats that don't evenly divide ticks_per_beat. - If they aren't handled consistently, I would guess we'll - continue to have strange discrepancies occuring. Perhaps - this will also behave badly in the case of meters like - 0.1/4, but I can't be bothered to test that. - */ - uint32_t ticks_on_last_beat = (uint32_t)floor(BBT_Time::ticks_per_beat * beat_fraction); - - if (bbt.beats > (uint32_t)floor(beats_per_bar) && bbt.ticks >= ticks_on_last_beat) { + bbt.ticks = metric.start().ticks + (uint32_t)round((double)frame_diff / ticks_per_frame); + uint32_t xtra_beats = bbt.ticks / (uint32_t)BBT_Time::ticks_per_beat; + bbt.ticks %= (uint32_t)BBT_Time::ticks_per_beat; + + bbt.beats = metric.start().beats + xtra_beats - 1; // correction for 1-based counting, see below for matching operation. + bbt.bars = metric.start().bars + (uint32_t)floor((double)bbt.beats / beats_per_bar); + bbt.beats = (uint32_t)fmod((double)bbt.beats, beats_per_bar); + + /* if we have a fractional number of beats per bar, we see if + we're in the last beat (the fractional one). if so, we + round ticks appropriately and bump to the next bar. */ + double beat_fraction = beats_per_bar - floor(beats_per_bar); + /* XXX one problem here is that I'm not sure how to handle + fractional beats that don't evenly divide ticks_per_beat. + If they aren't handled consistently, I would guess we'll + continue to have strange discrepancies occuring. Perhaps + this will also behave badly in the case of meters like + 0.1/4, but I can't be bothered to test that. + */ + uint32_t ticks_on_last_beat = (uint32_t)floor(BBT_Time::ticks_per_beat * beat_fraction); + + if (bbt.beats > (uint32_t)floor(beats_per_bar) && bbt.ticks >= ticks_on_last_beat) { bbt.ticks -= ticks_on_last_beat; bbt.beats = 0; bbt.bars++; - } + } - bbt.beats++; // correction for 1-based counting, see above for matching operation. + bbt.beats++; // correction for 1-based counting, see above for matching operation. // cerr << "-----\t RETURN " << bbt << endl; } @@ -875,8 +875,9 @@ TempoMap::bbt_time_with_metric (framepos_t frame, BBT_Time& bbt, const TempoMetr framecnt_t TempoMap::count_frames_between (const BBT_Time& start, const BBT_Time& end) const { - /* for this to work with fractional measure types, start and end have to be "legal" BBT types, - that means that the beats and ticks should be inside a bar + /* for this to work with fractional measure types, start and end have to be + "legal" BBT types, that means that the beats and ticks should be inside + a bar */ framecnt_t frames = 0; @@ -911,7 +912,7 @@ TempoMap::count_frames_between (const BBT_Time& start, const BBT_Time& end) cons framecnt_t TempoMap::count_frames_between_metrics (const Meter& meter, const Tempo& tempo, const BBT_Time& start, const BBT_Time& end) const { - /* this is used in timestamping the metrics by actually counting the beats */ + /* this is used in timestamping the metrics by actually counting the beats */ framecnt_t frames = 0; uint32_t bar = start.bars; @@ -997,15 +998,12 @@ TempoMap::bbt_duration_at_unlocked (const BBT_Time& when, const BBT_Time& bbt, i TempoMetric metric = metric_at(result); beats_per_bar = metric.meter().beats_per_bar(); - - - /*reduce things to legal bbt values - we have to handle possible fractional=shorter beats at the end of measures - and things like 0|11|9000 as a duration in a 4.5/4 measure - the musical decision is that the fractional beat is also a beat , although a shorter one + /* Reduce things to legal bbt values we have to handle possible + fractional=shorter beats at the end of measures and things like 0|11|9000 + as a duration in a 4.5/4 measure the musical decision is that the + fractional beat is also a beat , although a shorter one */ - if (dir >= 0) { result.beats = when.beats + bbt.beats; result.ticks = when.ticks + bbt.ticks; @@ -1017,9 +1015,12 @@ TempoMap::bbt_duration_at_unlocked (const BBT_Time& when, const BBT_Time& bbt, i beats_per_bar = metric.meter().beats_per_bar(); } - /*we now counted the beats and landed in the target measure, now deal with ticks - this seems complicated, but we want to deal with the corner case of a sequence of time signatures like 0.2/4-0.7/4 - and with request like bbt = 3|2|9000 ,so we repeat the same loop but add ticks + + /* We now counted the beats and landed in the target measure, now deal + with ticks this seems complicated, but we want to deal with the + corner case of a sequence of time signatures like 0.2/4-0.7/4 and + with request like bbt = 3|2|9000 ,so we repeat the same loop but add + ticks */ /* of course gtk_ardour only allows bar with at least 1.0 beats ..... @@ -1048,7 +1049,7 @@ TempoMap::bbt_duration_at_unlocked (const BBT_Time& when, const BBT_Time& bbt, i } else { uint32_t b = bbt.beats; - /* count beats */ + /* count beats */ while( b > when.beats ) { result.bars = max(1U,result.bars-- ) ; @@ -1063,7 +1064,7 @@ TempoMap::bbt_duration_at_unlocked (const BBT_Time& when, const BBT_Time& bbt, i } result.beats = when.beats - b; - /*count ticks */ + /* count ticks */ if (bbt.ticks <= when.ticks) { result.ticks = when.ticks - bbt.ticks; @@ -1111,8 +1112,8 @@ TempoMap::bbt_duration_at_unlocked (const BBT_Time& when, const BBT_Time& bbt, i framepos_t TempoMap::round_to_bar (framepos_t fr, int dir) { - { - Glib::RWLock::ReaderLock lm (lock); + { + Glib::RWLock::ReaderLock lm (lock); return round_to_type (fr, dir, Bar); } } @@ -1121,8 +1122,8 @@ TempoMap::round_to_bar (framepos_t fr, int dir) framepos_t TempoMap::round_to_beat (framepos_t fr, int dir) { - { - Glib::RWLock::ReaderLock lm (lock); + { + Glib::RWLock::ReaderLock lm (lock); return round_to_type (fr, dir, Beat); } } @@ -1175,13 +1176,12 @@ TempoMap::round_to_beat_subdivision (framepos_t fr, int sub_num, int dir) difference = mod; } - try { - the_beat = bbt_subtract (the_beat, BBT_Time (0, 0, difference)); - } catch (...) { - /* can't go backwards from wherever pos is, so just return it */ - return fr; - } - + try { + the_beat = bbt_subtract (the_beat, BBT_Time (0, 0, difference)); + } catch (...) { + /* can't go backwards from wherever pos is, so just return it */ + return fr; + } } else { /* round to nearest */ @@ -1556,9 +1556,9 @@ TempoMap::get_state () XMLNode *root = new XMLNode ("TempoMap"); { - Glib::RWLock::ReaderLock lm (lock); + Glib::RWLock::ReaderLock lm (lock); for (i = metrics->begin(); i != metrics->end(); ++i) { - root->add_child_nocopy ((*i)->get_state()); + root->add_child_nocopy ((*i)->get_state()); } } @@ -1917,22 +1917,22 @@ TempoMap::framepos_plus_bbt (framepos_t pos, BBT_Time op) const const MeterSection* m; const TempoSection* tempo; const TempoSection* t; - framecnt_t frames_per_beat; + framecnt_t frames_per_beat; meter = &first_meter (); tempo = &first_tempo (); - assert (meter); - assert (tempo); + assert (meter); + assert (tempo); /* find the starting metrics for tempo & meter */ for (i = metrics->begin(); i != metrics->end(); ++i) { - + if ((*i)->frame() > pos) { break; } - + if ((t = dynamic_cast(*i)) != 0) { tempo = t; } else if ((m = dynamic_cast(*i)) != 0) { @@ -1951,66 +1951,66 @@ TempoMap::framepos_plus_bbt (framepos_t pos, BBT_Time op) const checking for a new metric on every beat. */ - frames_per_beat = tempo->frames_per_beat (_frame_rate, *meter); + frames_per_beat = tempo->frames_per_beat (_frame_rate, *meter); - while (op.bars) { + while (op.bars) { - pos += llrint (frames_per_beat * meter->beats_per_bar()); + pos += llrint (frames_per_beat * meter->beats_per_bar()); op.bars--; /* check if we need to use a new metric section: has adding frames moved us to or after the start of the next metric section? in which case, use it. */ - - if (i != metrics->end()) { - if ((*i)->frame() <= pos) { - if ((t = dynamic_cast(*i)) != 0) { - tempo = t; - } else if ((m = dynamic_cast(*i)) != 0) { - meter = m; - } - ++i; - frames_per_beat = tempo->frames_per_beat (_frame_rate, *meter); + if (i != metrics->end()) { + if ((*i)->frame() <= pos) { - } + if ((t = dynamic_cast(*i)) != 0) { + tempo = t; + } else if ((m = dynamic_cast(*i)) != 0) { + meter = m; + } + ++i; + frames_per_beat = tempo->frames_per_beat (_frame_rate, *meter); + + } } - } + } while (op.beats) { /* given the current meter, have we gone past the end of the bar ? */ - - pos += frames_per_beat; + + pos += frames_per_beat; op.beats--; /* check if we need to use a new metric section: has adding frames moved us to or after the start of the next metric section? in which case, use it. */ - - if (i != metrics->end()) { - if ((*i)->frame() <= pos) { - - if ((t = dynamic_cast(*i)) != 0) { - tempo = t; - } else if ((m = dynamic_cast(*i)) != 0) { - meter = m; - } - ++i; - frames_per_beat = tempo->frames_per_beat (_frame_rate, *meter); - } - } - } - - if (op.ticks) { - if (op.ticks >= BBT_Time::ticks_per_beat) { - pos += frames_per_beat; - pos += llrint (frames_per_beat * ((op.ticks % (uint32_t) BBT_Time::ticks_per_beat) / (double) BBT_Time::ticks_per_beat)); - } else { - pos += llrint (frames_per_beat * (op.ticks / (double) BBT_Time::ticks_per_beat)); - } - } + + if (i != metrics->end()) { + if ((*i)->frame() <= pos) { + + if ((t = dynamic_cast(*i)) != 0) { + tempo = t; + } else if ((m = dynamic_cast(*i)) != 0) { + meter = m; + } + ++i; + frames_per_beat = tempo->frames_per_beat (_frame_rate, *meter); + } + } + } + + if (op.ticks) { + if (op.ticks >= BBT_Time::ticks_per_beat) { + pos += frames_per_beat; + pos += llrint (frames_per_beat * ((op.ticks % (uint32_t) BBT_Time::ticks_per_beat) / (double) BBT_Time::ticks_per_beat)); + } else { + pos += llrint (frames_per_beat * (op.ticks / (double) BBT_Time::ticks_per_beat)); + } + } return pos; } @@ -2020,30 +2020,30 @@ double TempoMap::framewalk_to_beats (framepos_t pos, framecnt_t distance) const { Metrics::const_iterator i; - double beats = 0; + double beats = 0; const MeterSection* meter; const MeterSection* m; const TempoSection* tempo; const TempoSection* t; - double frames_per_beat; + double frames_per_beat; - double ddist = distance; - double dpos = pos; + double ddist = distance; + double dpos = pos; meter = &first_meter (); tempo = &first_tempo (); - assert (meter); - assert (tempo); + assert (meter); + assert (tempo); /* find the starting metrics for tempo & meter */ for (i = metrics->begin(); i != metrics->end(); ++i) { - + if ((*i)->frame() > pos) { break; } - + if ((t = dynamic_cast(*i)) != 0) { tempo = t; } else if ((m = dynamic_cast(*i)) != 0) { @@ -2062,43 +2062,43 @@ TempoMap::framewalk_to_beats (framepos_t pos, framecnt_t distance) const checking for a new metric on every beat. */ - frames_per_beat = tempo->frames_per_beat (_frame_rate, *meter); - - while (ddist > 0) { + frames_per_beat = tempo->frames_per_beat (_frame_rate, *meter); + + while (ddist > 0) { - /* if we're nearly at the end, but have a fractional beat left, - compute the fraction and then its all over - */ + /* if we're nearly at the end, but have a fractional beat left, + compute the fraction and then its all over + */ - if (ddist < frames_per_beat) { - beats += ddist / frames_per_beat; - break; - } + if (ddist < frames_per_beat) { + beats += ddist / frames_per_beat; + break; + } - /* walk one beat */ + /* walk one beat */ - ddist -= frames_per_beat; - dpos += frames_per_beat; - beats += 1.0; + ddist -= frames_per_beat; + dpos += frames_per_beat; + beats += 1.0; /* check if we need to use a new metric section: has adding frames moved us to or after the start of the next metric section? in which case, use it. */ - - if (i != metrics->end()) { - if ((*i)->frame() <= (framepos_t) dpos) { - if ((t = dynamic_cast(*i)) != 0) { - tempo = t; - } else if ((m = dynamic_cast(*i)) != 0) { - meter = m; - } - ++i; - frames_per_beat = tempo->frames_per_beat (_frame_rate, *meter); - } + if (i != metrics->end()) { + if ((*i)->frame() <= (framepos_t) dpos) { + + if ((t = dynamic_cast(*i)) != 0) { + tempo = t; + } else if ((m = dynamic_cast(*i)) != 0) { + meter = m; + } + ++i; + frames_per_beat = tempo->frames_per_beat (_frame_rate, *meter); + } } - } + } return beats; } -- cgit v1.2.3