Launching and applying change via a script (authotkey)

I am using Autohotkey

  1. launch MP3tag
  2. open a folder and load the mp3 (via CTRL+D)
  3. remove the metadata ( CTRL+R )
  4. send filename to tag ( ALT+2 )
    I have a delay between each step so that AHK wait like 5sec before sending the next shortcut.

So far so good, my script is working if I have like ≈ 20 files.
But the problem is that sometimes I run the scrip for 500+ mp3 , in that case I need to increase the delay between the step to 1 min.

Instead of this way, I am wondering if MP3tag have an EventID when one of the process is done. I could then track this EventID with autohotkey and only then send the next command.

Is there such a thing as EventID in Mp3Tag? If yes, where can I find them?

Thanks a lot for your help!

If you set a default folder, then step 2 is not required.
If you set the option to automatically select all loaded files, then you can execute actions.

Steps 3 and 4 can be done with actions - and these wait for each other. So the external program is not necessary.
See for available actions.
(Step 3: Remove fields or remove fields except - if you selectively remove certain fields, is it strill necessary to get data from the filename?)
Setp 4 is a "Guess value" or "Format value" action.

Thanks ohrenkino and sorry for not being more clear: I am actually a script because I run several programs among which is MP3tag: like first bulkrename then mp3tag, then mp3gain, etc...

Even if I launch an action with jy script I still need to somehow tell my script that the action is done so that it can move on to the next program.

Before you go on at a specific point in your external script, you may ask wether Mp3tag window exists or not. Or maybe check the existence of a specific window ID from the running Mp3tag application.


I have some AHK scripts that I use with Mp3tag and to tell when a process is done I usually use a WinWaitActive, WinTitle command.

Another one that I use is WinWaitActive, ahk_class #32770. It's more accurate than using a Sleep command.

But ohrenkino is right, if you combine some steps into actions it will run faster and more smoothly.

Edit: DetlevD read my mind as I was posting. :smiley: