justlaputa / cue-parser Goto Github PK
View Code? Open in Web Editor NEWA nodejs library to parse cue sheet
A nodejs library to parse cue sheet
Can you enable DependaBot to take care of updating the dependencies @justlaputa?
Nice library!
Would be nice if we could also parse a string from memory (not just a file)
That way this library could also be used in the browser/web and React Native (not tied to Node.js).
Migrate project to TypeScript
Good night.
I have a cue sheet that chardet somehow determines it is encoded in ISO-8859-9. The cue file has no special characters whatsoever.
Because chardet detects ISO-8859-9 the check made at
Line 48 in 0bad7ac
Line 54 in 0bad7ac
Cheers,
David S.
Hi,
is there a way to use the cuesheet to create Stream and track metadata ?
The parseTime function in cue.js is not able to parse time code when hours is greather than 99.
Though I know cuesheet file format is not intended to support it, would you please replace :
var timePattern = /^(\d{2}):(\d{2}):(\d{2})$/,
by
var timePattern = /^(\d{2,}):(\d{2}):(\d{2})$/,
This would allow any length for hour digits.
Thank you for your work 👍
When parsing .cue with non-english characters like è, a characters with a question mark is displayed.
I attach a problematc .cue for reference:
REM GENRE Pop REM DATE 1992 REM DISCID EE0E0910 REM COMMENT "ExactAudioCopy v0.99pb4" CATALOG 4509901590208 PERFORMER "Nomadi" TITLE "Ma Noi No!" FILE "Nomadi - Ma Noi No!.flac" WAVE TRACK 01 AUDIO TITLE "Come potete giudicar" PERFORMER "Nomadi" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "Noi non ci saremo" PERFORMER "Nomadi" INDEX 00 03:21:57 INDEX 01 03:23:62 TRACK 03 AUDIO TITLE "Dio � morto" PERFORMER "Nomadi" INDEX 00 06:16:00 INDEX 01 06:17:57 TRACK 04 AUDIO TITLE "Per fare un uomo" PERFORMER "Nomadi" INDEX 00 09:10:10 INDEX 01 09:11:62 TRACK 05 AUDIO TITLE "Ho difeso il mio amore" PERFORMER "Nomadi" INDEX 00 12:12:15 INDEX 01 12:13:60 TRACK 06 AUDIO TITLE "Canzone per un'amica" PERFORMER "Nomadi" INDEX 00 16:25:35 INDEX 01 16:27:42 TRACK 07 AUDIO TITLE "Io vagabondo" PERFORMER "Nomadi" INDEX 00 19:45:37 INDEX 01 19:47:22 TRACK 08 AUDIO TITLE "Crescerai" PERFORMER "Nomadi" INDEX 00 23:39:37 INDEX 01 23:41:20 TRACK 09 AUDIO TITLE "Un giorno insieme" PERFORMER "Nomadi" INDEX 00 27:15:55 INDEX 01 27:17:35 TRACK 10 AUDIO TITLE "Tutto a posto" PERFORMER "Nomadi" INDEX 00 30:40:22 INDEX 01 30:42:22 INDEX 01 30:42:22 TRACK 11 AUDIO TITLE "Il vecchio e il bambino" PERFORMER "Nomadi" INDEX 00 34:22:17 INDEX 01 34:23:72 TRACK 12 AUDIO TITLE "Gordon" PERFORMER "Nomadi" INDEX 00 40:00:22 INDEX 01 40:02:05 TRACK 13 AUDIO TITLE "Il pilota di Hiroshima" PERFORMER "Nomadi" INDEX 00 44:28:62 INDEX 01 44:30:40 TRACK 14 AUDIO TITLE "Ma noi no!" PERFORMER "Nomadi" INDEX 00 47:44:17 INDEX 01 47:45:57 TRACK 15 AUDIO TITLE "I ragazzi dell'olivo" PERFORMER "Nomadi" INDEX 00 52:31:40 INDEX 01 52:33:00 TRACK 16 AUDIO TITLE "Gli aironi neri" PERFORMER "Nomadi" INDEX 00 55:14:22 INDEX 01 55:15:65
I can't read such characters even from cmdline. Is there a solution for this?
Not all CUE sheets use UTF-8 base character encoding.
Such files will result in mojibake in file and track names.
Some CUE files are ANSI encoded.
chardet supported encoding:
https://github.com/runk/node-chardet#supported-encodings
nodejs native supported encodings:
https://github.com/nodejs/node/blob/master/lib/buffer.js
when we found the input file's encoding is not in the nodejs's native supported list, we should stop processing and output error to user.
CUE file to reproduce the error: Putumayo Presents - Yoga Lounge.cue.txt
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.