AMIP Configurator Documentation

Configurator is the complete GUI to customize your AMIP settings. It's written in Java and requires JRE to run (1.5 or later version. 1.6 is recommended at the moment). Refer to installation instructions for details.

The old native AMIP settings dialog is no longer maintained, so if you want to feel the power of AMIP, you should consider using this thing.

AMIP Configurator interface is very simple. On the left there is a tree with option page titles, on the right there is the page with options. At the bottom there are buttons. Help opens the documentation, OK closes the Configurator with saving settings, Cancel closes without save, Apply saves changes without exit.

AMIP checks config file timestamp and detects changes automatically. Once config is updated by the Configurator, AMIP will automatically load it and apply all the changes.

General

Enable AMIP
Allows you to control if AMIP is enabled or disabled. When it's disabled, song updates will be not detected, but keyboard schortcuts and API calls will still work.

Restore playback from last played song and position
When player is started, it will continue to play from the last played song and position when this option is enabled.

Convert underscores to spaces in variables
When enabled, AMIP will convert '_' and '%20' to spaces in all its variables. If you don't wan't such conversion, disable this option and use $u2s AMIP function when necessary.

Check for song change every
Interval in milliseconds, sets how often AMIP should ask player for song title and see if it has changed. In this timer callback some other AMIP real-time variables are updated and actions performed, so it's not recommended to change this setting. The default is 1000ms.

Ignore song titles matching pattern:
Sets the regular expression pattern for the song titles that should be ignored. | special char allows to concatenate multiple conditions with OR logic. By default contains titles reported by Winamp when it's connecting to the stream or buffering, such titles will be not reported anywhere.

Search/Jump

Hotkey
Sets the hotkey for AMIP Search/Jump dialog. It's a global hotkey, so other applications will not be able to use it when AMIP is running. Default is Ctrl+J. Once hit, AMIP Playlist Search dialog will appear where you can search and jump to any song you like instantly.

Show index numbers in the search window
If enabled, AMIP Search dialog will contain song index number in the playlist. If your player already returns title with index or you don't want numbers in the list, disable this option.

Auto start playing after search is finished (IRC Only)
When you perform search using playlist search commands, AMIP will start playing found songs automatically if this option is enabled.

Song info format:
Playlist search dialog contains 3 lines at the bottom with the song information. You can customize the contents of these lines here. AMIP formatting functions and variables are allowed here.

IRC Integration

Announce automatically
When enabled, clients (mIRC) will receive song information formatted according to the current preset automatically on every song change. It's disabled by default since it's not polite to flood IRC channels with your song details. Consider using manual mode. Some scripts that get song information from AMIP via alias and parameters in the preset require this option to be turned on so that the script can update its internal data.

IRC Client:
Presets for most commonly used IRC clients (mIRC, PIRCH, Bersirc, Klient). You can choose one of the clients from the list and the rest settings will be chosen automatically (this is for DDE Transport only at the moment). If you choose Custom from the list, you'll be able to specify custom DDE Settings for your client (DDE Topic and DDE Item), change this only if you know what you are doing.

Transport:
Configures the transport that AMIP will use to communicate with your client. It's a kind of common API or protocol that both AMIP and client understand.

DDE – the old transport, but you usually don't need any additional components to use it with most clients. DDE has some issues and may hang AMIP (and your player) in some cases and is known to be not very fast. If you can use other transport, don't use DDE, though it's default at the moment.

FileMapping – the fast and safe transport supported by mIRC out of the box. Use this if you don't want to install additional components and your client is mIRC.

Socket – the modern transport. It's based on the Remote Call Framework and is supported since AMIP 2.53. There is ac.dll for mIRC to work with Socket transport. All the clients based on the new AMIP SDK will also use this transport. With Socket transport you can have AMIP on one machine and client on another machine working together via TCP/IP.

Disabled – all transports disabled, but AMIP SDK listeners based on Socket transport will still work.

DDE Server name:
The name of the DDE server that will be used when DDE transport is enabled to connect to the client. For mIRC the default is mIRC. You need to make sure that mIRC is configured to use the same DDE Server name in mIRC Options | Other | DDE…

Print status using:
Specifies an alias that AMIP will use to print some status information to your client. Default /echo -s will print the status into mIRC Status window (it includes AMIP messages on startup, results of some API commands, command line playlist search results and similar stuff). Should end with space.

AMIP's DDE Server:
The DDE server AMIP accepts API commands on. Default is mplug, so that you can use /dde mplug commands from mIRC. Check the list of available commands.

Strip mIRC control codes
When enabled, all the mIRC control codes will be removed from the presets.

