summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrej Shadura <andrew.shadura@collabora.co.uk>2020-06-03 15:50:28 +0200
committerAndrej Shadura <andrew.shadura@collabora.co.uk>2020-06-03 15:50:28 +0200
commitc36420e0e05aed097b053416ccb273153d01d7e3 (patch)
tree7eaeb082f403b88ae24f6e00ca3e35b6ecd3ac25 /src
parent692e728c39bdf1514def23e83b2c40250f68ee98 (diff)
New upstream version 4.0.4
Diffstat (limited to 'src')
-rw-r--r--src/libaudcore/tuple.cc6
-rw-r--r--src/libaudqt/about-qt.cc12
-rw-r--r--src/libaudqt/equalizer-qt.cc6
-rw-r--r--src/libaudqt/fileopener.cc8
-rw-r--r--src/libaudqt/infopopup-qt.cc13
-rw-r--r--src/libaudqt/infowin-qt.cc6
-rw-r--r--src/libaudqt/log-inspector.cc6
-rw-r--r--src/libaudqt/prefs-window-qt.cc4
-rw-r--r--src/libaudqt/queue-manager-qt.cc6
-rw-r--r--src/libaudqt/treeview.cc21
-rw-r--r--src/libaudqt/url-opener-qt.cc6
-rw-r--r--src/libaudtag/id3/id3v22.cc24
-rw-r--r--src/libaudtag/id3/id3v24.cc52
13 files changed, 83 insertions, 87 deletions
diff --git a/src/libaudcore/tuple.cc b/src/libaudcore/tuple.cc
index f699e7d..7d710b4 100644
--- a/src/libaudcore/tuple.cc
+++ b/src/libaudcore/tuple.cc
@@ -80,7 +80,7 @@ struct TupleData
bool is_set(int field) const { return (setmask & bitmask(field)); }
- bool is_same(const TupleData & other);
+ bool is_same(const TupleData & other) const;
TupleVal * lookup(int field, bool add, bool remove);
void set_int(int field, int x);
@@ -350,7 +350,7 @@ TupleData::~TupleData()
delete[] subtunes;
}
-bool TupleData::is_same(const TupleData & other)
+bool TupleData::is_same(const TupleData & other) const
{
if (state != other.state || setmask != other.setmask ||
nsubtunes != other.nsubtunes || (!subtunes) != (!other.subtunes))
@@ -368,7 +368,7 @@ bool TupleData::is_same(const TupleData & other)
if (field_info[f].type == Tuple::String)
same = (a->str == b->str);
else
- same = (a->x = b->x);
+ same = (a->x == b->x);
if (!same)
return false;
diff --git a/src/libaudqt/about-qt.cc b/src/libaudqt/about-qt.cc
index 4496e59..a80fd33 100644
--- a/src/libaudqt/about-qt.cc
+++ b/src/libaudqt/about-qt.cc
@@ -20,6 +20,7 @@
#include <QDialog>
#include <QLabel>
#include <QPlainTextEdit>
+#include <QPointer>
#include <QTabWidget>
#include <QVBoxLayout>
@@ -85,7 +86,7 @@ static QDialog * buildAboutWindow()
return window;
}
-static QDialog * s_aboutwin = nullptr;
+static QPointer<QDialog> s_aboutwin;
namespace audqt
{
@@ -96,18 +97,11 @@ EXPORT void aboutwindow_show()
{
s_aboutwin = buildAboutWindow();
s_aboutwin->setAttribute(Qt::WA_DeleteOnClose);
-
- QObject::connect(s_aboutwin, &QObject::destroyed,
- []() { s_aboutwin = nullptr; });
}
window_bring_to_front(s_aboutwin);
}
-EXPORT void aboutwindow_hide()
-{
- if (s_aboutwin)
- delete s_aboutwin;
-}
+EXPORT void aboutwindow_hide() { delete s_aboutwin; }
} // namespace audqt
diff --git a/src/libaudqt/equalizer-qt.cc b/src/libaudqt/equalizer-qt.cc
index e603c94..5458bf4 100644
--- a/src/libaudqt/equalizer-qt.cc
+++ b/src/libaudqt/equalizer-qt.cc
@@ -23,6 +23,7 @@
#include <QHBoxLayout>
#include <QLabel>
#include <QPainter>
+#include <QPointer>
#include <QPushButton>
#include <QSlider>
#include <QStyle>
@@ -198,7 +199,7 @@ void EqualizerWindow::updateBands()
m_sliders[i]->slider.setValue(values[i]);
}
-static EqualizerWindow * s_equalizer = nullptr;
+static QPointer<EqualizerWindow> s_equalizer;
namespace audqt
{
@@ -209,9 +210,6 @@ EXPORT void equalizer_show()
{
s_equalizer = new EqualizerWindow;
s_equalizer->setAttribute(Qt::WA_DeleteOnClose);
-
- QObject::connect(s_equalizer, &QObject::destroyed,
- []() { s_equalizer = nullptr; });
}
window_bring_to_front(s_equalizer);
diff --git a/src/libaudqt/fileopener.cc b/src/libaudqt/fileopener.cc
index 1ab1e29..d1af3df 100644
--- a/src/libaudqt/fileopener.cc
+++ b/src/libaudqt/fileopener.cc
@@ -18,6 +18,7 @@
*/
#include <QFileDialog>
+#include <QPointer>
#include <libaudcore/drct.h>
#include <libaudcore/i18n.h>
@@ -29,7 +30,7 @@
namespace audqt
{
-static aud::array<FileMode, QFileDialog *> s_dialogs;
+static aud::array<FileMode, QPointer<QFileDialog>> s_dialogs;
static void import_playlist(Playlist playlist, const String & filename)
{
@@ -50,7 +51,7 @@ static void export_playlist(Playlist playlist, const String & filename)
EXPORT void fileopener_show(FileMode mode)
{
- QFileDialog *& dialog = s_dialogs[mode];
+ QPointer<QFileDialog> & dialog = s_dialogs[mode];
if (!dialog)
{
@@ -114,9 +115,6 @@ EXPORT void fileopener_show(FileMode mode)
break;
}
});
-
- QObject::connect(dialog, &QObject::destroyed,
- [&dialog]() { dialog = nullptr; });
}
window_bring_to_front(dialog);
diff --git a/src/libaudqt/infopopup-qt.cc b/src/libaudqt/infopopup-qt.cc
index 30c1e39..a8c6f7a 100644
--- a/src/libaudqt/infopopup-qt.cc
+++ b/src/libaudqt/infopopup-qt.cc
@@ -30,6 +30,7 @@
#include <QGridLayout>
#include <QLabel>
#include <QPainter>
+#include <QPointer>
namespace audqt
{
@@ -103,6 +104,9 @@ void InfoPopup::add_fields(const Tuple & tuple)
add_field(row++, _("Track"), int_to_str(track));
if (length > 0)
add_field(row++, _("Length"), str_format_time(length));
+
+ if (row > 0)
+ m_grid.setRowStretch(row - 1, 1);
}
void InfoPopup::add_field(int row, const char * field, const char * value)
@@ -111,13 +115,13 @@ void InfoPopup::add_field(int row, const char * field, const char * value)
header->setTextFormat(Qt::RichText);
header->setText(
QString("<i><font color=\"#a0a0a0\">%1</font></i>").arg(field));
- m_grid.addWidget(header, row, 0, Qt::AlignRight);
+ m_grid.addWidget(header, row, 0, Qt::AlignRight | Qt::AlignTop);
auto label = new QLabel(this);
header->setTextFormat(Qt::RichText);
auto html = QString(value).toHtmlEscaped();
label->setText(QString("<font color=\"#ffffff\">%1</font>").arg(html));
- m_grid.addWidget(label, row, 1, Qt::AlignLeft);
+ m_grid.addWidget(label, row, 1, Qt::AlignLeft | Qt::AlignTop);
}
void InfoPopup::art_ready(const char * filename)
@@ -150,7 +154,7 @@ void InfoPopup::paintEvent(QPaintEvent *)
p.fillRect(rect(), grad);
}
-static InfoPopup * s_infopopup;
+static QPointer<InfoPopup> s_infopopup;
static void infopopup_show(const String & filename, const Tuple & tuple)
{
@@ -158,9 +162,6 @@ static void infopopup_show(const String & filename, const Tuple & tuple)
s_infopopup->deleteLater();
s_infopopup = new InfoPopup(filename, tuple);
-
- QObject::connect(s_infopopup, &QObject::destroyed,
- []() { s_infopopup = nullptr; });
}
EXPORT void infopopup_show(Playlist playlist, int entry)
diff --git a/src/libaudqt/infowin-qt.cc b/src/libaudqt/infowin-qt.cc
index 853e0cc..02781f9 100644
--- a/src/libaudqt/infowin-qt.cc
+++ b/src/libaudqt/infowin-qt.cc
@@ -28,6 +28,7 @@
#include <QLabel>
#include <QPainter>
#include <QPixmap>
+#include <QPointer>
#include <QPushButton>
#include <QTextDocument>
#include <QVBoxLayout>
@@ -203,7 +204,7 @@ void InfoWindow::displayImage(const char * filename)
art_request(filename, 2 * sizes.OneInch, 2 * sizes.OneInch));
}
-static InfoWindow * s_infowin = nullptr;
+static QPointer<InfoWindow> s_infowin;
static void show_infowin(Index<PlaylistAddItem> && items, bool can_write)
{
@@ -211,9 +212,6 @@ static void show_infowin(Index<PlaylistAddItem> && items, bool can_write)
{
s_infowin = new InfoWindow;
s_infowin->setAttribute(Qt::WA_DeleteOnClose);
-
- QObject::connect(s_infowin, &QObject::destroyed,
- []() { s_infowin = nullptr; });
}
s_infowin->fillInfo(std::move(items), can_write);
diff --git a/src/libaudqt/log-inspector.cc b/src/libaudqt/log-inspector.cc
index 460c178..a5d5440 100644
--- a/src/libaudqt/log-inspector.cc
+++ b/src/libaudqt/log-inspector.cc
@@ -25,6 +25,7 @@
#include <QDialogButtonBox>
#include <QHBoxLayout>
#include <QLabel>
+#include <QPointer>
#include <QPushButton>
#include <QTreeView>
#include <QVBoxLayout>
@@ -255,7 +256,7 @@ LogEntryInspector::LogEntryInspector(QWidget * parent) : QDialog(parent)
resize(6 * sizes.OneInch, 3 * sizes.OneInch);
}
-static LogEntryInspector * s_inspector = nullptr;
+static QPointer<LogEntryInspector> s_inspector;
void LogEntryInspector::setLogLevel(audlog::Level level)
{
@@ -273,9 +274,6 @@ EXPORT void log_inspector_show()
{
s_inspector = new LogEntryInspector;
s_inspector->setAttribute(Qt::WA_DeleteOnClose);
-
- QObject::connect(s_inspector, &QObject::destroyed,
- []() { s_inspector = nullptr; });
}
window_bring_to_front(s_inspector);
diff --git a/src/libaudqt/prefs-window-qt.cc b/src/libaudqt/prefs-window-qt.cc
index 8f72ba4..96ef3ab 100644
--- a/src/libaudqt/prefs-window-qt.cc
+++ b/src/libaudqt/prefs-window-qt.cc
@@ -338,9 +338,7 @@ static const PreferencesWidget song_info_page_widgets[] = {
WidgetCheck(N_("Show popup information"),
WidgetBool(0, "show_filepopup_for_tuple")),
WidgetSpin(N_("Popup delay (tenths of a second):"),
- WidgetInt(0, "filepopup_delay"), {0, 100, 1}, WIDGET_CHILD),
- WidgetCheck(N_("Show time scale for current song"),
- WidgetBool(0, "filepopup_showprogressbar"), WIDGET_CHILD)};
+ WidgetInt(0, "filepopup_delay"), {0, 100, 1}, WIDGET_CHILD)};
static const PreferencesWidget advanced_page_widgets[] = {
WidgetLabel(N_("<b>Compatibility</b>")),
diff --git a/src/libaudqt/queue-manager-qt.cc b/src/libaudqt/queue-manager-qt.cc
index 8c5176b..2cf53bd 100644
--- a/src/libaudqt/queue-manager-qt.cc
+++ b/src/libaudqt/queue-manager-qt.cc
@@ -24,6 +24,7 @@
#include <QDialogButtonBox>
#include <QHeaderView>
#include <QItemSelectionModel>
+#include <QPointer>
#include <QPushButton>
#include <QTreeView>
#include <QVBoxLayout>
@@ -206,7 +207,7 @@ void QueueManagerDialog::removeSelected()
}
}
-static QueueManagerDialog * s_queuemgr = nullptr;
+static QPointer<QueueManagerDialog> s_queuemgr;
EXPORT void queue_manager_show()
{
@@ -214,9 +215,6 @@ EXPORT void queue_manager_show()
{
s_queuemgr = new QueueManagerDialog;
s_queuemgr->setAttribute(Qt::WA_DeleteOnClose);
-
- QObject::connect(s_queuemgr, &QObject::destroyed,
- []() { s_queuemgr = nullptr; });
}
window_bring_to_front(s_queuemgr);
diff --git a/src/libaudqt/treeview.cc b/src/libaudqt/treeview.cc
index 188175d..add19ab 100644
--- a/src/libaudqt/treeview.cc
+++ b/src/libaudqt/treeview.cc
@@ -19,6 +19,7 @@
#include "treeview.h"
+#include <QApplication>
#include <QKeyEvent>
#include <QMouseEvent>
#include <QProxyStyle>
@@ -41,8 +42,14 @@ namespace audqt
class TreeViewStyleOverrides : public QProxyStyle
{
public:
- int styleHint(StyleHint hint,
- const QStyleOption * option = nullptr,
+ TreeViewStyleOverrides()
+ {
+ // detect and respond to application-wide style change
+ connect(qApp->style(), &QObject::destroyed, this,
+ &TreeViewStyleOverrides::resetBaseStyle);
+ }
+
+ int styleHint(StyleHint hint, const QStyleOption * option = nullptr,
const QWidget * widget = nullptr,
QStyleHintReturn * returnData = nullptr) const override
{
@@ -51,12 +58,20 @@ public:
return QProxyStyle::styleHint(hint, option, widget, returnData);
}
+
+private:
+ void resetBaseStyle()
+ {
+ setBaseStyle(nullptr);
+ connect(qApp->style(), &QObject::destroyed, this,
+ &TreeViewStyleOverrides::resetBaseStyle);
+ }
};
EXPORT TreeView::TreeView(QWidget * parent) : QTreeView(parent)
{
auto style = new TreeViewStyleOverrides;
- connect(this, &QObject::destroyed, [style]() { delete style; });
+ style->setParent(this);
setStyle(style);
// activate() is perhaps a bit redundant with activated()
diff --git a/src/libaudqt/url-opener-qt.cc b/src/libaudqt/url-opener-qt.cc
index 2ea837a..1542142 100644
--- a/src/libaudqt/url-opener-qt.cc
+++ b/src/libaudqt/url-opener-qt.cc
@@ -21,6 +21,7 @@
#include <QDialog>
#include <QDialogButtonBox>
#include <QLabel>
+#include <QPointer>
#include <QPushButton>
#include <QVBoxLayout>
@@ -126,7 +127,7 @@ static QDialog * buildUrlDialog(bool open)
return dialog;
}
-static QDialog * s_dialog = nullptr;
+static QPointer<QDialog> s_dialog;
EXPORT void urlopener_show(bool open)
{
@@ -134,9 +135,6 @@ EXPORT void urlopener_show(bool open)
{
s_dialog = buildUrlDialog(open);
s_dialog->setAttribute(Qt::WA_DeleteOnClose);
-
- QObject::connect(s_dialog, &QObject::destroyed,
- []() { s_dialog = nullptr; });
}
window_bring_to_front(s_dialog);
diff --git a/src/libaudtag/id3/id3v22.cc b/src/libaudtag/id3/id3v22.cc
index f850cfa..f5e950c 100644
--- a/src/libaudtag/id3/id3v22.cc
+++ b/src/libaudtag/id3/id3v22.cc
@@ -72,7 +72,7 @@ static const char * id3_frames[ID3_TAGS_NO] = {
#pragma pack(push) /* must be byte-aligned */
#pragma pack(1)
-struct ID3v2Header {
+struct ID3v22Header {
char magic[3];
unsigned char version;
unsigned char revision;
@@ -80,7 +80,7 @@ struct ID3v2Header {
uint32_t size;
};
-struct ID3v2FrameHeader {
+struct ID3v22FrameHeader {
char key[3];
unsigned char size[3];
};
@@ -95,7 +95,7 @@ struct GenericFrame : public Index<char> {
namespace audtag {
-static bool validate_header (ID3v2Header * header)
+static bool validate_header (ID3v22Header * header)
{
if (memcmp (header->magic, "ID3", 3))
return false;
@@ -117,20 +117,20 @@ static bool validate_header (ID3v2Header * header)
static bool read_header (VFSFile & handle, int * version, bool *
syncsafe, int64_t * offset, int * header_size, int * data_size)
{
- ID3v2Header header;
+ ID3v22Header header;
if (handle.fseek (0, VFS_SEEK_SET))
return false;
- if (handle.fread (& header, 1, sizeof (ID3v2Header)) != sizeof
- (ID3v2Header))
+ if (handle.fread (& header, 1, sizeof (ID3v22Header)) != sizeof
+ (ID3v22Header))
return false;
if (validate_header (& header))
{
* offset = 0;
* version = header.version;
- * header_size = sizeof (ID3v2Header);
+ * header_size = sizeof (ID3v22Header);
* data_size = header.size;
}
else
@@ -147,14 +147,14 @@ static bool read_header (VFSFile & handle, int * version, bool *
static bool read_frame (VFSFile & handle, int max_size, int version,
bool syncsafe, int * frame_size, GenericFrame & frame)
{
- ID3v2FrameHeader header;
+ ID3v22FrameHeader header;
uint32_t hdrsz = 0;
- if ((max_size -= sizeof (ID3v2FrameHeader)) < 0)
+ if ((max_size -= sizeof (ID3v22FrameHeader)) < 0)
return false;
- if (handle.fread (& header, 1, sizeof (ID3v2FrameHeader)) != sizeof
- (ID3v2FrameHeader))
+ if (handle.fread (& header, 1, sizeof (ID3v22FrameHeader)) != sizeof
+ (ID3v22FrameHeader))
return false;
if (! header.key[0]) /* padding */
@@ -173,7 +173,7 @@ static bool read_frame (VFSFile & handle, int max_size, int version,
AUDDBG (" key = %.3s\n", header.key);
AUDDBG (" size = %d\n", (int) hdrsz);
- * frame_size = sizeof (ID3v2FrameHeader) + hdrsz;
+ * frame_size = sizeof (ID3v22FrameHeader) + hdrsz;
frame.key = String (str_copy (header.key, 3));
frame.clear ();
diff --git a/src/libaudtag/id3/id3v24.cc b/src/libaudtag/id3/id3v24.cc
index be558c9..b27163f 100644
--- a/src/libaudtag/id3/id3v24.cc
+++ b/src/libaudtag/id3/id3v24.cc
@@ -80,7 +80,7 @@ static const char * id3_frames[ID3_TAGS_NO] = {
#pragma pack(push) /* must be byte-aligned */
#pragma pack(1)
-struct ID3v2Header {
+struct ID3v24Header {
char magic[3];
unsigned char version;
unsigned char revision;
@@ -88,7 +88,7 @@ struct ID3v2Header {
uint32_t size;
};
-struct ID3v2FrameHeader {
+struct ID3v24FrameHeader {
char key[4];
uint32_t size;
uint16_t flags;
@@ -150,7 +150,7 @@ static bool skip_extended_header_4 (VFSFile & handle, int * _size)
return true;
}
-static bool validate_header (ID3v2Header * header, bool is_footer)
+static bool validate_header (ID3v24Header * header, bool is_footer)
{
if (memcmp (header->magic, is_footer ? "3DI" : "ID3", 3))
return false;
@@ -175,19 +175,19 @@ static bool read_header (VFSFile & handle, int * version, bool *
syncsafe, int64_t * offset, int * header_size, int * data_size, int *
footer_size)
{
- ID3v2Header header, footer;
+ ID3v24Header header, footer;
if (handle.fseek (0, VFS_SEEK_SET))
return false;
- if (handle.fread (& header, 1, sizeof (ID3v2Header)) != sizeof (ID3v2Header))
+ if (handle.fread (& header, 1, sizeof (ID3v24Header)) != sizeof (ID3v24Header))
return false;
if (validate_header (& header, false))
{
* offset = 0;
* version = header.version;
- * header_size = sizeof (ID3v2Header);
+ * header_size = sizeof (ID3v24Header);
* data_size = header.size;
if (header.flags & ID3_HEADER_HAS_FOOTER)
@@ -195,16 +195,16 @@ static bool read_header (VFSFile & handle, int * version, bool *
if (handle.fseek (header.size, VFS_SEEK_CUR))
return false;
- if (handle.fread (& footer, 1, sizeof (ID3v2Header)) != sizeof (ID3v2Header))
+ if (handle.fread (& footer, 1, sizeof (ID3v24Header)) != sizeof (ID3v24Header))
return false;
if (! validate_header (& footer, true))
return false;
- if (handle.fseek (sizeof (ID3v2Header), VFS_SEEK_SET))
+ if (handle.fseek (sizeof (ID3v24Header), VFS_SEEK_SET))
return false;
- * footer_size = sizeof (ID3v2Header);
+ * footer_size = sizeof (ID3v24Header);
}
else
* footer_size = 0;
@@ -216,26 +216,26 @@ static bool read_header (VFSFile & handle, int * version, bool *
if (end < 0)
return false;
- if (handle.fseek (end - sizeof (ID3v2Header), VFS_SEEK_SET))
+ if (handle.fseek (end - sizeof (ID3v24Header), VFS_SEEK_SET))
return false;
- if (handle.fread (& footer, 1, sizeof (ID3v2Header)) != sizeof (ID3v2Header))
+ if (handle.fread (& footer, 1, sizeof (ID3v24Header)) != sizeof (ID3v24Header))
return false;
if (! validate_header (& footer, true))
return false;
- * offset = end - 2 * sizeof (ID3v2Header) - footer.size;
+ * offset = end - 2 * sizeof (ID3v24Header) - footer.size;
* version = footer.version;
- * header_size = sizeof (ID3v2Header);
+ * header_size = sizeof (ID3v24Header);
* data_size = footer.size;
- * footer_size = sizeof (ID3v2Header);
+ * footer_size = sizeof (ID3v24Header);
if (handle.fseek (* offset, VFS_SEEK_SET))
return false;
- if (handle.fread (& header, 1, sizeof (ID3v2Header)) != sizeof
- (ID3v2Header))
+ if (handle.fread (& header, 1, sizeof (ID3v24Header)) != sizeof
+ (ID3v24Header))
return false;
if (! validate_header (& header, false))
@@ -312,14 +312,14 @@ static Index<char> read_tag_data (VFSFile & handle, int size, bool syncsafe)
static bool read_frame (const char * data, int max_size, int version,
int * frame_size, GenericFrame & frame)
{
- ID3v2FrameHeader header;
+ ID3v24FrameHeader header;
unsigned skip = 0;
- if ((max_size -= sizeof (ID3v2FrameHeader)) < 0)
+ if ((max_size -= sizeof (ID3v24FrameHeader)) < 0)
return false;
- memcpy (& header, data, sizeof (ID3v2FrameHeader));
- data += sizeof (ID3v2FrameHeader);
+ memcpy (& header, data, sizeof (ID3v24FrameHeader));
+ data += sizeof (ID3v24FrameHeader);
if (! header.key[0]) /* padding */
return false;
@@ -349,7 +349,7 @@ static bool read_frame (const char * data, int max_size, int version,
if (skip >= header.size)
return false;
- * frame_size = sizeof (ID3v2FrameHeader) + header.size;
+ * frame_size = sizeof (ID3v24FrameHeader) + header.size;
frame.key = String (str_copy (header.key, 4));
frame.clear ();
@@ -386,7 +386,7 @@ static bool write_frame (VFSFile & file, const GenericFrame & frame, int version
{
AUDDBG ("Writing frame %s, size %d\n", (const char *) frame.key, frame.len ());
- ID3v2FrameHeader header;
+ ID3v24FrameHeader header;
strncpy (header.key, frame.key, 4);
@@ -397,13 +397,13 @@ static bool write_frame (VFSFile & file, const GenericFrame & frame, int version
header.size = TO_BE32 (size);
header.flags = 0;
- if (file.fwrite (& header, 1, sizeof (ID3v2FrameHeader)) != sizeof (ID3v2FrameHeader))
+ if (file.fwrite (& header, 1, sizeof (ID3v24FrameHeader)) != sizeof (ID3v24FrameHeader))
return false;
if (file.fwrite (& frame[0], 1, frame.len ()) != frame.len ())
return false;
- * frame_size = sizeof (ID3v2FrameHeader) + frame.len ();
+ * frame_size = sizeof (ID3v24FrameHeader) + frame.len ();
return true;
}
@@ -427,7 +427,7 @@ static int write_all_frames (VFSFile & file, FrameDict & dict, int version)
static bool write_header (VFSFile & file, int version, int size)
{
- ID3v2Header header;
+ ID3v24Header header;
memcpy (header.magic, "ID3", 3);
header.version = version;
@@ -435,7 +435,7 @@ static bool write_header (VFSFile & file, int version, int size)
header.flags = 0;
header.size = TO_BE32 (syncsafe32 (size));
- return file.fwrite (& header, 1, sizeof (ID3v2Header)) == sizeof (ID3v2Header);
+ return file.fwrite (& header, 1, sizeof (ID3v24Header)) == sizeof (ID3v24Header);
}
static int get_frame_id (const char * key)