Sending lengths from mp3tag to MB

The mp3tag csv export provides track lengths in frames. At least I think that’s what that non-colon’d number in the length column is. How do I apply that to the MB track parser? The parser is ignoring it. Here’s the example:

1 Captain Blood-Main Title-Peter Blood 179
2 The King’s Men 57
3 Blood Arrested 45
4 King James-Ship to America 159
5 Port Royal 104
6 Arabella Buys Blood-The Whipping 166
7 Arabella Asks for Blood to be Doctor.flac 0
8 Peter and Arabella 135
9 Night in Stockade 67
10 Plans for Escape 80
11 Horseback Riding Scene-Jeremy is Tortured 233
12 Peter Finds Jeremy 117
13 Peter is Bound-Pirates! 58
14 A Timely Interruption 185
15 The Escape 59
16 Peter Steals A Boat 127
17 The Drunken Army 69
18 Crimson Career 80
19 The Ship At Night-Tortuga 275
20 England 58
21 The Ship is Sighted 67
22 Island of Virgin Malagra 27
23 Blood Arrives 24
24 The Duel 187
25 Pater and Arabella On The Ship 139
26 Changing Curse 29
27 To Port Royal 90
28 Arabellas Remorse 110
29 Return to Port Royal-Goodbye to Arabella-Royal Pardon-The Battle 730
30 Reunion 103
31 Captain Blood-Finale 30
1 Like

The track parser wants HH:MM:SS kind of times.
I made a frames to HH:MM:SS converter macro for EmEditor.
I don’t think you have EmEditor, but you can still get inspiration from my macro.

Convert Frames to seconds:

var lengthInSeconds = Math.round(lengthInFrames / 75);

Then seconds to HH:MM:SS:

var parsableLength = toNiceTime(lengthInSeconds);

I use the track length parser from TRACKLIST_TOOLS from mb_SUPER-MIND-CONTROL-II-X-TURBO.user.js to parse only track times in release editor.

BTW your values are too small to be frames, IMO.
Maybe they are seconds?

Captain Blood: Main Title is closer to 179 seconds than to 179 frames (2,39 seconds).

2 Likes

@jesus2099 Yes, it’s not the length in frames, but in seconds.
@chuck.kahn I’ve written my own basic MB export configuration for Mp3tag, just create a new one with the following (or similar) content:

$filename(txt,utf-8)$loop(%track%)$num($if2(%track%,%_counter%),3). %title% - %artist% (%_length%)
$loopend()
3 Likes

I realized I could just use Picard to get info on an album and copy and paste that info pane into track parser. What won’t work is if there are multiple media (discs) within that pane, then all the tracks 1’s group together, followed by all the track 2’s. Is there a way to get the info pane to sort by disc #?

Album: Recordings For The Enjoyment of Music 6th Edition and The Norton Scores Vol 1
Artist: Various Artists

Tracklist:
1 Messiah, No.1: Overture - Handel (1:51)
1 Symphony No. 104 in D major (London) - I, Adagio - Allegro - Part 1 - Haydn (2:30)
1 Eine kleine Nachtmusik, K. 525 - I, Allegro - Part 1 - Mozart (0:45)
1 Gregorian Chant Gradual: Haec dies - [anonymous] (2:26)
2 Messiah, No.1: Overture - Handel (2:19)
2 Symphony No. 104 in D major (London) - I, Adagio - Allegro - Part 2 - Haydn (0:48)
2 Eine kleine Nachtmusik, K. 525 - I, Allegro - Part 2 - Mozart (2:17)
2 Notre Dame School Organum: Haec dies (exc

Not sure what’s the best solution yet, but I made a draft PR that should address this issue: https://github.com/metabrainz/picard/pull/1546

Would you mind create a ticket for this issue?

1 Like