Show welcome message in status on player startup
By default AMIP will send a message on startup to the client status with Print status using alias:

AMIP v2.53 enabled - type /dde mPlug help to get help and /dde mPlug options to configure AMIP
Manual mode: use /dde mplug announce to show now playing info
Report bugs and wishes to coder@tools-for.net, visit http://amip.tools-for.net for updates

You can disable it here.

Show AMIP notifications in IRC client
Disables notifications sent by AMIP. For example, when you invoke control pauseAPI command, AMIP will print to status: Playback paused. Disable it through this option if you like.

When Socket transport is selected you will see a button that opens a dialog forConnection Settings:Host:
Address (either IP or domain name) of the machine where client utilizing AMIP SDK is running.

Port:
The port client part is listening on.

Timeout:
Connection timeout in milliseconds.

Don't connect for (seconds)
AMIP will not try to connect for the specified number of seconds if it detects that client has gone off-line.

if failed (times)
Client is considered off-line if this number of subsequent connections will fail.

Presets

Contains tabs with 4 presets than you can switch. Selected preset is used by AMIP. Preset is the place where you put the commands that should be passed to the client (mIRC) and do something with the song information. Each command should be put on the separate line.

Output with random preset
When selected AMIP will randomly choose the preset for client output (works in automatic mode only).

Channels

In this dialog you can add channels that will receive AMIP song announcements via /cme and /cmsg commands. Read this FAQ entry for details.

File/E-Mail

Enabled
You can enable/disable this integration completely. When enabled, file name is set and presets for player states are not empty, then AMIP will write song info into file.

File:
Specify the file name where to write song details. You can press the "…" button to browse for the file.

Play/Pause/Stop/Exit Tabs
You can specify different presets depending on the player state. When player changes the state, file will be updated automatically with the format from appropriate preset. You can have multiple lines in the preset. File preset can contain the same data as IRC template, except Commands.

Encoding
Specifies encoding for the file. At the moment it's useful only for Cyrillic. Can be one of:

Windows (cp1251)

DOS/OEM (cp866)

