Skip to content

App Inventor Extension based on a mp3agic to read/write Id3 tags

Notifications You must be signed in to change notification settings

jaxparrow07/MusicMetaEditor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎵 Music Meta Editor Extension

An ID3 Tag editor extension for app inventor and it's clones.

This extension is based on this library (mp3agic) : https://github.com/mpatric/mp3agic

All the credits goes to the developer of this particular library.

You can use this extension in your Music Player to allow the user to change the audio info of songs ( like changing album art, title, artist etc.,. ) like most recent music players do. The imagination is the limit.


🗒️ Introduction to Id3

Wikipedia article ( for tag info ) : https://en.wikipedia.org/wiki/ID3

There are different version of Id3 such as ID3v1, ID3v2 ( v22,v23,v24 ). Id3v1 is too old school and there isn't much in that. So, this extension converts/copies your old ID3v1 tags to ID3v24 if it's the older version so that it ensures that you can use all the tags in your audio file.


🧩 Blocks

Events

Block Description Parameters
component_event(6)|273x84, 75% Fired when the file is loaded filePath ~ string
isV2 ~ boolean
component_event(3)|296x84, 75% Fired when the file has failed to load filePath ~ string
component_event(5)|263x84, 75% Fired when the file is saved filePath ~ string
component_event(4)|295x84, 75% Fired when the file has failed to save filePath ~ string

Functions

Block Description Parameters
component_method(4)|289x53, 100% Loads audio from file Path file Path ~ string
component_method(5)|300x29, 100% Unloads an audio file ( if loaded )
Note : You need to unload before loading a new one.
N/A
component_method(6)|267x53, 100% Saves File as file Path
file Path ~ string

Properties ( Id3 Tags )

Note : Album Art Accepts only actual file path and not Uri for now.

Tag ( Property ) Type Description/Notes
Title String Song name
Album String Album name
Artist String Artist/Band name
Artist Url String Link to his website or socials
Track String Track number
Genre int ( Use Genre Description to read and write genre as "string" ) Refer to Genre list
Genre Description String Genre in free string format
Composer String Composer Name
BPM int Beats Per Minute ( tempo/speed )
Album Art String Path to the image file ( if needed to change )
Album Artist String Arist of the entire album
Audio Source Url String Source url of the audio
Audio File Url String File url of the audio
Commercial Url String Commercial url of the audio
Copyright String Copyright text
Date String N/A
Year String N/A
Encoder String Name of the encoding software/encoder
Grouping String Grouping with other songs ( songs that are linked to each other in some ways )
iTunes Comment String Comments of iTunes ( music platform )
Key String Key ( Tone ) of the song ( more info : https://en.wikipedia.org/wiki/Key_(music) )
Length int Length in milliseconds
Lyrics String Lyrics of the song }
Original Artist String Name of the original artist ( don't know the diff. between artist and this )
Part Of Set String Part of a set if any ( don't know which data should be here )
Payment Url String Link to any payment page for the album/song
Publisher String Publisher name
Publisher Url String Any link to the publisher
Radio Station Url String Any link to the radion station
Url String Link to this song
Wmp Rating String Windows Media Player rating
has Padding bool if the song has padding
has Footer bool if the song has footer
has Unsynchronisation bool if the song has unsynchronisation
is Compilation bool if the song is a compilation
is Obselete Format ( read-only ) bool if the file is obselete format
Version ( read-only ) String Version of the metadata ( id3 )

📂 Downloads

Extension : Check Releases

ℹ️ Credits

The library which this extension is based on : https://github.com/mpatric/mp3agic

Built With Rush.