Configuration – LFM

The configuration file was created by the installation procedure, and then initialised by the configuration wizard. Any further changes will need to be done manually using the desktop shortcut named “Configuration (MyScrobble.ini)”

See here for an description of the application’s configuration framework.

See here for a description of the configuration wizard which created the configuration file

See here for a description of the installation procedure

Option settings index

The main options used in LFM mode are listed below. Some notes follow, and further details can be found at the Configuration documentation desktop shortcut:

Configuration for your email credentials (optional) are not held in the ini file for security reasons. That topic is covered here.
Google Play Music credentials (optional) are not held here either. That topic is covered here

Task Option name Section
Location settings
– AlbumPlays database _database [general section]
– MediaMonkey database _MM_db_path [general section]
– available NAS share _nas_path [general section]
– playlist default location _playlist_directory [general section]
– backup repository location 1 _bu_lan_path [gui]
– backup repository location 2 _bu_lan_path2 [gui]
Putting AlbumPlays into LFM mode _source_lfm [general section]
Listener ID _user [general section]
Application backup settings
– frequency? (in days) _backup_cycle [gui]
– locations _bu_lan_path [gui]
_bu_lan_path2 [gui]
Playlist settings
– exclusion: genre fragments _playlist_genre_filters [general section]
– “Sonos-sort” multi-artist tracks __playlist_seq_multi_artist [general section]
– locations _playlist_directory [general section]
_playlist_directory_sonos [general section]
_playlist_directory_nas [general section]
_playlist_track_location_prefix_nas [general section]
_playlist_\directory_\usb [general section]
_playlist_track_location_prefix_usb [general section]
Importation Review during Get _offer_scrobble_review [gui]
_importation_review_comfort_limit [gui]
__suppress_importation_review_comfort_warning [gui]
Match on only artist & track? _allow_match_ignoring_album [massage]
Supress auto-application of fuzzy logic tag corrections when matching scrobbles _suppress_auto_fuzzy [massage]
Enable lost scrobble resurrection _resurrect_lost_scrobbles [gui]
Missed Tracks playlist settings
– auto-generate? _generate_missedtracks_playlist [general section]
_missed_playlist_file_name [general section]
_missed_playlist_album_cutoff [general section]
_missed_playlist_track_cutoff [general section]
Streamed track settings
_offer_streaming_wizard [gui]
_suppress_pause_for_streamed_confirmation [gui]
__suppress_default_unmatched_to_streamed [massage]
Date & time settings
_locale_date_format [general section]
_locale_time_format [general section]
Miscellaneous settings
– Limit rows read from LFM _limit [get]
– Ignore your historic scrobbles? _when_limit_use_newest [get]
Override rule grid row limit _remap_rule_grid_limit [gui]
_remap_rule_grid_include_fixed [gui]
_remap_rule_grid_include_streamed [gui]
Override play history grid limit _edit_play_history_grid_limit [gui]
Duplicated track plays OK? _how_handle_duplicates_in_fresh_batch [gui]
– You have no blank album tags? _no_blank_album_tags [general section]
– Override MediaMonkey version _mm_version [general section]
– Transfer individual scrobbles to MM _mm_update_contents [crunch]
– O’ride which MM db columns are used _mm_col_for_album_play [general section]
_mm_col_for_album_last_play [general section]
– Override logging level _debug [general section]
Location settings
  • you may use the tilde character to specify the home directory for your Windows profile folder (ie. ~/My Documents/AlbumPlays for c:\Users\\My Documents\AlbumPlays)
  • the _nas_path setting may be used to specify an optional directory that this application may use to write to or read from. This is primarily required by SPY mode, but is also used in LFM mode as the default location for AlbumPlay-generated playlists, and can be used by the application database backup facility.
  • you can use the token {nas}, in a path definition, as a shortcut to refer to the above path, eg:

        [gui]
        _bu_lan_path2 = {nas}\Backups_level_2
    
  • the _database setting for the application is *required*, all of the other location settings are overrides, and are optional. You must supply the full path to your database, ie. this option cannot use the {nas} path token. For performance reasons the database should be on your PC.

        [general section]
        _database = ~\My Documents\AlbumPlays\AlbumPlays.db
    
  • by default, playlists are written to a directory named AlbumPlays_playlists, in the path resulting from your _nas_path choice.

  • you can override this generic location with the _playlist_directory option, which will override the default base location for all playlists. You may specify a full path, or you can specify a directory relative to _nas_path, by using a non-absolute path, ie. one not starting with a slash nor a drive letter (eg. _playlist_directory=playlists).
  • in either case, AlbumPlays creates the generic playlist folder if it doesn’t already exist

    • If you are using AlbumPlays’ multi-target facility for playlists, you will want to provide a separate location for some or all of the playlist targets. Non-absolute paths will be be relative the generic playlist location, or you may specify absolute paths. … In the following example the Sonos playlist folder is relative, and will therefore be \your_NAS/your_share/AlbumPlays_playlists/playlists_for_sonos. The usb one is absolute, and will therefore be H:\MyPlaylists

      [general section]
      _nas_path = \\your_NAS/your_share/
      _playlist_directory_usb = H:\MyPlaylists 
      _playlist_directory_sonos=playlists_for_sonos/
      _playlist_directory_nas=playlists_for_nas/
      
    • target playlist folders are also auto-created if they don’t already exist, excepting for the _playlist_directory_usb. There is no AlbumPlays requirement to keep your usb drive mounted, so AlbumPlays is unable to be sure whether that directory exists … if you are using a usb target, you need to manually create its playlist folder
    • the Missed Tracks playlist is written to each of the target playlist folders that you define, and also to the generic playlist directory if one or more of the target locations is not defined

    • Sonos owners: Playlist paths will need to be indexed by Sonos to enable it to see your playlist (ie. in the Sonos DeskTop controller, press the Add button in the Folders tab of Manage|MusicLibrarySettings)

  • the two backup location options (_bu_lan_path & _bu_lan_path2) are discussed here

  • you only need to use the _MM_db_path option if you have moved the MediaMonkey database away from its default location

        [general section]
        _mm_db_path = ~\My Documents\AlbumPlays\MM.DB
    
