regtag - unstupidifying mp3 tagging

13
Unstupidifying mp3 tagging or... Sawyer X ( ) @PerlSawyer

Upload: xsawyer

Post on 08-May-2015

291 views

Category:

Technology


1 download

DESCRIPTION

A talk about how mp3 tagging sucks, and Regtag, which aims to solve it: https://github.com/xsawyerx/regtag This talk was originally given at YAPC::EU 2013 (in Kiev) and then at Cluj.pm, on November 7th, 2013.

TRANSCRIPT

Page 1: Regtag - Unstupidifying mp3 tagging

Unstupidifyingmp3 tagging

or...

Sawyer X ( )@PerlSawyer

Page 2: Regtag - Unstupidifying mp3 tagging

The beginning...Single mp3 files

Tagging was easy

Page 3: Regtag - Unstupidifying mp3 tagging

But then came...THE FULL ALBUMS

Not a lot at first

Kept manually editing

Sort of worked

Page 4: Regtag - Unstupidifying mp3 tagging

"Damn you, internets!" stageToo much music

Too many files

Can't tag them all easily

Page 5: Regtag - Unstupidifying mp3 tagging

ProblemsNot GNU/Linux || Mac || Windows || SolarisSelectively editing a single file each timeRequiring GUINot descriptive enoughNot generic enoughNot powerful enough(honorable mention: lltag)

Page 6: Regtag - Unstupidifying mp3 tagging

SHIT IS FUCKED UP AND BULLSHIT

MP3 TAGGING IS FUCKED UP AND BULLSHIT

Page 7: Regtag - Unstupidifying mp3 tagging

What do you do?Rip yourself?

Download quality releases?

Nothing is really what you want

Page 8: Regtag - Unstupidifying mp3 tagging

Thinking like a programmerTags are metadata

Filenames are strings

... in patterns!

Page 9: Regtag - Unstupidifying mp3 tagging

RegtagRegular expression tagging

(tagging mp3s using regular expressions)

Page 10: Regtag - Unstupidifying mp3 tagging

ExamplePropagandhi - (02) Failed States.mp3

Propagandhi - (02) Failed States.mp3

Artist: Propagandhi(?<artist>[A­Za­z]+)Track number: 02(?<track>\d{2})Track title: Failed States(?<title>.*)

$ regtag tag '/̂(?<artist>[A-Za-z]+) - \((?<track>\d{2})\) (?<title>.*)\.mp3$/'

Page 11: Regtag - Unstupidifying mp3 tagging

FeaturesSupports all mp3 v1, most of v2Full regexes (including /x)Static variables (--define artist="Dead Kennedys")Already exists ( )github.com/xsawyerx/regtag

Page 12: Regtag - Unstupidifying mp3 tagging

Future featuresReleasing to CPANBuilt-in patternsSaving/retrieving patternsTransformation callbacks (-t '$_{artist}->lc')(using Eval::Closure and AUTOLOAD)

Page 13: Regtag - Unstupidifying mp3 tagging

Thank you