strings are reversed
parent
f2402fa759
commit
13439f6e24
|
@ -40,11 +40,11 @@ ERROR: cuesheet-index-reserved-must-be-zero ;
|
|||
: read-metadata-block-vorbis-comment ( length -- vorbis-comment )
|
||||
! vorbis comments are in little endian...
|
||||
drop
|
||||
32 flac-read 4 >le be> dup 8 * flac-read swap >n-byte-array utf8 decode
|
||||
32 flac-read 4 >le be> dup 8 * flac-read swap >n-byte-array reverse utf8 decode
|
||||
32 flac-read 4 >le be> <iota>
|
||||
[
|
||||
drop
|
||||
32 flac-read 4 >le be> dup 8 * flac-read swap >n-byte-array utf8 decode
|
||||
32 flac-read 4 >le be> dup 8 * flac-read swap >n-byte-array reverse utf8 decode
|
||||
"=" split
|
||||
] map
|
||||
>alist vorbis-comment boa ;
|
||||
|
@ -100,17 +100,18 @@ ERROR: cuesheet-index-reserved-must-be-zero ;
|
|||
: read-metadata-block-picture ( length -- picture )
|
||||
drop
|
||||
32 flac-read <picture-type>
|
||||
32 flac-read dup 8 * flac-read swap >n-byte-array utf8 decode
|
||||
32 flac-read dup 8 * flac-read swap >n-byte-array utf8 decode
|
||||
32 flac-read dup 8 * flac-read swap >n-byte-array reverse utf8 decode
|
||||
32 flac-read dup 8 * flac-read swap >n-byte-array reverse utf8 decode
|
||||
32 flac-read
|
||||
32 flac-read
|
||||
32 flac-read
|
||||
32 flac-read
|
||||
32 flac-read dup 8 * flac-read swap >n-byte-array
|
||||
32 flac-read dup 8 *
|
||||
32 flac-read dup 8 * flac-read swap >n-byte-array reverse
|
||||
picture boa ;
|
||||
|
||||
: append-picture ( metadata picture -- metadata )
|
||||
[ dup picture>> ] dip 1array append >>picture ;
|
||||
[ dup picture>> ] dip suffix >>picture ;
|
||||
|
||||
: read-metadata-block ( metadata length type -- metadata )
|
||||
[
|
||||
|
@ -136,6 +137,12 @@ PRIVATE>
|
|||
[ read-metadata-block ] dip
|
||||
] loop ;
|
||||
|
||||
: read-stream-info/seek-data ( -- stream-info )
|
||||
read/assert-flac-magic
|
||||
32 flac-read drop
|
||||
read-metadata-block-stream-info
|
||||
[ read-metadata-block-header [ length>> 8 * flac-seek ] [ last?>> not ] bi ] loop ;
|
||||
|
||||
: <flac-stream-info> ( filename -- stream-info )
|
||||
[
|
||||
read/assert-flac-magic
|
||||
|
@ -143,6 +150,7 @@ PRIVATE>
|
|||
read-metadata-block-stream-info
|
||||
] with-flac-file-reader ;
|
||||
|
||||
! TODO: write these
|
||||
! : <flac-tags> ( filename -- tags )
|
||||
! [
|
||||
! read/assert-flac-magic
|
||||
|
@ -161,6 +169,5 @@ PRIVATE>
|
|||
! ] produce nip sift
|
||||
! ] with-flac-file-reader ;
|
||||
|
||||
|
||||
: <flac-metadata> ( filename -- metadata )
|
||||
[ read-flac-metadata ] with-flac-file-reader ;
|
||||
|
|
Loading…
Reference in New Issue