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

Regtag - Unstupidifying mp3 tagging

  • Upload
    xsawyer

  • View
    291

  • Download
    1

Embed Size (px)

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.

Citation preview

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