Putting AlbumPlays into LFM mode

The _source_lfm option is what puts AlbumPlays into LFM mode, and is required. It should be set as:

[general section]
_source_lfm=y
Listener

The _user option is *required* in LFM mode. It is AlbumPlays’ internal ID for the Listener from whose Last.fm account we obtain tracks play details. The ID need not be the LFM account ID; it can be anything (first name, initials, etc). It may not contain any embedded blanks. The Listener needs to have been enrolled in the application database.

[general section]
_user=BJM
Application backups

Set the application backup cycle frequency, in days, as shown below. Example: a setting of 7 would cause a fresh backup of the AlbumPlays & MediaMonkey databases to taken every 7 days.

There will be no application backups if this optional setting is not set, or is set to a value of 0.

[gui]
_backup_cycle = 5

On its own, this option will just cause each successive backup to overwrite the last backup. See here an explanation of AlbumPlays’ application backup facility, and for the additional steps required to set up a multi-level backup repository.

The following three settings allow you to override the default paths for optional level(s) within your backup repository. You may use neither, either or both of these options.

[gui]
_bu_lan_path = ~\My Documents\AlbumPlays\Backups
_bu_lan_path2 = \\your_NAS\your_share\AlbumPlays\Backups_level_2
_bu_lan_path3 = \\your_NAS\your_share\AlbumPlays\Backups_level_3

If you make no location override configuration, the backups will be stored in the default repository locations, as documented towards the end of the “Location” section found here

nb: see here for the options available when configuring path values for AlbumPlays.

The built-in application backup facility also has provision for automatic transfer of backup copies to an offsite location at Dropbox. Configuration details are found here.

It is important that you “firedrill” your backup set up, ie. restore both databases at least once, to verify that they are usable.

AlbumPlays playlists

See the Location settings section above for settings regarding the export locations for all playlists, including the Missed Tracks playlist

The following section not address the special Missed Tracks playlist – see the bottom of this.

You can restrict a subset of your tracks from ever being considered as candidates for playlist inclusion by specifying the _playlist_genre_filters option. This is a blank separated list of genres, or a fragment of the name of any genres, whose tracks you never want to see in an AlbumPlays playlists (does not impact the Missed Tracks Playlist). The following example would exclude any tracks which were tagged with any of the following genres; “Kids”, “Duplicates”, “duplicates” & “Audience Taped”

[general section]
_playlist_genre_filters=Kids Duplicates Taped

nb: MediaMonkey allows you to tag any track as being part of more than one genre; you need to separate the genres with a semicolon and then a blank. eg. Jazz; Favourite … ie. create a dummy genre, for the purpose of excluding some of your tracks from ever appearing in a playlist:

You can translate the track locations, as known by MediaMonkey, to an alternative location. This is primarily intended to handle a situation where you have replicated your music collection onto a WiFi USB drive which you use while travelling away from home.

[general section]
_playlist_track_location_prefix_usb=\\192.168.60.1\Public\your_music_share
_playlist_track_location_prefix_nas=\\your_NAS\\your_music_share

You can influence how tracks, with multiple artist or albumartist tags, are sorted and displayed in your playlists.

A playlist entry may only have a single value for each tag type, so if your track has been tagged with multiple separate artist tags, only one will be used when the playlist entry is generated.
eg. MediaMonkey allows you to list the album Raising Sands both under Robert Plant, and also under Alison Krause, but for playlists purposes you have to chose one of these artists if you have them as separate tags.
A Sonos owner will probably have placed the most significant artist as the last tag, as Sonos only indexes the last tag for tracks which have multiple tags.

By default, AlbumPlays will produce playlist entries using the 1st Artist tag. The same thing with the AlbumArtist tags.

You may override this with the following option.

[general section]
_playlist_seq_multi_artist=last
Importation Review; review and authorise scrobbles before importation

There is an optional Importation Review sub-step in the Get action which is turned off by default.

This step allows you to review fresh scrobbles before they are imported from Last.fm, and you may suppress importation of those that are unwanted.

You may tune the facility to your own listening preference, by reviewing and suppressing at either the individual tracks level, or summarised at the whole album level.

If you wish to use the Scrobble Review step you enable it by

[gui]
_offer_scrobble_review=Y

The Importation Review facility works best if the batch of fresh scrobbles is somewhere around 300 tracks (typically that would be around 20 hours of music). AlbumPlays still can handle a batch size around three as large as that, but smaller is more comfortable.

There is a warning message where your batch sizes exceed the 300 track comfort level, and you get offered the chance to accept the whole batch without review. … You can adjust when the warning message cuts in, or you can suppress the message altogether.

[gui]
_importation_review_comfort_limit=300
_suppress_importation_review_comfort_warning=N
Allow ignore of album tag during scrobble match

AlbumPlays matches your imported scrobbles to your MediaMonkey database via the Artist, Album & Track tags. Where no full match is found AlbumPlays has an optional facility to try and obtain a match using only the Artist & Track name tags.

AlbumPlays is installed with this option turned on, as it can greatly reduce the drudgery during the database seeding process.

Leaving this optional setting turned on could cause AlbumPlays to attribute the play to the wrong version of the track, if you have multiple versions of the same artist|track tag set, maybe in separate albums. … It is not as too much of a problem because it can only happen where there is no match using the full artist|ALBUM|set.

If you chose to turn this time-saving option off, you would then need use the action lists to create a remapping rule for any unmatched scrobbles, which is probably a better option once you have fought your way through the database seeding task. Either of the following options will turn OFF this time-saving option.

