strings are reversed

master
Steve Ayerhart 2022-08-22 23:23:23 -04:00
parent f2402fa759
commit 13439f6e24
No known key found for this signature in database
GPG Key ID: 4CB33EB9BB156C97
1 changed files with 14 additions and 7 deletions

View File

@ -40,11 +40,11 @@ ERROR: cuesheet-index-reserved-must-be-zero ;
: read-metadata-block-vorbis-comment ( length -- vorbis-comment ) : read-metadata-block-vorbis-comment ( length -- vorbis-comment )
! vorbis comments are in little endian... ! vorbis comments are in little endian...
drop 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> 32 flac-read 4 >le be> <iota>
[ [
drop 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 "=" split
] map ] map
>alist vorbis-comment boa ; >alist vorbis-comment boa ;
@ -100,17 +100,18 @@ ERROR: cuesheet-index-reserved-must-be-zero ;
: read-metadata-block-picture ( length -- picture ) : read-metadata-block-picture ( length -- picture )
drop drop
32 flac-read <picture-type> 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 reverse 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 32 flac-read
32 flac-read 32 flac-read
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 ; picture boa ;
: append-picture ( metadata picture -- metadata ) : append-picture ( metadata picture -- metadata )
[ dup picture>> ] dip 1array append >>picture ; [ dup picture>> ] dip suffix >>picture ;
: read-metadata-block ( metadata length type -- metadata ) : read-metadata-block ( metadata length type -- metadata )
[ [
@ -136,6 +137,12 @@ PRIVATE>
[ read-metadata-block ] dip [ read-metadata-block ] dip
] loop ; ] 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 ) : <flac-stream-info> ( filename -- stream-info )
[ [
read/assert-flac-magic read/assert-flac-magic
@ -143,6 +150,7 @@ PRIVATE>
read-metadata-block-stream-info read-metadata-block-stream-info
] with-flac-file-reader ; ] with-flac-file-reader ;
! TODO: write these
! : <flac-tags> ( filename -- tags ) ! : <flac-tags> ( filename -- tags )
! [ ! [
! read/assert-flac-magic ! read/assert-flac-magic
@ -161,6 +169,5 @@ PRIVATE>
! ] produce nip sift ! ] produce nip sift
! ] with-flac-file-reader ; ! ] with-flac-file-reader ;
: <flac-metadata> ( filename -- metadata ) : <flac-metadata> ( filename -- metadata )
[ read-flac-metadata ] with-flac-file-reader ; [ read-flac-metadata ] with-flac-file-reader ;