[LAU] An Easier mp3Editor?

Emanuele Rusconi emarsk at gmail.com
Mon Aug 31 22:38:56 UTC 2015


Hart, I wrote a small, stupid, ugly script in lua for mpv, that maybe
you'll find useful until you find a proper solution.
You should put it in the folder '~/.mpv/scripts/'.

Here is what it does: while you play a file in mpv, every time you hit
'M' the current song time is appended to a text file.
The times are formatted as requested by mp3splt.
The text file is named after the mp3 file name, plus '_marks.txt'.

For example, if you listen to 'Building_with_fire.mp3', the times are
saved, separated by spaces, in the file
'Building_with_fire.mp3_marks.txt'.
When you're done you can edit the file and add 00.00.00 and EOF if you
need them, and then you can use:
    mp3splt Building_with_fire.mp3 $(cat Building_with_fire.mp3_marks.txt)
to split the file.

As I said, it's a stupid script, it doesn't check anything so use it
with care, but I'm not a programmer and I wanted to show you a
possible solution quickly. Maybe someone else will want to write
something better. Anyway I tested it quickly and it seems to work.

Here's the script:

-- SCRIPT START
function mark_time()
    audioFileName = mp.get_property("filename")
    marksFileName = audioFileName .. "_marks.txt"
    marksFile = io.open(marksFileName, "a")
    time = mp.get_property("time-pos")
    timeMin = math.floor( time / 60 )
    timeSec = math.floor(( time % 60 ) * 100 + 0.5 ) / 100
    timeSpltMin = string.format('%.2d', timeMin)
    timeSpltSec = string.format('%05.2f', timeSec)
    timeSplt = timeSpltMin .. '.' .. timeSpltSec
    marksFile:write(timeSplt .. ' ')
    marksFile:close()
    print(timeSplt .. " added to the marks file.")
end
mp.add_key_binding("M", mark_time)
-- SCRIPT END

Hope you'll find it useful.

-- Emanuele Rusconi


More information about the Linux-audio-user mailing list