返回首頁 

Greasy Fork is available in English.

JS FLACMetadataEditor

Allows you to edit metadata of FLAC files. CO

สคริปต์นี้ไม่ควรถูกติดตั้งโดยตรง มันเป็นคลังสำหรับสคริปต์อื่น ๆ เพื่อบรรจุด้วยคำสั่งเมทา // @require https://update.greasyfork.org/scripts/40545/646530/JS%20FLACMetadataEditor.js

ผู้เขียน
AHOHNMYC
เวอร์ชัน
0.0.2.1
สร้างเมื่อ
12-04-2018
อัปเดตเมื่อ
23-04-2018
Size
19.8 กิโลไบต์
สัญญาอนุญาต
GPL-3.0-or-later

FLACMetadataEditor

Script allows you to edit metadata in FLAC files

inspired by egoroof's Browser ID3 Writer

Live demo

Usage:

// # Creating editor instance:const editor = new FLACMetadataEditor(ArrayBuffer);// # Get version:const editorVersion = editor.scriptVersion; // <- e.g. '0.0.2.1'// # Editing tags:// List with standard field names: https://xiph.org/vorbis/doc/v-commenteditor.addComment('ARTIST=Laibach');editor.addComment('ARTIST', 'Laibach');// All properties are facultative except "data"// Default values (except "data", of course) presented in example:editor.addPicture({APICtype: 3,MIMEType: 'image/jpeg',colorDepth: 0,colorNumber: 0,data: ImageDataAsArrayBuffer,description: '',width: 0,height: 0});// remove single atristeditor.removeComment('ARTIST', 'Laibach');// remove all atristseditor.removeComment('ARTIST');// remove ALL commentseditor.removeComment();// # Writing changeseditor.serializeMetadata();// # Convert r###lt to blobconst r###ltArrayBuffer = editor.arrayBuffer;const blob = new Blob([r###ltArrayBuffer], {type: 'audio/flac'});const url = URL.createObjectURL(blob);

What else?

Editable full FLAC metadata except CUESHEET

May be accessed through editor.metadata

Do console.log(editor) to explore it. Structures have self-descriptive names

Chains

As all public functions return this, we are able to create trains. e.g. this returns changed ArrayBuffer with only one comment — TITLE=The Whistleblowers

new FLACMetadataEditor(ArrayBuffer).removeComment().addComment('TITLE','The Whistleblowers').serializeMetadata().arrayBuffer;

TODO:

  • More debug output
  • METADATA_BLOCK_CUESHEET parsing (most forums don't recommend use it. Use tag CUESHEET instead. And honestly, even metaflac cannot embed all of my .cue into flacs. Nevermind)