Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Stefan Strogin
flac
Commits
16219792
Commit
16219792
authored
Nov 19, 2002
by
Josh Coalson
Browse files
finish implementation of CueSheet object wrapper
parent
160c866b
Changes
2
Hide whitespace changes
Inline
Side-by-side
include/FLAC++/metadata.h
View file @
16219792
...
...
@@ -613,11 +613,13 @@ namespace FLAC {
inline
void
set_offset
(
FLAC__uint64
value
)
{
object_
->
offset
=
value
;
}
inline
void
set_number
(
FLAC__byte
value
)
{
object_
->
number
=
value
;
}
void
set_isrc
(
char
value
[
12
]);
void
set_isrc
(
const
char
value
[
12
]);
void
set_type
(
unsigned
value
);
inline
void
set_pre_emphasis
(
bool
value
)
{
object_
->
pre_emphasis
=
value
?
1
:
0
;
}
void
set_index
(
unsigned
i
,
const
::
FLAC__StreamMetadata_CueSheet_Index
&
index
);
void
set_index
(
unsigned
i
,
const
::
FLAC__StreamMetadata_CueSheet_Index
&
index
);
//@@@@ It's awkward but to insert/delete index points
//@@@@ you must use the routines in the CueSheet class.
};
CueSheet
();
...
...
@@ -665,8 +667,10 @@ namespace FLAC {
unsigned
get_num_tracks
()
const
;
Track
get_track
(
unsigned
i
)
const
;
void
set_media_catalog_number
(
char
value
[
128
]);
void
set_offset
(
FLAC__uint64
value
);
void
set_media_catalog_number
(
const
char
value
[
128
]);
void
set_lead_in
(
FLAC__uint64
value
);
void
set_index
(
unsigned
track_num
,
unsigned
index_num
,
const
::
FLAC__StreamMetadata_CueSheet_Index
&
index
);
//! See FLAC__metadata_object_cuesheet_track_insert_index()
bool
insert_index
(
unsigned
track_num
,
unsigned
index_num
,
const
::
FLAC__StreamMetadata_CueSheet_Index
&
index
);
...
...
src/libFLAC++/metadata.cpp
View file @
16219792
...
...
@@ -69,6 +69,7 @@ namespace FLAC {
const
Application
*
application
=
dynamic_cast
<
const
Application
*>
(
object
);
const
SeekTable
*
seektable
=
dynamic_cast
<
const
SeekTable
*>
(
object
);
const
VorbisComment
*
vorbiscomment
=
dynamic_cast
<
const
VorbisComment
*>
(
object
);
const
CueSheet
*
cuesheet
=
dynamic_cast
<
const
CueSheet
*>
(
object
);
if
(
0
!=
streaminfo
)
return
new
StreamInfo
(
*
streaminfo
);
...
...
@@ -80,6 +81,8 @@ namespace FLAC {
return
new
SeekTable
(
*
seektable
);
else
if
(
0
!=
vorbiscomment
)
return
new
VorbisComment
(
*
vorbiscomment
);
else
if
(
0
!=
cuesheet
)
return
new
CueSheet
(
*
cuesheet
);
else
{
FLAC__ASSERT
(
0
);
return
0
;
...
...
@@ -781,7 +784,7 @@ namespace FLAC {
return
object_
->
indices
[
i
];
}
void
CueSheet
::
Track
::
set_isrc
(
char
value
[
12
])
void
CueSheet
::
Track
::
set_isrc
(
const
char
value
[
12
])
{
FLAC__ASSERT
(
is_valid
());
FLAC__ASSERT
(
0
!=
value
);
...
...
@@ -796,12 +799,12 @@ namespace FLAC {
object_
->
type
=
value
;
}
void
CueSheet
::
Track
::
set_index
(
unsigned
i
,
const
::
FLAC__StreamMetadata_CueSheet_Index
&
index
)
{
FLAC__ASSERT
(
is_valid
());
FLAC__ASSERT
(
i
<
object_
->
num_indices
);
object_
->
indices
[
i
]
=
index
;
}
void
CueSheet
::
Track
::
set_index
(
unsigned
i
,
const
::
FLAC__StreamMetadata_CueSheet_Index
&
index
)
{
FLAC__ASSERT
(
is_valid
());
FLAC__ASSERT
(
i
<
object_
->
num_indices
);
object_
->
indices
[
i
]
=
index
;
}
//
...
...
@@ -815,6 +818,18 @@ namespace FLAC {
CueSheet
::~
CueSheet
()
{
}
const
char
*
CueSheet
::
get_media_catalog_number
()
const
{
FLAC__ASSERT
(
is_valid
());
return
object_
->
data
.
cue_sheet
.
media_catalog_number
;
}
FLAC__uint64
CueSheet
::
get_lead_in
()
const
{
FLAC__ASSERT
(
is_valid
());
return
object_
->
data
.
cue_sheet
.
lead_in
;
}
unsigned
CueSheet
::
get_num_tracks
()
const
{
FLAC__ASSERT
(
is_valid
());
...
...
@@ -828,6 +843,28 @@ namespace FLAC {
return
Track
(
object_
->
data
.
cue_sheet
.
tracks
+
i
);
}
void
CueSheet
::
set_media_catalog_number
(
const
char
value
[
128
])
{
FLAC__ASSERT
(
is_valid
());
FLAC__ASSERT
(
0
!=
value
);
memcpy
(
object_
->
data
.
cue_sheet
.
media_catalog_number
,
value
,
128
);
object_
->
data
.
cue_sheet
.
media_catalog_number
[
128
]
=
'\0'
;
}
void
CueSheet
::
set_lead_in
(
FLAC__uint64
value
)
{
FLAC__ASSERT
(
is_valid
());
object_
->
data
.
cue_sheet
.
lead_in
=
value
;
}
void
CueSheet
::
set_index
(
unsigned
track_num
,
unsigned
index_num
,
const
::
FLAC__StreamMetadata_CueSheet_Index
&
index
)
{
FLAC__ASSERT
(
is_valid
());
FLAC__ASSERT
(
track_num
<
object_
->
data
.
cue_sheet
.
num_tracks
);
FLAC__ASSERT
(
index_num
<
object_
->
data
.
cue_sheet
.
tracks
[
track_num
].
num_indices
);
object_
->
data
.
cue_sheet
.
tracks
[
track_num
].
indices
[
index_num
]
=
index
;
}
bool
CueSheet
::
insert_index
(
unsigned
track_num
,
unsigned
index_num
,
const
::
FLAC__StreamMetadata_CueSheet_Index
&
index
)
{
FLAC__ASSERT
(
is_valid
());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment