Auto Set Equalizer to Current Song's Genre v3.1
Posted: Sun Feb 08, 2009 9:43 pm
What it does:
This script automatically changes the equalizer settings based on the song's Genre, and possibly more specifically by a Quality classification setting.
Why build this?:
Because Metallica, Jazz, and Audio Books should be played with different equalizer settings, and I am too lazy to manually make those changes each time.
Controlled by:
On/Off switch in the Play Menu (Auto Change Equalizer)
Requirements:
1. MediaMonkey 3.1.0.1221 or better for the SDB.Player.LoadEqualizerPreset() and SDB.Player.isEqualizer functions. The script will disable itself if run by older versions of MediaMonkey.
2. Create and save a "Default.sde" equalizer setting for the settings that any song should default to if there are no more specific matches found. The easiest way to do this is open the equalizer panel, click reset, and click the save preset, using Default.sde as the filename.
Routine:
1. Do nothing if previous song had the same Genre
2. If the first Quality tag has a matching equalizer setting name, change the equalizer to this preset.
3. If the first Genre tag has a matching equalizer setting name, change the equalizer to this preset.
4. If neither match, load the Default.sde equalizer preset.
Long Description:
This script automatically adjusts the equalizer to presets depending on the genre of the song. For those needing even finer control and detail, the genre choice can be overridden by having an equalizer preset that has the same name as a "Quality" classification.
Example Setup: Create your genre specific equalizer settings with the same names as your genres. For example: Rock.sde, Jazz.sde, Dance.sde, Reggae.sde, Audio Book.sde, etc. Now, you add overrides. Also create "extra bass.sde" with a boosted bass, "hissy.sde" with the high range dampened, "voice only.sde" with the high and low ranges dampened. Now, an audio book recording made at 32 kbps should be tagged with Genre=Audio Book, Quality=hissy. The "hissy" will take precedence and be the preset loaded at the start of the track. The use of the quality to override the genre allows one to keep the genre listings tidy. Likewise, Janet Jackson's "Black Cat" could be tagged with Dance but then be adjusted with "extra bass" in the quality field.
Priority: first quality value, first genre, default.sde, no change. Quality and Genre fields that contain multiple values seperated by semicolons use the first value. Without the required Default.sde equalizer setting mentioned above, the script could stay on Rock settings when switching to a Blues track if Blues.sde did not exist. Therefore, the script will nag on MediaMonkey startup in a Default.sde does not exist.
Tidbits:
For those who wish to, Quality can be disabled as a selector by commenting out lines 163-182.
If the Equalizer is disabled, and the user turns on the Auto Equalizer via the menu, the Equalizer is enabled.
History:
Sept 2006 DiddeLeeDoo wrote a script to do this for MM2. But, at the time, the equalizer load preset function was not available to scripters. So, he used WScript to do keyboard stuffing of the proper keystrokes to make setting changes. This had the drawback of requiring the MM main window to be open at all times. If it was in mini/micro mode, or minimized, the keystrokes were ineffective, and could be passed to a different application.
Thread: http://www.mediamonkey.com/forum/viewto ... =2&t=11302
Oct 2008 Modementia updated DiddeLeeDoo's script to work with MM3.
Jan 2009 I asked jiri if he could make the load equalizer preset function available to scripters. It was available in the next build the following day. Awesome!!!
Feb 2009 Here is my script, built upon the work of others. Now, the presets are changed automatically in background. This script now works in full/mini/micro/minimized modes. Once the different presets are created, this script is an "activate and forget it" script. The equalizer settings panel is no longer opened, so there is no visible indications that the script is running, as it should be.
June 2009 It was pointed out that the settings did not persist across MM restarts. Fixed. Also set the menu setting as active at installation.
Installation:
3.1.0.1 http://mediamonkey.coloredpixels.com/MM ... 1.0.1.mmip
3.0.0.9 Broken. It didn't keep active state between restarts.
One file of AutoChangeEqualizer.vbs is installed in the {app}\Scripts\Auto\ directory. If old versions of DiddleLeeDoo's or Modementia's script are found as AutoEQ.vbs, the install asks if it can delete them to avoid conflicts.
This script automatically changes the equalizer settings based on the song's Genre, and possibly more specifically by a Quality classification setting.
Why build this?:
Because Metallica, Jazz, and Audio Books should be played with different equalizer settings, and I am too lazy to manually make those changes each time.
Controlled by:
On/Off switch in the Play Menu (Auto Change Equalizer)
Requirements:
1. MediaMonkey 3.1.0.1221 or better for the SDB.Player.LoadEqualizerPreset() and SDB.Player.isEqualizer functions. The script will disable itself if run by older versions of MediaMonkey.
2. Create and save a "Default.sde" equalizer setting for the settings that any song should default to if there are no more specific matches found. The easiest way to do this is open the equalizer panel, click reset, and click the save preset, using Default.sde as the filename.
Routine:
1. Do nothing if previous song had the same Genre
2. If the first Quality tag has a matching equalizer setting name, change the equalizer to this preset.
3. If the first Genre tag has a matching equalizer setting name, change the equalizer to this preset.
4. If neither match, load the Default.sde equalizer preset.
Long Description:
This script automatically adjusts the equalizer to presets depending on the genre of the song. For those needing even finer control and detail, the genre choice can be overridden by having an equalizer preset that has the same name as a "Quality" classification.
Example Setup: Create your genre specific equalizer settings with the same names as your genres. For example: Rock.sde, Jazz.sde, Dance.sde, Reggae.sde, Audio Book.sde, etc. Now, you add overrides. Also create "extra bass.sde" with a boosted bass, "hissy.sde" with the high range dampened, "voice only.sde" with the high and low ranges dampened. Now, an audio book recording made at 32 kbps should be tagged with Genre=Audio Book, Quality=hissy. The "hissy" will take precedence and be the preset loaded at the start of the track. The use of the quality to override the genre allows one to keep the genre listings tidy. Likewise, Janet Jackson's "Black Cat" could be tagged with Dance but then be adjusted with "extra bass" in the quality field.
Priority: first quality value, first genre, default.sde, no change. Quality and Genre fields that contain multiple values seperated by semicolons use the first value. Without the required Default.sde equalizer setting mentioned above, the script could stay on Rock settings when switching to a Blues track if Blues.sde did not exist. Therefore, the script will nag on MediaMonkey startup in a Default.sde does not exist.
Tidbits:
For those who wish to, Quality can be disabled as a selector by commenting out lines 163-182.
If the Equalizer is disabled, and the user turns on the Auto Equalizer via the menu, the Equalizer is enabled.
History:
Sept 2006 DiddeLeeDoo wrote a script to do this for MM2. But, at the time, the equalizer load preset function was not available to scripters. So, he used WScript to do keyboard stuffing of the proper keystrokes to make setting changes. This had the drawback of requiring the MM main window to be open at all times. If it was in mini/micro mode, or minimized, the keystrokes were ineffective, and could be passed to a different application.
Thread: http://www.mediamonkey.com/forum/viewto ... =2&t=11302
Oct 2008 Modementia updated DiddeLeeDoo's script to work with MM3.
Jan 2009 I asked jiri if he could make the load equalizer preset function available to scripters. It was available in the next build the following day. Awesome!!!
Feb 2009 Here is my script, built upon the work of others. Now, the presets are changed automatically in background. This script now works in full/mini/micro/minimized modes. Once the different presets are created, this script is an "activate and forget it" script. The equalizer settings panel is no longer opened, so there is no visible indications that the script is running, as it should be.
June 2009 It was pointed out that the settings did not persist across MM restarts. Fixed. Also set the menu setting as active at installation.
Installation:
3.1.0.1 http://mediamonkey.coloredpixels.com/MM ... 1.0.1.mmip
3.0.0.9 Broken. It didn't keep active state between restarts.
One file of AutoChangeEqualizer.vbs is installed in the {app}\Scripts\Auto\ directory. If old versions of DiddleLeeDoo's or Modementia's script are found as AutoEQ.vbs, the install asks if it can delete them to avoid conflicts.