wchar problem on windows solved.

This commit is contained in:
2026-04-30 16:34:21 +02:00
parent 229485e40b
commit 856c790257
2 changed files with 8 additions and 0 deletions
+4
View File
@@ -115,6 +115,10 @@
(define-tag-c-lib taglib_file_new_type (define-tag-c-lib taglib_file_new_type
(_fun _string/utf-8 TagLib_File_Type -> _TagLib_File-pointer)) (_fun _string/utf-8 TagLib_File_Type -> _TagLib_File-pointer))
; TagLib_File *taglib_file_new_type_wchar(const char *filename, TagLib_File_Type type);
(define-tag-c-lib taglib_file_new_type_wchar
(_fun _string/utf-16 TagLib_File_Type -> _TagLib_File-pointer))
; void taglib_file_free(TagLib_File *file); ; void taglib_file_free(TagLib_File *file);
(define-tag-c-lib taglib_file_free (define-tag-c-lib taglib_file_free
(_fun _TagLib_File-pointer -> _void)) (_fun _TagLib_File-pointer -> _void))
+4
View File
@@ -76,12 +76,16 @@
(unless valid? (unless valid?
(when (eq? (system-type 'os) 'windows) (when (eq? (system-type 'os) 'windows)
(dbg-sound "Could not open file ~a, trying wchar version on windows" file)
(unless (eq? tag-file #f)
(taglib_file_free tag-file))
(set! tag-file (taglib_file_new_wchar file)) (set! tag-file (taglib_file_new_wchar file))
(if (eq? tag-file #f) (if (eq? tag-file #f)
(set! valid? #f) (set! valid? #f)
(set! valid? (taglib_file_is_valid tag-file))))) (set! valid? (taglib_file_is_valid tag-file)))))
(unless valid? (unless valid?
(warn-sound "Could not open file ~a" file)
(unless (eq? tag-file #f) (unless (eq? tag-file #f)
(taglib_file_free tag-file) (taglib_file_free tag-file)
(set! tag-file #f))) (set! tag-file #f)))