[massage]
_allow_match_ignoring_album = N

or by commenting out the default line in your configuration file:

[massage]
#_allow_match_ignoring_album = Y
Enable lost scrobble resurrection

If you typically listen to whole albums, rather than mixed track playlists, you may want to enable the lost scrobble resurrection logic, which is off by default.

If you usually listen to mixed track playlists, scrobble resurrection will add overhead, but mostly generate false positives, which is the reason why it is turned off by default.

Use the following option to turn scrobble resurrection on. If track play gaps are detected during the *Approve” action, you will be presented with a list of proposed lost scrobble resurrections. You may reject any of these, and for those that you accept, plays will be generated and uploaded into MediaMonkey.

[gui]
_resurrect_lost_scrobbles=Y
Suppress auto-application of fuzzy logic while scrobble matching

By default, AlbumPlays will automatically attempt to resolve any fresh scrobbles, which cannot be matched against your current track tags for some reason. It does this by trying to find the correct track, by using fuzzy logic to see if any track has a tag set which is a close enough match to the scrobble tags. You can suppress this default assistance with the following configuration option.

If suppressed, AlbumPlays will still make suggestions for scrobble tag corrections, but you will need to review and authorise them before they are used. The combo-boxes in the Edit|ActionList menu items will be pre-populated with the fuzzy logic suggestions, but these will not be used until you press the Update button, and then rerun the Approve action.

[massage]
_suppress_auto_fuzzy=Y
Missed Tracks playlist

The aim and configuration of the MissedTracks facility is discussed here

Streamed tracks

The Streaming Wizard is an optional extention to AlbumPlays’ regular Approve processing action. The Wizard is turned off by default. It is aimed at simplifying the handling of unknown streamed items. It facilitates “adoption” of tracks or albums, from Google Play’s subscription streaming serice, into your MediaMonkey database. The wizard is also a streamlined way to “hide” tracks or albums which you stream, but don’t wish to adopt into MediaMonkey.

If you wish to use the Streaming Wizard you enable it by

[gui]
_offer_streaming_wizard=Y

There are also two ini file settings to override the default behaviour of the regular logic which handles unmatched streamed tracks.

The first affects the default GUI behaviour when the Streaming Wizard is not in use. By default, the GUI pauses for confirmation whenever a fresh batch of scrobbles from Last.fm contains any unmatched tracks which are suspected as being streamed. (See here for the aim of the confirmation step).

[gui]
_suppress_pause_for_streamed_confirmation=Y

The second option will suppress the logic which assumes that any unmatched scrobble, where neither the artist nor the album title are found in MediaMonkey, is a streamed item, and is not one of your own tracks. (See the same link for more information)

[massage]
_suppress_default_unmatched_to_streamed=Y
Date and time formats

Miles Davis was born on the May 26th, 1926. By default this application would describe this date as 26/05/1926. By default times are shown in 24 hour format.

You can modify the defaults as shown here

Miscellaneous Settings
Limit quantity of scrobbles downloaded

A limit can be applied to the number of fresh scrobbles which are downloaded by a single Get action. The limit is only of any use during the process where a new database is seeded with historic scrobbles. In regular use you are unlikely to have sufficient fresh to warrant use of this option. If it has been left on, you may want to turn it off.

It is discussed here.

    [get]
    _limit=2
Ignore your historic scrobbles; start fresh from today

You can chose to ignore your historic scrobbles at Last.fm. This would mean that AlbumPlays and MediaMonkey only have new scrobbles, starting from now.
This topic is covered here, and the configuration settings are:

    [get]
    _limit = 2
    _when_limit_use_newest=Y
Action list grid limit: scrobble mismatches

The action grid where you edit mismatched scrobbles (discussed here) has a size limitation. The application may become sluggish, and may break, if this limit is set too high.

You can override the limit each time that you use this facility, or you can reset the default as shown below. The default limit is 200 rows.

[gui]
_remap_rule_grid_limit=100 

