[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src common/Utils.cpp common/Utils.h tr...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src common/Utils.cpp common/Utils.h tr... |
Date: |
Sat, 01 Dec 2007 16:34:23 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/12/01 16:34:23
Modified files:
src/common : Utils.cpp Utils.h
src/traverso/dialogs: MarkerDialog.cpp
Log message:
* added timeref_to_cd_including_hours() function, used by Marker Editor
for proper operation. restored the timeref_to_cd() and cd_to_timeref()
functions, so we're sure that cdrdao understands the toc
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/common/Utils.cpp?cvsroot=traverso&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/traverso/src/common/Utils.h?cvsroot=traverso&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/MarkerDialog.cpp?cvsroot=traverso&r1=1.20&r2=1.21
Patches:
Index: common/Utils.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/common/Utils.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- common/Utils.cpp 30 Nov 2007 19:58:08 -0000 1.7
+++ common/Utils.cpp 1 Dec 2007 16:34:23 -0000 1.8
@@ -48,6 +48,18 @@
TimeRef out;
QStringList lst = str.simplified().split(QRegExp("[;,.:]"),
QString::SkipEmptyParts);
+ 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;
+}
+
+TimeRef cd_to_timeref_including_hours(QString str)
+{
+ TimeRef out;
+ QStringList lst = str.simplified().split(QRegExp("[;,.:]"),
QString::SkipEmptyParts);
+
if (lst.size() >= 1) out += TimeRef(lst.at(0).toInt() *
ONE_HOUR_UNIVERSAL_SAMPLE_RATE);
if (lst.size() >= 2) out += TimeRef(lst.at(1).toInt() *
ONE_MINUTE_UNIVERSAL_SAMPLE_RATE);
if (lst.size() >= 3) out += TimeRef(lst.at(2).toInt() *
UNIVERSAL_SAMPLE_RATE);
@@ -170,7 +182,7 @@
return spos;
}
-// Frame to HH:MM:SS,75 (75ths of a second, for CD burning)
+// Frame to MM:SS:75 (75ths of a second, for CD burning)
QString timeref_to_cd (const TimeRef& ref)
{
QString spos;
@@ -179,6 +191,25 @@
qint64 universalframe = ref.universal_frame();
+ mins = universalframe / ( ONE_MINUTE_UNIVERSAL_SAMPLE_RATE );
+ remainder = universalframe - ( mins * ONE_MINUTE_UNIVERSAL_SAMPLE_RATE
);
+ secs = remainder / UNIVERSAL_SAMPLE_RATE;
+ remainder -= secs * UNIVERSAL_SAMPLE_RATE;
+ frames = remainder * 75 / UNIVERSAL_SAMPLE_RATE;
+ spos.sprintf ( " %02d:%02d:%02d", mins, secs, frames );
+
+ return spos;
+}
+
+// Frame to HH:MM:SS,75 (75ths of a second, for CD burning)
+QString timeref_to_cd_including_hours (const TimeRef& ref)
+{
+ QString spos;
+ qint64 remainder;
+ int hours, mins, secs, frames;
+
+ qint64 universalframe = ref.universal_frame();
+
hours = int(universalframe / ONE_HOUR_UNIVERSAL_SAMPLE_RATE);
remainder = qint64(universalframe - (hours *
ONE_HOUR_UNIVERSAL_SAMPLE_RATE));
mins = (int) (remainder / ( ONE_MINUTE_UNIVERSAL_SAMPLE_RATE ));
@@ -191,7 +222,6 @@
return spos;
}
-
QString timeref_to_text(const TimeRef & ref, int scalefactor)
{
if (scalefactor >= 512*640) {
Index: common/Utils.h
===================================================================
RCS file: /sources/traverso/traverso/src/common/Utils.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- common/Utils.h 20 Oct 2007 17:38:17 -0000 1.3
+++ common/Utils.h 1 Dec 2007 16:34:23 -0000 1.4
@@ -36,9 +36,11 @@
QString timeref_to_ms_3 (const TimeRef& ref);
QString timeref_to_text(const TimeRef& ref, int scalefactor);
QString timeref_to_cd(const TimeRef& ref);
+QString timeref_to_cd_including_hours(const TimeRef& ref);
TimeRef msms_to_timeref(QString str);
TimeRef cd_to_timeref(QString str);
+TimeRef cd_to_timeref_including_hours(QString str);
QString coefficient_to_dbstring(float coeff);
QDateTime extract_date_time(qint64 id);
Index: traverso/dialogs/MarkerDialog.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/dialogs/MarkerDialog.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- traverso/dialogs/MarkerDialog.cpp 30 Nov 2007 19:35:44 -0000 1.20
+++ traverso/dialogs/MarkerDialog.cpp 1 Dec 2007 16:34:23 -0000 1.21
@@ -171,7 +171,7 @@
foreach(Marker* marker, tl->get_markers()) {
QString name = marker->get_description();
- QString pos = timeref_to_cd(marker->get_when());
+ QString pos = timeref_to_cd_including_hours(marker->get_when());
QTreeWidgetItem* item = new QTreeWidgetItem(markersTreeWidget);
item->setText(0, QString("%1 %2").arg(index, 2, 10,
QLatin1Char('0')).arg(song->get_title()));
@@ -214,7 +214,7 @@
marker->set_copyprotect(checkBoxCopy->isChecked());
}
- lineEditPosition->setText(timeref_to_cd(m_marker->get_when()));
+
lineEditPosition->setText(timeref_to_cd_including_hours(m_marker->get_when()));
lineEditTitle->setText(m_marker->get_description());
lineEditPerformer->setText(m_marker->get_performer());
lineEditComposer->setText(m_marker->get_composer());
@@ -549,7 +549,7 @@
out << " <h2>" << m_project->get_description() << "</h2>\n";
out << " <hr>\n";
- out << " <table>\n <tr><th>Position
(mm:ss.frames)</th><th>Title</th>\n";
+ out << " <table>\n <tr><th>Position
(mm:ss:frames)</th><th>Title</th>\n";
if (comboBoxDisplaySong->currentIndex() >= m_songlist.size()) {
return;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src common/Utils.cpp common/Utils.h tr...,
Remon Sijrier <=