FIDO (same as DOS, but with H and p replaced.

KOI8-R

Delete file on exit
When you close your player, file will be automatically deleted if this option is enabled.

Update file every second
If your presets includes some dynamic data, such as seconds/minutes played/left, enable this option and file will be updated. Actually the update interval is the same that set in General settings, but the default value is 1000ms.

Clipboard

Here you can configure various options for the clipboard integration. AMIP integrates nicely with the standard Windows clipboard. This allows you to use special paste hotkey to paste now playing song information into any application. It can be a browser form, e-mail or IM client, terminal window, Office document, etc. The only limitation is that the component that is focused should be able to accept usual text pastes by (Ctrl+V or Shift+Insert) hotkeys.

Hotkey
Allows to change keyboard shortcut that is used to paste now playing song information into applications. Default shortcut is Ctrl+Alt+Z. I use Win+S.

Format:
Everything except commands can be used in the format preset. Preset can have multiple lines.

Exceptions:
AMIP emulates paste keyboard shortcut to insert now playing details into the active component. Some applications accept Ctrl+V, others accept Shift+Insert, some support both. You can list application executable names for the programs which do not support Ctrl+V and require Shift+Insert to paste data. Executables must be separated with comma, like: putty.exe,miranda32.exe,mirc32.exe.

Send Enter
Check to emulate pressing of Enter key after paste, useful in instant messengers to send the message with now playing song information automatically.

Send Ctrl+Enter
Same as above, but emulates pressing of Ctrl+Enter.

Paste into active window
This option is turned on by default and AMIP emulates pasting into the currently active window. You may want to disable this option if you want to paste manually. In this case you need to disable the next option.

Restore clipboard text after paste
Controls whether AMIP should restore clipboard text or not after pasting song info. In some cases automatic pasting emulation doesn't work (like in full-screen games). You can disable this option, then trigger AMIP shortcut to put current song info into the clipboard and then trigger paste shortcut in your game to insert song info from the clipboard.

Doubleclick threshold
Not actually a click, but key press. If you press the Hotkey configured above twice within this threshold, then application window will flash and AMIP will automatically add the currently active application executable into Exceptions list and will use Shift+Insert to paste for this application. If you press it twice again, application will be removed from the exceptions list.

Configure application specific presets
Press this button to open a new dialog that allows to configure presets specific to applications. AMIP will automatically choose custom preset format depending on the application you paste in. It's also possible to specify key codes that will be sent to the app after paste. On the left of the dialog there is a list of executables, select the one to change.

If you want to add the new app, just type in the name of the new executable, specify preset and press Save button.

Executable name:
Application executable name that will be used to choose the preset. AMIP gets the window handle of the active component, detects executable names by window handle, then takes preset for this name.

Preset:
Song format preset for the specified application.

Keys to send after paste:
List of keyboard events to send to the active window after now playing info paste. The list should contain only special commands: key_down and key_up for appropriate events. The number of key_down events for the key must match the number of key_up events. Specify the key code for the event in the parentheses, for example, Ctrl+Enter written in keyboard events notation would be:

key_down(0x11)
key_down(0x0d)
key_up(0x0d)
key_up(0x11)

Where 0x11 is the Ctrl key code and 0x0d is Enter hex key code. You can also use decimal format for the key code. Check the list of key codes.

Callbacks/Web

The behavior of callbacks is exactly the same as of Presets. These are presets automatically invoked upon one of the following events:

Play/Change – player goes into the play state from some other state or song is changed.

Place the necessary commands into presets and they will be processed upon events. For example, you can write song info into file and then invoke /exec command to run some tool and upload this file to the site or do something else.

Title Bar

Enabled:
When enabled, you will see the now playing song details in the active window title bar (on the top right of the window, near the close / minimize / restore buttons).

Format:
Specifies format string for the title bar, can contain AMIP variables and formatting functions.

Reparse every second
If you have variables in the preset that update during song play (like played/remaining time details, enable this option.

Use custom font
Font options for the title bar text.

Use custom color
Color options for the title bar text.

Ignore executables
Comma separated list of application executable files where you don't want now plyaing information to be displayed in the title bar.

Ignore window classes
Comma separated list of window classes that will be ignored for now plating information in the title bar (you will need some tool like Spy++ to know the class of certain window, this option is for power users).

Shift
Specify Vertical and Horizontal shifts for the text in the title bar (in pixels).

MSN Messenger

Enabled:
When enabled, AMIP will send now playing data to MSN Messenger (versions 7.0 and higher are supported). Information will be displayed in MSN Messenger if you turn on "What I'm listening To" option:

MSN Messenger checks if Windows Media Player is installed. If it's not installed or you have the old version, then you will not be able to use this feature. The solution is to install Windows Media Player even if you don't use it to play your music, then you should be able to select this option in MSN and AMIP will update your now playing information.

You have a choice to use the standard way of passing data to MSN, when artist, title and album are passed separately and specify what AMIP variables will be used for each of them, or use the alternative format. For example, with the default format MSN will not show the album, it will use it only for the link to locate music.

MSN Live Messenger (8.x) compatibility
Enable this option if you are using MSN Live Messenger BETA and don't want dash to appear before or after your song title. You must disable Use alternative formatting option for this feature to work correctly.

This option doesn't work in new Live Messenger Betas. Starting from 8.0.0689 version Microsoft has changed format again. If you are using this build, disable compatibility option! Use either default or alternative formatting like for 7.x versions.

Use alternative formatting
If you don't like how the data is presented you can enable this option and specify the custom format string for song details.

Format:
Preset with AMIP variables and formatting functions.

Skype

Enabled:
AMIP sends now playing song details to Skype when this option is enabled.

Yahoo!

Enabled:
AMIP sets Yahoo! Messenger status to the now playing song details when this option is enabled.

Format:
Preset with AMIP variables and formatting functions.

User ID:
Your Yahoo user ID

Autodetect:
When enabled, AMIP will get the user ID automatically from the registry.

Autodetect will not work if you don't keep your ID/Password in Yahoo settings! In this case you must disable this option and specify your Yahoo user ID manually.

Status Message #:
You should not change this normally. Yahoo integration works via the unofficial registry modification hack and for the messenger to display the custom preset from the registry it must be number 5. However, some Yahoo messenger versions require 4 for this hack to work.

Google Talk

Enabled:
AMIP sets Google Talk status to the now playing song details when this option is enabled.

Format:
Preset with AMIP variables and formatting functions.

This integration is disabled by default, since it can cause potential problems with stealing focus from other applications. This problem occurs when Google Talk is minimized into system tray, however I was able to almost overcome this issue by a hack that immediately returns focus to your application, but you will still notice your window loosing focus for a moment and then gaining it back. If it bugs you, don't minimize Google Talk to tray or disable this integration. There is no any better solution at the moment.

Another side effect of the integration is that it's using mouse and keyboard events emulation. For example, if you are away and your screensaver engages, then song changes in player, AMIP updates GTalk status, Windows thinks that you typed something and screensaver turns off. This will also affect other applications that set away mode basing on last keyboard/mouse event.

Remote/API

Enable AMIP Server
It's on by default and enables AMIP socket server which is based on the RCF. This server can be used by other applications that are based on AMIP SDK to control AMIP and query it for song details and other data. For example, mIRC socket transport (ac.dll) will not work if AMIP server is disabled.

Listen for connections on this interface:
Drop-down list of all the IP addresses your machine has. You can specify on what address the server will be listening for connections. Default is 127.0.0.1 for security reasons, so that only applications running on the same machine can connect. If you have some application based AMIP SDK which runs on different machine, change the address to external address of your machine or to 0.0.0.0 to listen on all the available interfaces.

Server port:
The port where the server accepts connections. Default is 60333 and you should not change it unless you need it for another application. AMIP SDK defaults to this port and some tools that are based on AMIP may not work if you change this until you change it in both places (here and in the other application settings).

Advanced

Consider song change only when file name changes
By default AMIP detects song change by the song title change. Song title is reported by player and in some cases player may start reporting different titles for the same song. It may be a problem if you are using automatic announcement mode, AMIP will flood the channel. When this option is enabled, additionally to song title check AMIP will check the file name. If the file name remained the same even that title has changed, AMIP will not report the song change.

…but ignore files matching pattern:
When AMIP is checking for file name change, it will not report live stream title changes, since URL that is used instead of file remains the same, or when playing from the .cue file player reports the same file name for all the tracks. You can specify the regular expression for the files that should be ignored while checking for the file name change.

Replace " | " with " $chr(124) " when sending to mIRC
mIRC uses | character for commands separation, so, it's possible to insert a command in the song tag that will do something bad with your mIRC. For security reasons AMIP can replace it with the $chr mIRC function that mIRC will evaluate to | but will not use it as commands splitter.

Replace newlines in tags with:
Specifies the text that will be used for newlines separation in AMIP variables. Newlines can break output to the client, such replacement fixes it.

Reset all settings
This button will reset all the AMIP settings to their default values. Use if you did something wrong and need to go back to the defaults. Same behavior can be achieved by closing the player and deleting plugin.ini file.

Performance

Parse delay:
This options controls the delay between the song change is detected and AMIP starts to parse song file to get tags and format information. It may be useful to make it with a 1-2 seconds delay, since your player does the same parse and when AMIP and player parse the file at the same time, it may cause performance degradation. Also when you switch songs in your player quickly, it may delay the switching because of AMIP parser invocation. When delay is not null, parsing is be performed in the separate thread and player is not affected.

Display delay:
A delay between song parse and preset invocation. Useful when automatic mode is turned on and you switch songs quickly or when you don't want the callbacks to be executed while you switch songs to find the one you want to listen. If delay is set, songs you switch quickly will be not announced, only the song you stop on will be announced after the specified delay time. Another use case for this option is the MSN Integration, some players may have built-in MSN integration that cannot be disabled, it will erase what AMIP puts into MSN while you prefer to use AMIP custom format. When delay is set, AMIP will update MSN info after the player does it.

Use cache
AMIP will cache the data it extracts from files. So, when it needs to get the data from the same file next time, parsing is not executed and AMIP takes all the information from cache. Cache improves performance when you browse files in AMIP Playlist Search dialog.

Use EncSpot
When enabled, AMIP uses EncSpot library to get additional information from mp3 files. This information is represented by EncSpot variables. When this option is disabled, scanning of mp3 files will be faster (especially if you play music from the slow network drives), but EncSpot variables will be not available in AMIP.

Extensive scan
This is also related to EncSpot, it has to options when scanning mp3 files, a quick scan and complete scan. When this options is enabled, EncSpot will scan the whole file (all mp3 frames) and calculate the precise average bit-rate and number of frames. Usually it's not necessary since the quick scan returns pretty sane results (except of the number of frames – %FRM – that you probably don't need).

Settings

These settings are not related to AMIP, they are for AMIP Configurator itself.

AMIP config:
Here you can change AMIP config file location. On next AMIP Configurator startup the new config specified here will be used.

Java location:
It's only informational at the moment and you can't change it. Java location is now detected automatically by the launcher.

Language:
AMIP Configurator comes translated to several languages. I'm maintaining only English and Russian translations, all the rest are provided by the contributors. If your language is missing and you want to translate AMIP Configurator to your own language, please refer to the translation tutorial.

By default AMIP is using system default language (if translation is available), you can choose different language here.

About

Config path:
The actual config path that is used by AMIP Configurator.

Java version:
JDK/JRE version that AMIP Configurator is running under.