If the above Action List row limit is exceeded, AlbumPlays tries to conserve space in the editing grid, for templates requiring action, by excluding “fixed” and “streamed” templates. By default these are included back into the diting grid only if you set their inclusion checkboxes on the Action List’s sub-batch handler. … The following configuration options reverse this default, … ie. default the check-boxes for inclusion.

[gui]
_remap_rule_grid_include_fixed=Y
_remap_rule_grid_include_streamed=Y
Edit|PlayHistory grid limits

The action grid where you edit play history (discussed here) has a size limitation. The application may become sluggish, and may break, if this limit is set too high.

The current limitation is 500 rows. If your search criteria returns more rows than this, you will be warned, and only the first 500 rows will be displayed.

The best way to work around this limitation is to narrow down your search, with a more specific search criteria. The following areas are affected:

  • search for target album or artist … a search for f would try to return a row for any artist or album containing the letter “f” …. if you were targeting Pink Floyd, a search for flo would would be better as it would return a lot fewer rows
  • Delete Single Plays: … this will try to return a list containing a separate row, for each play, of each track that you have selected … this could be a problem for very large album which you have played often … the best work around is to select fewer tracks at any one time

If a more specific search criteria is impractical, you could try seeing if your PC can handle a larger number of rows, example:

[gui]
_edit_play_history_grid_limit=600
Handling of multiple scrobbles for a track

It is not hard to generate unintentional, and unwanted, track play duplicates. This can be caused by finger fumbles when interacting with your music client, or can be caused by a scrobbler becoming confused during track play interruptions on your mobile device.

nb: a ‘duplicate‘ is just defined as being a play of the same artist|album|track .. ie. the play does not need to have an indentical time stamp.

You can configure how AlbumPlays handles track duplicates imported during a Get action. The _how_handle_duplicates_in_fresh_batch option affects the Approve action which follows for these scrobbles, as described here. The option settings are as follows:

  • either accept – the default option – silently accept the duplicates; use this if you commonly replay tracks, and want each play to be recorded
  • or warn – accept all duplicates, but issue a warning during the Approve action … There are tools to identify and deal with the duplicates later if you wish.
  • or suppress – temporarily pause processing, inform the user, and offer to auto-suppress the duplicates. If you accept the offer, the duplicates will not be synced to MediaMonkey.

Example:

[gui]
_how_handle_duplicates_in_fresh_batch=suppress
Blank album tags

If your collection contains no tracks with blank album tags, you should set this option.

AlbumPlays works best with a traditional collection, where all tracks belong to specific albums. It has some compromises and extra overhead to accommodate collections which have some blank album tags. You can tighten up validation, and avoid some small overhead if you know that your collection has none, or minimal blank albums tags.

[general section]
_no_blank_album_tags=Y
MediaMonkey version

I use version 4 of MediaMonkey. It is the default for this application, and for that version you need no configuration file entry.

MediaMonkey changed their default database location and the storage format for some dates in version 4. This application did use to work ok with version 3. Contact me if you have any problems. To use version 3 you need the following

[general section]
_mm_version=3
Level of detail to transfer to MediaMonkey

By default AlbumPlays transfers just play history summaries to MediaMonkey, as that is all that it uses.

You can override this default to also transfer all individual scrobbles to MediaMonkey with the following ini file setting:

[crunch]
_mm_update_contents = details
Override the MediaMonkey columns used by AlbumPlays

The MediaMonkey database has no column for album play counts or last play dates. AlbumPlays takes a couple of MediaMonkey columns, which are not used in a music context, and uses them to fill the gap.

See here for further information (read the “technical details”).

You can override which MediaMonkey fields are appropriated for this purpose. Here is an example:

[general section]
_mm_col_for_album_play=BPM
_mm_col_for_album_last_play=Custom1
Alter AlbumPlays’ logging level

The amount of information which is output to the log file can be increased. Set debug logging on as follows:

[general section]
_debug=Y