From c4e1a7852727b0584df5b7da28a86a37891ce64b Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Thu, 25 Jun 2026 00:01:48 +0200 Subject: [PATCH] Added picture kind constants. --- libflac-ffi.rkt | 2 +- taglib.rkt | 81 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 81 insertions(+), 2 deletions(-) diff --git a/libflac-ffi.rkt b/libflac-ffi.rkt index 66207a6..16cc210 100644 --- a/libflac-ffi.rkt +++ b/libflac-ffi.rkt @@ -766,7 +766,7 @@ (let ((r (FLAC__stream_encoder_init_file enc file #f #f))) (set! flac-file file) (unless (= r FLAC__StreamEncoderInitStatus-ok) - (error 'flac-encoder-init "FLAC encoder init failed with status ~a" r)) + (error 'flac-encoder-init "FLAC encoder init failed with status ~a, state = ~a" r (FLAC__stream_encoder_get_state enc))) #t)) (define (write buffer size buf-info) diff --git a/taglib.rkt b/taglib.rkt index 3f9ec79..195afe1 100644 --- a/taglib.rkt +++ b/taglib.rkt @@ -71,8 +71,87 @@ id3-picture-kind id3-picture-size id3-picture-bytes - id3-picture-description) + id3-picture-description + PIC-KIND-OTHER + PIC-KIND-PNG-ICON32x32 + PIC-KIND-OTHER-ICON + PIC-KIND-COVER + PIC-KIND-COVER-FRONT + PIC-KIND-COVER-BACK + PIC-KIND-LEAFLET + PIC-KIND-MEDIA + PIC-KIND-LEAD-SOLOIST + PIC-KIND-ARTIST + PIC-KIND-CONDUCTOR + PIC-KIND-BAND + PIC-KIND-ORCHESTRA + PIC-KIND-COMPOSER + PIC-KIND-LYRICIST + PIC-KIND-SONG-WRITER + PIC-KIND-TEXT-WRITER + PIC-KIND-RECORDING-LOCATION + PIC-KIND-DURING-RECORDING + PIC-KIND-DURING-PERFORMANCE + PIC-KIND-SCREEN-CAPTURE + PIC-KIND-BRIGHT-COLORED-FISH + PIC-KIND-ILLUSTRATION + PIC-KIND-BAND-LOGO + PIC-KIND-PUBLISHER-LOGO + ) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Picture kinds +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;$00: Other +;$01: 32x32 pixels 'file icon' (PNG only) +;$02: Other file icon +;$03: Cover (front) (The most common standard for album art) +;$04: Cover (back) +;$05: Leaflet page +;$06: Media (e.g., label side of CD) +;$07: Lead artist/soloist +;$08: Artist/performer +;$09: Conductor +;$0A: Band/Orchestra +;$0B: Composer +;$0C: Lyricist/text writer +;$0D: Recording location +;$0E: During recording +;$0F: During performance +;$10: Movie/video screen capture +;$11: A bright colored fish +;$12: Illustration +;$13: Band/artist logotype +;$14: Publisher/Studio logotype + + (define PIC-KIND-OTHER 0) + (define PIC-KIND-PNG-ICON32x32 1) + (define PIC-KIND-OTHER-ICON 2) + (define PIC-KIND-COVER 3) + (define PIC-KIND-COVER-FRONT 3) + (define PIC-KIND-COVER-BACK 4) + (define PIC-KIND-LEAFLET 5) + (define PIC-KIND-MEDIA 6) + (define PIC-KIND-LEAD-SOLOIST 7) + (define PIC-KIND-ARTIST 8) + (define PIC-KIND-CONDUCTOR 9) + (define PIC-KIND-BAND 10) + (define PIC-KIND-ORCHESTRA 10) + (define PIC-KIND-COMPOSER 11) + (define PIC-KIND-LYRICIST 12) + (define PIC-KIND-SONG-WRITER 12) + (define PIC-KIND-TEXT-WRITER 12) + (define PIC-KIND-RECORDING-LOCATION 13) + (define PIC-KIND-DURING-RECORDING 14) + (define PIC-KIND-DURING-PERFORMANCE 15) + (define PIC-KIND-SCREEN-CAPTURE 16) + (define PIC-KIND-BRIGHT-COLORED-FISH 17) + (define PIC-KIND-ILLUSTRATION 18) + (define PIC-KIND-BAND-LOGO 19) + (define PIC-KIND-PUBLISHER-LOGO 20) + + (define-struct id3-tag-struct (handle)) (define-struct id3-picture (mimetype kind size bytes description))