ffalt / jamp3 Goto Github PK
View Code? Open in Web Editor NEWid3 & mp3 library
License: MIT License
id3 & mp3 library
License: MIT License
i was writing a unit test, and saved the original file as *.bak, in order to restore the file to it's pre-test state at the end.
However, the afterTest() function failed because the .bak file disappeared during the execution of the test.
I had to use a different file extension in order for the test to work.
Why is the code in update-file.ts renaming or removing .bak files if keepBackup is set to false?
One more wish. ;) Thanks.
TagTypes MP3.removeTags(fileOrStream, tagTypes)
Where is the mistake?
const r5 = await mp3_035.read(fn, {id3v2: true});
const r7 = await mp3_037.read(fn, {id3v2: true});
console.log(r5.id3v2.end); // 394816
console.log(r7.id3v2.end); // 392816
Hello! ;D
const {ID3v2, ID3V24TagBuilder} = require('jamp3');
(async () => {
const id3v2 = new ID3v2();
const tb = new ID3V24TagBuilder();
tb.picture(3, '', 'image/jpeg', Buffer.alloc(16247, 0)); // Falls if size >= 16247
//tb.picture(3, '', 'image/jpeg', Buffer.alloc(16246, 0)); // Works if <= 16246
await id3v2.write('example.mp3', tb.buildTag(), 3, 0, {defaultEncoding: 'ucs2'});
console.log('OK.');
})().catch(console.log);
node 15.3.0 and 15.4.0
jamp 0.4.2
do you plan on adding support for buffer and streams?
Hey,
Hope you are doing well,
Before going deep into the project, I have to say, your work is amazing, keep up the good work,
So the issue is, I created some tags and saved them to the target file (which is MP3)
And I wanted to check and see if the tags have been changed, but the title and others are not showing up (in my music player of mine, which is Windows 10 Groove Music)
const tags = new ID3V24TagBuilder(ID3V24TagBuilder.encodings.utf8)
.title(info.title)
.artist(info.author.name);
this.id3v2.writeBuilder(this.storage.getPath(engine, filename), tags, {
keepBackup: false,
})
.then(() => console.log('id3v2.4 written'));
(the console writes the id3v2.4 written
, so no idea to be honest...)
Note: It's not just Groove Music Player, even file explorer can't seem to detect them.
jamp3/src/lib/id3v2/id3v2_simplify.ts
Line 218 in 77d169b
AIMP writes COMM without an identifier.
foobar2000 uses TXXX|COMMENT for comment.
Hello. jamp3
does not appear to support the mp4 format, though mp4s do support ID3. Do you have a sense of what adding mp4 support would entail?
I was looking for a good ID3 read-write module. You seem to have the most feature-full (supports both v1, v2) and the most thoroughly tested one out there. What are it's shortcomings? According to readme it is still a work in progress. Is there a place where you need a hand?
Thanks for your work on this. I currently get an error when trying to install via yarn:
> yarn add jamp3
yarn add v1.13.0
[1/4] ๐ Resolving packages...
[2/4] ๐ Fetching packages...
error [email protected]: The engine "node" is incompatible with this module. Expected version "~6.16.0". Got "11.10.0"
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
I can workaround the issue with yarn install jamp3 --ignore-engines
Please add support for PRIV frames.
I'm not seeing a way to use ID3V24TagBuilder to read in the existing tags from a file.
Every time I use it, it wipes out the existing tags.
Is there a way to initialize it with a file, and then update or add new tags, and then write back to the file?
If ID3V24TagBuilder is not the recommended way, what is? I'm not seeing any relevant examples in the README
const {MP3Reader} = require('jamp3');
jamp3/src/lib/mp3/mp3_reader.ts
Line 137 in ff77098
Is there a reason id3v1 is searched all over the file?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.