[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src audiofileio/decode/FlacAudioReader...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src audiofileio/decode/FlacAudioReader... |
Date: |
Fri, 28 Sep 2007 18:33:45 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/09/28 18:33:45
Modified files:
src/audiofileio/decode: FlacAudioReader.cpp
ResampleAudioReader.cpp
ResampleAudioReader.h
src/commands : AudioClipExternalProcessing.cpp Fade.cpp
Import.cpp Import.h MoveClip.cpp
PlayHeadMove.cpp WorkCursorMove.cpp
src/commands/plugins/TraversoCommands: TraversoCommands.cpp
src/core : AudioClip.cpp AudioClipManager.cpp
FadeCurve.cpp ReadSource.cpp ReadSource.h
SnapList.cpp Song.cpp Track.cpp Utils.cpp
src/engine : defines.h
src/traverso/dialogs: InsertSilenceDialog.cpp
src/traverso : Interface.cpp
src/traverso/songcanvas: AudioClipView.cpp ClipsViewPort.cpp
CurveNodeView.cpp CurveView.cpp
MarkerView.cpp SongView.cpp
TimeLineView.cpp
Log message:
* Disable 'converting constructor' for TimeRef to avoid assignments to
TimeRef other then qint64 and double.
Fixed a couple of (potential) bugs that were shacked out by this change
:)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/FlacAudioReader.cpp?cvsroot=traverso&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/ResampleAudioReader.cpp?cvsroot=traverso&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/ResampleAudioReader.h?cvsroot=traverso&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/AudioClipExternalProcessing.cpp?cvsroot=traverso&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/Fade.cpp?cvsroot=traverso&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/Import.cpp?cvsroot=traverso&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/Import.h?cvsroot=traverso&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveClip.cpp?cvsroot=traverso&r1=1.50&r2=1.51
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/PlayHeadMove.cpp?cvsroot=traverso&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/WorkCursorMove.cpp?cvsroot=traverso&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/plugins/TraversoCommands/TraversoCommands.cpp?cvsroot=traverso&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioClip.cpp?cvsroot=traverso&r1=1.138&r2=1.139
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioClipManager.cpp?cvsroot=traverso&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/FadeCurve.cpp?cvsroot=traverso&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/ReadSource.cpp?cvsroot=traverso&r1=1.66&r2=1.67
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/ReadSource.h?cvsroot=traverso&r1=1.38&r2=1.39
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/SnapList.cpp?cvsroot=traverso&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Song.cpp?cvsroot=traverso&r1=1.142&r2=1.143
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Track.cpp?cvsroot=traverso&r1=1.65&r2=1.66
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Utils.cpp?cvsroot=traverso&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/traverso/src/engine/defines.h?cvsroot=traverso&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/InsertSilenceDialog.cpp?cvsroot=traverso&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/Interface.cpp?cvsroot=traverso&r1=1.96&r2=1.97
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/AudioClipView.cpp?cvsroot=traverso&r1=1.98&r2=1.99
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/ClipsViewPort.cpp?cvsroot=traverso&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/CurveNodeView.cpp?cvsroot=traverso&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/CurveView.cpp?cvsroot=traverso&r1=1.60&r2=1.61
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/MarkerView.cpp?cvsroot=traverso&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/SongView.cpp?cvsroot=traverso&r1=1.78&r2=1.79
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/TimeLineView.cpp?cvsroot=traverso&r1=1.49&r2=1.50
Patches:
Index: audiofileio/decode/FlacAudioReader.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/FlacAudioReader.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- audiofileio/decode/FlacAudioReader.cpp 27 Sep 2007 16:58:22 -0000
1.9
+++ audiofileio/decode/FlacAudioReader.cpp 28 Sep 2007 18:33:43 -0000
1.10
@@ -478,7 +478,7 @@
{
Q_ASSERT(m_flac);
- if (start >= get_length()) {
+ if (start >= m_nframes) {
PERROR("FlacAudioReader: could not seek to frame %d within %s,
it's past the end.", start, m_fileName.toUtf8().data());
return false;
}
Index: audiofileio/decode/ResampleAudioReader.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/ResampleAudioReader.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- audiofileio/decode/ResampleAudioReader.cpp 27 Sep 2007 19:38:34 -0000
1.14
+++ audiofileio/decode/ResampleAudioReader.cpp 28 Sep 2007 18:33:43 -0000
1.15
@@ -90,8 +90,8 @@
// Clear the samplerateconverter to a clean state (used on seek)
void ResampleAudioReader::reset()
{
- for (int c = 0; c < m_reader->get_num_channels(); c++) {
- src_reset(m_srcStates[c]);
+ foreach(SRC_STATE* state, m_srcStates) {
+ src_reset(state);
}
m_srcData.end_of_input = 0;
@@ -149,6 +149,8 @@
m_outputRate = rate;
m_nframes = file_to_resampled_frame(m_reader->get_nframes());
m_length = TimeRef(m_nframes, m_outputRate);
+
+ reset();
}
Index: audiofileio/decode/ResampleAudioReader.h
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/ResampleAudioReader.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- audiofileio/decode/ResampleAudioReader.h 27 Sep 2007 19:38:34 -0000
1.10
+++ audiofileio/decode/ResampleAudioReader.h 28 Sep 2007 18:33:43 -0000
1.11
@@ -34,8 +34,12 @@
ResampleAudioReader(QString filename, const QString& decoder);
~ResampleAudioReader();
- nframes_t read_from(DecodeBuffer* buffer, TimeRef start, nframes_t
count) {
- return AbstractAudioReader::read_from(buffer,
start.to_frame(m_outputRate), count);
+ nframes_t read_from(DecodeBuffer* buffer, nframes_t start, nframes_t
count) {
+ return AbstractAudioReader::read_from(buffer, start, count);
+ }
+ nframes_t read_from(DecodeBuffer* buffer, const TimeRef& start,
nframes_t count) {
+ TimeRef location = start;
+ return AbstractAudioReader::read_from(buffer,
location.to_frame(m_outputRate), count);
}
QString decoder_type() const {return (m_reader) ?
m_reader->decoder_type() : "";}
void clear_buffers();
Index: commands/AudioClipExternalProcessing.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/commands/AudioClipExternalProcessing.cpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- commands/AudioClipExternalProcessing.cpp 26 Sep 2007 21:08:46 -0000
1.31
+++ commands/AudioClipExternalProcessing.cpp 28 Sep 2007 18:33:43 -0000
1.32
@@ -98,7 +98,7 @@
writesource->process(buffersize);
- spec->pos += nframes;
+ spec->pos.add_frames(nframes, m_readsource->get_rate());
} while (spec->pos != spec->totalTime);
Index: commands/Fade.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/Fade.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- commands/Fade.cpp 26 Sep 2007 20:46:32 -0000 1.23
+++ commands/Fade.cpp 28 Sep 2007 18:33:43 -0000 1.24
@@ -130,7 +130,8 @@
m_curve->set_range( m_newRange );
-
cpointer().get_viewport()->set_holdcursor_text(timeref_to_ms_3(m_newRange));
+ TimeRef location = TimeRef(m_newRange);
+
cpointer().get_viewport()->set_holdcursor_text(timeref_to_ms_3(location));
return 1;
}
Index: commands/Import.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/Import.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- commands/Import.cpp 10 Sep 2007 18:42:12 -0000 1.26
+++ commands/Import.cpp 28 Sep 2007 18:33:43 -0000 1.27
@@ -43,7 +43,7 @@
}
-Import::Import(Track* track, bool silent, const TimeRef& length)
+Import::Import(Track* track, const TimeRef& length, bool silent)
: Command(track, "")
{
m_track = track;
@@ -144,7 +144,7 @@
m_clip->set_song(m_track->get_song());
m_clip->set_track(m_track);
- TimeRef startLocation(0);
+ TimeRef startLocation(qint64(0));
if (!m_hasPosition) {
if (AudioClip* lastClip = m_track->get_cliplist().get_last()) {
startLocation = lastClip->get_track_end_location() + 1;
Index: commands/Import.h
===================================================================
RCS file: /sources/traverso/traverso/src/commands/Import.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- commands/Import.h 10 Sep 2007 18:42:13 -0000 1.7
+++ commands/Import.h 28 Sep 2007 18:33:43 -0000 1.8
@@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- $Id: Import.h,v 1.7 2007/09/10 18:42:13 r_sijrier Exp $
+ $Id: Import.h,v 1.8 2007/09/28 18:33:43 r_sijrier Exp $
*/
#ifndef IMPORT_H
@@ -33,7 +33,7 @@
{
public :
Import(const QString& fileName);
- Import(Track* track, bool silent = false, const TimeRef& length = 0);
+ Import(Track* track, const TimeRef& length, bool silent = false);
Import(Track* track, const QString& fileName);
Import(Track* track, const QString& fileName, const TimeRef& position);
~Import();
Index: commands/MoveClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveClip.cpp,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -b -r1.50 -r1.51
--- commands/MoveClip.cpp 10 Sep 2007 18:42:13 -0000 1.50
+++ commands/MoveClip.cpp 28 Sep 2007 18:33:43 -0000 1.51
@@ -282,7 +282,7 @@
m_clip->set_track_start_location(m_originalTrackStartLocation);
}
d->view->set_trackview(d->origTrackView);
- d->view->setPos(QPoint(m_originalTrackStartLocation /
d->sv->timeref_scalefactor,
+ d->view->setPos(QPoint((int)(m_originalTrackStartLocation /
d->sv->timeref_scalefactor),
d->origTrackView->get_childview_y_offset()));
}
}
@@ -329,7 +329,7 @@
TimeRef newTrackEndLocation = d->origTrackEndLocation + diff_f;
if (diff_f < 0 && d->origTrackStartLocation < (-1 * diff_f)) {
- newTrackStartLocation = TimeRef(0);
+ newTrackStartLocation = qint64(0);
} else {
newTrackStartLocation = d->origTrackStartLocation + diff_f;
}
@@ -406,7 +406,7 @@
void MoveClip::move_to_start(bool autorepeat)
{
Q_UNUSED(autorepeat)
- TimeRef location(0);
+ TimeRef location;
m_clip->set_track_start_location(location);
}
Index: commands/PlayHeadMove.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/PlayHeadMove.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- commands/PlayHeadMove.cpp 10 Sep 2007 18:42:13 -0000 1.14
+++ commands/PlayHeadMove.cpp 28 Sep 2007 18:33:43 -0000 1.15
@@ -52,7 +52,8 @@
if (m_song->is_transport_rolling()) {
m_cursor->hide();
}
- m_song->set_transport_pos(x * m_sv->timeref_scalefactor);
+ TimeRef location(x * m_sv->timeref_scalefactor);
+ m_song->set_transport_pos(location);
}
m_sv->start_shuttle(false);
return -1;
@@ -61,7 +62,7 @@
int PlayHeadMove::begin_hold()
{
m_cursor->set_active(false);
- m_origXPos = m_newXPos = m_song->get_transport_location() /
m_sv->timeref_scalefactor;
+ m_origXPos = m_newXPos = int(m_song->get_transport_location() /
m_sv->timeref_scalefactor);
m_sv->start_shuttle(true, true);
return 1;
}
@@ -97,7 +98,7 @@
if (x != m_newXPos) {
m_cursor->setPos(x, 0);
- TimeRef newpos = x * m_sv->timeref_scalefactor;
+ TimeRef newpos(x * m_sv->timeref_scalefactor);
if (m_resync && m_song->is_transport_rolling()) {
m_song->set_transport_pos(newpos);
}
Index: commands/WorkCursorMove.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/WorkCursorMove.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- commands/WorkCursorMove.cpp 10 Sep 2007 18:42:13 -0000 1.8
+++ commands/WorkCursorMove.cpp 28 Sep 2007 18:33:43 -0000 1.9
@@ -82,7 +82,7 @@
x = 0;
}
- TimeRef newLocation = x * m_sv->timeref_scalefactor;
+ TimeRef newLocation(x * m_sv->timeref_scalefactor);
if (m_song->is_snap_on()) {
SnapList* slist = m_song->get_snap_list();
Index: commands/plugins/TraversoCommands/TraversoCommands.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/commands/plugins/TraversoCommands/TraversoCommands.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- commands/plugins/TraversoCommands/TraversoCommands.cpp 15 May 2007
20:15:14 -0000 1.12
+++ commands/plugins/TraversoCommands/TraversoCommands.cpp 28 Sep 2007
18:33:43 -0000 1.13
@@ -98,7 +98,7 @@
"ImportAudioCommand needs a Track as
argument");
return 0;
}
- return new Import(track);
+ return new Import(track, TimeRef());
}
case InsertSilenceCommand:
@@ -109,7 +109,7 @@
"ImportAudioCommand needs a Track as
argument");
return 0;
}
- return new Import(track, 480000, true);
+ return new Import(track,
TimeRef(10*UNIVERSAL_SAMPLE_RATE), true);
}
case AddNewTrackCommand:
Index: core/AudioClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioClip.cpp,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -b -r1.138 -r1.139
--- core/AudioClip.cpp 26 Sep 2007 21:08:46 -0000 1.138
+++ core/AudioClip.cpp 28 Sep 2007 18:33:43 -0000 1.139
@@ -95,7 +95,8 @@
m_sourceStartLocation = TimeRef(e.attribute( "sourcestart", ""
).toLongLong(&ok));
m_sourceEndLocation = m_sourceStartLocation + m_length;
- set_track_start_location( e.attribute( "trackstart", ""
).toLongLong(&ok));
+ TimeRef location(e.attribute( "trackstart", "" ).toLongLong(&ok));
+ set_track_start_location(location);
m_domNode = node.cloneNode();
init();
}
@@ -153,7 +154,8 @@
m_sourceStartLocation = TimeRef(e.attribute( "sourcestart", ""
).toLongLong(&ok));
m_length = TimeRef(e.attribute( "length", "0" ).toLongLong(&ok));
m_sourceEndLocation = m_sourceStartLocation + m_length;
- set_track_start_location(e.attribute( "trackstart", ""
).toLongLong(&ok));
+ TimeRef location(e.attribute( "trackstart", "" ).toLongLong(&ok));
+ set_track_start_location(location);
emit stateChanged();
@@ -254,8 +256,8 @@
void AudioClip::set_left_edge(TimeRef newLeftLocation)
{
- if (newLeftLocation < 0) {
- newLeftLocation = TimeRef(0);
+ if (newLeftLocation < qint64(0)) {
+ newLeftLocation = TimeRef();
}
if (newLeftLocation < m_trackStartLocation) {
@@ -293,8 +295,8 @@
void AudioClip::set_right_edge(TimeRef newRightLocation)
{
- if (newRightLocation < 0) {
- newRightLocation = TimeRef(0);
+ if (newRightLocation < qint64(0)) {
+ newRightLocation = TimeRef();
}
if (newRightLocation > m_trackEndLocation) {
@@ -479,7 +481,7 @@
return;
}
- m_length += nframes;
+ m_length.add_frames(nframes, get_rate());
nframes_t written = 0;
if (m_track->capture_left_channel() &&
m_track->capture_right_channel()) {
@@ -517,7 +519,7 @@
return -1;
}
- m_sourceStartLocation = TimeRef(0);
+ m_sourceStartLocation = TimeRef();
m_isTake = 1;
m_recordingStatus = RECORDING;
int channelcount;
Index: core/AudioClipManager.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioClipManager.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- core/AudioClipManager.cpp 10 Sep 2007 18:42:48 -0000 1.17
+++ core/AudioClipManager.cpp 28 Sep 2007 18:33:44 -0000 1.18
@@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- $Id: AudioClipManager.cpp,v 1.17 2007/09/10 18:42:48 r_sijrier Exp $
+ $Id: AudioClipManager.cpp,v 1.18 2007/09/28 18:33:44 r_sijrier Exp $
*/
#include "AudioClipManager.h"
@@ -83,7 +83,7 @@
{
PENTER;
- lastLocation = TimeRef(0);
+ lastLocation = TimeRef();
foreach(AudioClip* clip, m_clips) {
if (clip->get_track_end_location() >= lastLocation)
Index: core/FadeCurve.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/FadeCurve.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- core/FadeCurve.cpp 24 Sep 2007 16:58:38 -0000 1.27
+++ core/FadeCurve.cpp 28 Sep 2007 18:33:44 -0000 1.28
@@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-$Id: FadeCurve.cpp,v 1.27 2007/09/24 16:58:38 r_sijrier Exp $
+$Id: FadeCurve.cpp,v 1.28 2007/09/28 18:33:44 r_sijrier Exp $
*/
#include "FadeCurve.h"
@@ -173,7 +173,7 @@
TimeRef range = TimeRef(qint64(get_range()));
- TimeRef fadepos = 0;
+ TimeRef fadepos;
if (m_type == FadeIn) {
if( !( m_song->get_transport_location() <
(m_clip->get_track_start_location() + range) ) ) {
@@ -190,12 +190,12 @@
}
TimeRef realframes(nframes, audiodevice().get_sample_rate());
- TimeRef limit = std::min (realframes.universal_frame(),
range.universal_frame());
+ TimeRef limit(std::min (realframes.universal_frame(),
range.universal_frame()));
get_vector(fadepos.universal_frame(), (fadepos +
limit).universal_frame(), m_song->gainbuffer,
limit.to_frame(audiodevice().get_sample_rate()));
nframes_t framerange = limit.to_frame(audiodevice().get_sample_rate());
- for (int chan=0; chan<channels; ++chan) {
+ for (uint chan=0; chan<channels; ++chan) {
for (nframes_t frame = 0; frame < framerange; ++frame) {
mixdown[chan][frame] *= m_song->gainbuffer[frame];
}
Index: core/ReadSource.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/ReadSource.cpp,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -b -r1.66 -r1.67
--- core/ReadSource.cpp 27 Sep 2007 20:55:50 -0000 1.66
+++ core/ReadSource.cpp 28 Sep 2007 18:33:44 -0000 1.67
@@ -165,7 +165,7 @@
m_origSongId = e.attribute("origsheetid", "0").toLongLong();
set_dir( e.attribute("dir", "" ));
m_id = e.attribute("id", "").toLongLong();
- m_rate = e.attribute("rate", "0").toUInt();
+ m_rate = m_outputRate = e.attribute("rate", "0").toUInt();
bool ok;
m_length = TimeRef(e.attribute("length", "0").toLongLong(&ok));
m_origBitDepth = e.attribute("origbitdepth", "0").toInt();
@@ -196,7 +196,7 @@
m_bufferstatus = new BufferStatus;
// Fake the samplerate, until it's set by an AudioReader!
- m_rate = project->get_rate();
+ m_rate = m_outputRate = project->get_rate();
if (m_silent) {
m_length = TimeRef(LONG_LONG_MAX);
@@ -284,7 +284,7 @@
}
-int ReadSource::file_read(DecodeBuffer* buffer, TimeRef& start, nframes_t cnt)
const
+int ReadSource::file_read(DecodeBuffer* buffer, const TimeRef& start,
nframes_t cnt) const
{
// PROFILE_START;
nframes_t result = m_audioReader->read_from(buffer, start, cnt);
@@ -295,8 +295,7 @@
int ReadSource::file_read(DecodeBuffer * buffer, nframes_t start, nframes_t
cnt)
{
- // Any way to avoid this casting, anyone ??
- return ((AbstractAudioReader*)m_audioReader)->read_from(buffer, start,
cnt);
+ return m_audioReader->read_from(buffer, start, cnt);
}
Index: core/ReadSource.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/ReadSource.h,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- core/ReadSource.h 27 Sep 2007 19:46:52 -0000 1.38
+++ core/ReadSource.h 28 Sep 2007 18:33:44 -0000 1.39
@@ -57,7 +57,7 @@
int rb_read(audio_sample_t** dest, TimeRef& start, nframes_t cnt);
void rb_seek_to_file_position(TimeRef& position);
- int file_read(DecodeBuffer* buffer, TimeRef& start, nframes_t cnt)
const;
+ int file_read(DecodeBuffer* buffer, const TimeRef& start, nframes_t
cnt) const;
int file_read(DecodeBuffer* buffer, nframes_t start, nframes_t cnt);
int init();
Index: core/SnapList.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/SnapList.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- core/SnapList.cpp 10 Sep 2007 18:42:48 -0000 1.18
+++ core/SnapList.cpp 28 Sep 2007 18:33:44 -0000 1.19
@@ -72,7 +72,7 @@
// Be able to snap to trackstart
if (m_rangeStart == 0) {
- m_xposList.append(0);
+ m_xposList.append(TimeRef());
}
for( int i = 0; i < acList->size(); i++ ) {
@@ -120,11 +120,11 @@
// create a linear lookup table
for (int i = 0; i <= range; ++i) {
- m_xposLut.push_back(0);
+ m_xposLut.push_back(TimeRef());
m_xposBool.push_back(false);
}
- TimeRef lastVal = 0;
+ TimeRef lastVal;
long lastIndex = -1;
// now modify the regions around snap points in the lookup table
for (int i = 0; i < m_xposList.size(); i++) {
@@ -307,7 +307,7 @@
do {
TimeRef snap = m_xposLut.at(index);
- if (snap < pos && snap != 0) {
+ if (snap < pos && snap != TimeRef(qint64(0))) {
newpos = snap;
break;
}
@@ -315,7 +315,7 @@
} while (index >= 0);
if (index == -1) {
- return 0;
+ return TimeRef();
}
if (newpos == pos) {
Index: core/Song.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Song.cpp,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -b -r1.142 -r1.143
--- core/Song.cpp 26 Sep 2007 21:19:39 -0000 1.142
+++ core/Song.cpp 28 Sep 2007 18:33:44 -0000 1.143
@@ -200,7 +200,8 @@
set_first_visible_frame(e.attribute( "firstVisibleFrame", "0"
).toUInt());
bool ok;
- set_work_at(e.attribute( "m_workLocation", "0").toLongLong(&ok));
+ TimeRef location(e.attribute( "m_workLocation", "0").toLongLong(&ok));
+ set_work_at(location);
m_transportLocation = TimeRef(e.attribute( "transportlocation",
"0").toLongLong(&ok));
// Start seeking to the 'old' transport pos
@@ -853,7 +854,7 @@
}
mlist = markermap.values();
- TimeRef start = 0;
+ TimeRef start;
for(int i = 0; i < mlist.size()-1; ++i) {
Marker* startmarker = mlist.at(i);
Marker* endmarker = mlist.at(i+1);
Index: core/Track.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Track.cpp,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -b -r1.65 -r1.66
Index: core/Utils.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Utils.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- core/Utils.cpp 26 Sep 2007 21:19:39 -0000 1.20
+++ core/Utils.cpp 28 Sep 2007 18:33:44 -0000 1.21
@@ -33,24 +33,24 @@
TimeRef msms_to_timeref(QString str)
{
- TimeRef out = 0;
+ TimeRef out;
QStringList lst = str.simplified().split(QRegExp("[;,.:]"),
QString::SkipEmptyParts);
- if (lst.size() >= 1) out += lst.at(0).toInt() *
ONE_MINUTE_UNIVERSAL_SAMPLE_RATE;
- if (lst.size() >= 2) out += lst.at(1).toInt() * UNIVERSAL_SAMPLE_RATE;
- if (lst.size() >= 3) out += lst.at(2).toInt() * UNIVERSAL_SAMPLE_RATE /
1000;
+ if (lst.size() >= 1) out += TimeRef(lst.at(0).toInt() *
ONE_MINUTE_UNIVERSAL_SAMPLE_RATE);
+ if (lst.size() >= 2) out += TimeRef(lst.at(1).toInt() *
UNIVERSAL_SAMPLE_RATE);
+ if (lst.size() >= 3) out += TimeRef(lst.at(2).toInt() *
UNIVERSAL_SAMPLE_RATE / 1000);
return out;
}
TimeRef cd_to_timeref(QString str)
{
- TimeRef out = 0;
+ TimeRef out;
QStringList lst = str.simplified().split(QRegExp("[;,.:]"),
QString::SkipEmptyParts);
- if (lst.size() >= 1) out += lst.at(0).toInt() *
ONE_MINUTE_UNIVERSAL_SAMPLE_RATE;
- if (lst.size() >= 2) out += lst.at(1).toInt() * UNIVERSAL_SAMPLE_RATE;
- if (lst.size() >= 3) out += lst.at(2).toInt() * UNIVERSAL_SAMPLE_RATE /
75;
+ if (lst.size() >= 1) out += TimeRef(lst.at(0).toInt() *
ONE_MINUTE_UNIVERSAL_SAMPLE_RATE);
+ if (lst.size() >= 2) out += TimeRef(lst.at(1).toInt() *
UNIVERSAL_SAMPLE_RATE);
+ if (lst.size() >= 3) out += TimeRef(lst.at(2).toInt() *
UNIVERSAL_SAMPLE_RATE / 75);
return out;
}
Index: engine/defines.h
===================================================================
RCS file: /sources/traverso/traverso/src/engine/defines.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- engine/defines.h 27 Sep 2007 19:20:30 -0000 1.24
+++ engine/defines.h 28 Sep 2007 18:33:44 -0000 1.25
@@ -59,7 +59,8 @@
TimeRef() {
m_position = 0;
}
- TimeRef(qint64 position) : m_position(position) {}
+ explicit TimeRef(qint64 position) : m_position(position) {}
+ explicit TimeRef(double position) : m_position(qint64(position)) {}
TimeRef(nframes_t frame, int rate) {
m_position = (UNIVERSAL_SAMPLE_RATE / rate) * frame;
@@ -76,6 +77,11 @@
qint64 universal_frame() const {return m_position;}
+ TimeRef operator =(qint64 value) {
+ TimeRef ref(value);
+ return ref;
+ }
+
friend int operator!=(const TimeRef& left, const TimeRef& right) {
return left.m_position != right.m_position;
}
@@ -161,6 +167,10 @@
return left.m_position == right.m_position;
}
+ friend int operator==(const TimeRef& left, qint64 right) {
+ return left.m_position == right;
+ }
+
private:
qint64 m_position;
};
Index: traverso/dialogs/InsertSilenceDialog.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/traverso/dialogs/InsertSilenceDialog.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- traverso/dialogs/InsertSilenceDialog.cpp 10 Sep 2007 18:44:15 -0000
1.4
+++ traverso/dialogs/InsertSilenceDialog.cpp 28 Sep 2007 18:33:44 -0000
1.5
@@ -79,8 +79,8 @@
m_track = shortestTrack;
}
- nframes_t length = (nframes_t)(lengthSpinBox->value() *
pm().get_project()->get_rate());
- Import* cmd = new Import(m_track, true, length);
+ TimeRef length = TimeRef(lengthSpinBox->value(),
pm().get_project()->get_rate());
+ Import* cmd = new Import(m_track, length, true);
Command::process_command(cmd);
}
Index: traverso/Interface.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/Interface.cpp,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -b -r1.96 -r1.97
--- traverso/Interface.cpp 10 Sep 2007 18:44:15 -0000 1.96
+++ traverso/Interface.cpp 28 Sep 2007 18:33:44 -0000 1.97
@@ -886,7 +886,7 @@
}
}
- Import* cmd = new Import(shortestTrack);
+ Import* cmd = new Import(shortestTrack, TimeRef());
Command::process_command(cmd);
}
}
Index: traverso/songcanvas/AudioClipView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/AudioClipView.cpp,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -b -r1.98 -r1.99
--- traverso/songcanvas/AudioClipView.cpp 26 Sep 2007 16:44:14 -0000
1.98
+++ traverso/songcanvas/AudioClipView.cpp 28 Sep 2007 18:33:44 -0000
1.99
@@ -216,7 +216,7 @@
}
if (m_dragging) {
- m_posIndicator->set_value(timeref_to_text((qint64)(x() *
m_sv->timeref_scalefactor), m_sv->timeref_scalefactor));
+ m_posIndicator->set_value(timeref_to_text(TimeRef(x() *
m_sv->timeref_scalefactor), m_sv->timeref_scalefactor));
}
painter->restore();
@@ -271,7 +271,7 @@
int availpeaks = peak->calculate_peaks( chan,
&pixeldata[chan],
microView ?
m_song->get_hzoom() : m_song->get_hzoom() + 1,
- (xstart *
m_sv->timeref_scalefactor) + clipstartoffset,
+ TimeRef(xstart *
m_sv->timeref_scalefactor) + clipstartoffset,
microView ?
peakdatacount : peakdatacount / 2 + 2);
if (peakdatacount != availpeaks) {
Index: traverso/songcanvas/ClipsViewPort.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/ClipsViewPort.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- traverso/songcanvas/ClipsViewPort.cpp 26 Sep 2007 16:32:53 -0000
1.26
+++ traverso/songcanvas/ClipsViewPort.cpp 28 Sep 2007 18:33:44 -0000
1.27
@@ -139,7 +139,7 @@
CommandGroup* group = new CommandGroup(m_sw->get_song(),
tr("Import %n audiofile(s)", "", m_imports.size() +
m_resourcesImport.size()), true);
- TimeRef startpos = mapFromGlobal(QCursor::pos()).x() *
m_sw->get_songview()->timeref_scalefactor;
+ TimeRef startpos = TimeRef(mapFromGlobal(QCursor::pos()).x() *
m_sw->get_songview()->timeref_scalefactor);
foreach(qint64 id, m_resourcesImport) {
AudioClip* clip = resources_manager()->get_clip(id);
Index: traverso/songcanvas/CurveNodeView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/CurveNodeView.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- traverso/songcanvas/CurveNodeView.cpp 24 Sep 2007 16:58:39 -0000
1.11
+++ traverso/songcanvas/CurveNodeView.cpp 28 Sep 2007 18:33:45 -0000
1.12
@@ -109,7 +109,7 @@
{
qreal halfwidth = (m_boundingRect.width() / 2);
qreal parentheight = m_parentViewItem->boundingRect().height();
- qreal when = ((qint64(m_node->get_when()) -
m_curveview->get_start_offset()) / m_sv->timeref_scalefactor) - halfwidth;
+ qreal when = ((TimeRef(m_node->get_when()) -
m_curveview->get_start_offset()) / m_sv->timeref_scalefactor) - halfwidth;
qreal value = parentheight - (m_node->get_value() * parentheight +
halfwidth);
setPos(when, value);
Index: traverso/songcanvas/CurveView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/CurveView.cpp,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -b -r1.60 -r1.61
--- traverso/songcanvas/CurveView.cpp 26 Sep 2007 16:32:53 -0000 1.60
+++ traverso/songcanvas/CurveView.cpp 28 Sep 2007 18:33:45 -0000 1.61
@@ -160,10 +160,10 @@
m_newValue = m_newValue - ( dy / d->curveView->boundingRect().height());
TimeRef startoffset = d->curveView->get_start_offset();
- if ( ((qint64(m_newWhen) - startoffset) / d->scalefactor) >
d->curveView->boundingRect().width()) {
+ if ( ((TimeRef(m_newWhen) - startoffset) / d->scalefactor) >
d->curveView->boundingRect().width()) {
m_newWhen = double(d->curveView->boundingRect().width() *
d->scalefactor + startoffset.universal_frame());
}
- if ((qint64(m_newWhen) - startoffset) < 0) {
+ if ((TimeRef(m_newWhen) - startoffset) < 0) {
m_newWhen = startoffset.universal_frame();
}
Index: traverso/songcanvas/MarkerView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/MarkerView.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- traverso/songcanvas/MarkerView.cpp 20 Sep 2007 18:25:15 -0000 1.23
+++ traverso/songcanvas/MarkerView.cpp 28 Sep 2007 18:33:45 -0000 1.24
@@ -85,7 +85,7 @@
painter->drawText(m_width + 1, m_ascent, m_marker->get_description());
if (m_dragging) {
- m_posIndicator->set_value(timeref_to_text((x() + m_width / 2) *
m_sv->timeref_scalefactor, m_sv->timeref_scalefactor));
+ m_posIndicator->set_value(timeref_to_text(TimeRef((x() +
m_width / 2) * m_sv->timeref_scalefactor), m_sv->timeref_scalefactor));
}
painter->restore();
Index: traverso/songcanvas/SongView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/SongView.cpp,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -b -r1.78 -r1.79
--- traverso/songcanvas/SongView.cpp 24 Sep 2007 16:58:39 -0000 1.78
+++ traverso/songcanvas/SongView.cpp 28 Sep 2007 18:33:45 -0000 1.79
@@ -470,7 +470,7 @@
Command* SongView::goto_begin()
{
stop_follow_play_head();
- m_song->set_work_at(0);
+ m_song->set_work_at(TimeRef());
center();
return (Command*) 0;
}
@@ -500,7 +500,7 @@
Command * SongView::touch( )
{
QPointF point =
m_clipsViewPort->mapToScene(QPoint(cpointer().on_first_input_event_x(),
cpointer().on_first_input_event_y()));
- m_song->set_work_at((qint64)(point.x() * timeref_scalefactor));
+ m_song->set_work_at(TimeRef(point.x() * timeref_scalefactor));
return 0;
}
@@ -509,7 +509,7 @@
{
QPointF point =
m_clipsViewPort->mapToScene(QPoint(cpointer().on_first_input_event_x(),
cpointer().on_first_input_event_y()));
m_playCursor->setPos(point.x(), 0);
- m_song->set_transport_pos((qint64)(point.x() * timeref_scalefactor));
+ m_song->set_transport_pos(TimeRef(point.x() * timeref_scalefactor));
return 0;
}
@@ -517,7 +517,7 @@
Command * SongView::play_to_begin( )
{
m_playCursor->setPos(0, 0);
- m_song->set_transport_pos(0);
+ m_song->set_transport_pos(TimeRef());
return 0;
}
@@ -535,8 +535,8 @@
void SongView::set_snap_range(int start)
{
// printf("SongView::set_snap_range\n");
- m_song->get_snap_list()->set_range(start * timeref_scalefactor,
- (start +
m_clipsViewPort->viewport()->width()) * timeref_scalefactor,
+ m_song->get_snap_list()->set_range(TimeRef(start * timeref_scalefactor),
+ TimeRef((start +
m_clipsViewPort->viewport()->width()) * timeref_scalefactor),
timeref_scalefactor);
}
@@ -626,7 +626,7 @@
Command * SongView::center_playhead( )
{
TimeRef centerX = m_song->get_transport_location();
- set_hscrollbar_value(centerX / timeref_scalefactor -
m_clipsViewPort->width() / 2);
+ set_hscrollbar_value(int(centerX / timeref_scalefactor -
m_clipsViewPort->width() / 2));
follow_play_head();
Index: traverso/songcanvas/TimeLineView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/TimeLineView.cpp,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -b -r1.49 -r1.50
--- traverso/songcanvas/TimeLineView.cpp 26 Sep 2007 20:46:34 -0000
1.49
+++ traverso/songcanvas/TimeLineView.cpp 28 Sep 2007 18:33:45 -0000
1.50
@@ -175,7 +175,7 @@
}
d->jogBypassPos = cpointer().x();
- TimeRef newpos = (cpointer().scene_x() * d->scalefactor);
+ TimeRef newpos = TimeRef(cpointer().scene_x() * d->scalefactor);
if (m_marker->get_timeline()->get_song()->is_snap_on()) {
SnapList* slist =
m_marker->get_timeline()->get_song()->get_snap_list();
@@ -298,17 +298,17 @@
// minor is double so they line up right with the majors,
// despite not always being an even number of frames
// @Ben : is still still the same when using TimeRef based calculations?
- TimeRef minor = qint64(major/10);
+ TimeRef minor = TimeRef(major/10);
- TimeRef firstLocation = xstart * m_sv->timeref_scalefactor;
- TimeRef lastLocation = xstart * m_sv->timeref_scalefactor + pixelcount
* m_sv->timeref_scalefactor;
+ TimeRef firstLocation = TimeRef(xstart * m_sv->timeref_scalefactor);
+ TimeRef lastLocation = TimeRef(xstart * m_sv->timeref_scalefactor +
pixelcount * m_sv->timeref_scalefactor);
int xstartoffset = m_sv->hscrollbar_value();
painter->setMatrixEnabled(false);
TimeRef factor = (firstLocation/major)*major;
// Draw minor ticks
- for (qint64 i = 0; i < (lastLocation-firstLocation+major) / minor; i++
) {
+ for (qint64 i = 0; i < ((lastLocation-firstLocation+major) /
minor).universal_frame(); i++ ) {
int x = (int)((factor + i * minor) / m_sv->timeref_scalefactor)
- xstartoffset;
painter->drawLine(x, height - 5, x, height - 1);
}
@@ -377,7 +377,7 @@
// check if it is the first marker added to the timeline
if (!m_timeline->get_markers().size()) {
if (when > 0) { // add one at the beginning of the song
- Marker* m = new Marker(m_timeline, Marker::CDTRACK);
+ Marker* m = new Marker(m_timeline, TimeRef(),
Marker::CDTRACK);
m->set_description("");
group->add_command(m_timeline->add_marker(m));
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src audiofileio/decode/FlacAudioReader...,
Remon Sijrier <=