Feature Request: Add "external tool" support in Actions

I’d wish for the possibility to have something like the "Tools" available for Action Groups.

This would help a lot in building the universal Tagger – and leave all the options to the user.

I’d use it for "standard cover images" for instance (which I now painfully do in Photoshop):

  1. An album folder can have a cover image called »%albumartistsort% - %album%.jpg«.
  2. If there’s a cover image in a file, I use the »Extract« action to save this instead (same name).
  3. I run some ImageMagick tools (convert/mogrify) on the cover to make it JPEG 160x160 px, 72 dpi.
  4. I re-import the cover with the »Import« action.
Now step (3) would be nice to have … same scheme as »Tools«:
Name, Path, Parameter, [x] for all selected files.

Or, even simpler, something like:
$exec('Title','path','parameter',showconsolewindow)
where

  • $exec = function name
  • Title = Title for the console window (if shown)
  • path = Path to executable, or batch file
  • parameter = any command line parameters passed to executable/batch file
  • showconsolewindow = Flag (bool) to indicate whether or not to show the console window
How do other MP3Tag users feel about this?

Bump! on this old request. I registered to post a new one and I've just found that someone else asked before me :slight_smile:

I throw in my vote + 1.

There are some variations possible to run an external application ...

  1. Run Runs a program as a normal window.

    Syntax:
    Run (program-name, parameters)

    Parameters:
    (s) program-name the name of the desired .EXE, .COM, .PIF, .BAT file, or a data file.

    (s) parameters optional parameters as required by the application.

    Returns:
    (i) @TRUE if the program was found; @FALSE if it wasn't.

  2. RunShell An advanced form of the Run function that even allows the specification of a working directory, along with the window view mode and whether or not to wait for completion of the run program in a single function. See Also: ShellExecute

    Syntax:
    RunShell (program-name, params, directory, display mode, waitflag)

    Parameters:
    (s) program-name the name of the desired .EXE, .COM, .PIF, .BAT file or a data file.

    (s) params optional parameters as required by the application.

    (s) directory target directory (if applicable).

    (i) display mode @NORMAL, @ICON, @ZOOMED, @HIDDEN

    (i) waitflag @WAIT, @NOWAIT, @GETPROCID, @GETEXITCODE.

    Returns:
    (i) @TRUE if the program was found.; @FALSE if it wasn't.

  3. ShellExecute Runs a program via the Windows ShellExecute command

    Syntax:
    ShellExecute (program-name, params, directory, display mode, operation)

    Parameters:
    (s) program-name the name of the desired .EXE, .COM, .PIF, .BAT file or a data file.

    (s) params optional parameters as required by the application.

    (s) directory current working directory (if applicable).

    (i) display mode @NORMAL, @ICON, @ZOOMED, @HIDDEN.; or 0 for the default mode.

    (i) operation operation to perform on the specified file.

    Returns:
    (i) @TRUE on success; @FALSE on failure.

Florian, it should not be too heavy to write such an extension to the Mp3tag scripting language as well as having a special action "Run external application" or "RunWait, RunHideWait, RunIcon, RunIconWait, RunZoom, RunZoomWait" or such.

DD.20100207.1244.CET