FFmpegfs Fuse Multi Media Filesystem 2.16
id3v1tag.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2017-2024 by Norbert Schlia (nschlia@oblivion-software.de)
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
17 *
18 * On Debian systems, the complete text of the GNU General Public License
19 * Version 3 can be found in `/usr/share/common-licenses/GPL-3'.
20 */
21
32#ifndef ID3V1TAG_H
33#define ID3V1TAG_H
34
35#pragma once
36
37#include <array>
38
41struct ID3v1
42{
43 std::array<char, 3> m_tag;
44 std::array<char, 30> m_title;
45 std::array<char, 30> m_artist;
46 std::array<char, 30> m_album;
47 std::array<char, 4> m_year;
48 std::array<char, 28> m_comment;
49 char m_padding;
51 char m_genre;
52};
53
54static_assert(sizeof(ID3v1) == 128);
55
56extern void init_id3v1(ID3v1 *id3v1);
58#define ID3V1_TAG_LENGTH sizeof(ID3v1)
60#endif // ID3V1TAG_H
void init_id3v1(ID3v1 *id3v1)
Initialise ID3v1 tag.
ID3 version 1 tag
Definition: id3v1tag.h:42
std::array< char, 30 > m_title
Title of sound track.
Definition: id3v1tag.h:44
std::array< char, 30 > m_artist
Artist name.
Definition: id3v1tag.h:45
std::array< char, 30 > m_album
Album name.
Definition: id3v1tag.h:46
char m_title_no
Title number.
Definition: id3v1tag.h:50
char m_padding
Padding byte, must be '\0'.
Definition: id3v1tag.h:49
std::array< char, 3 > m_tag
Contains "TAG".
Definition: id3v1tag.h:43
std::array< char, 4 > m_year
Year of publishing.
Definition: id3v1tag.h:47
char m_genre
Type of music.
Definition: id3v1tag.h:51
std::array< char, 28 > m_comment
Any user comments.
Definition: id3v1tag.h:48