The page describes configuration options for the Playcount processing module when in Spy mode. The configuration file was initialised by the configuration wizard. Any 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 for this mode
See here for a Quick Start guide to Spy mode configuration
See here for a Quick Start guide for the configuration steps to turning on AlbumPlays scrobbling Sonos owners only
See here for a description of the configuration options for the other module (“Observation & Detection”).
The main options used in SPY mode are listed below. Some notes follow, and further details can be found at the Configuration documentation shortcut on your desktop or task bar:
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.
|– AlbumPlays database||_database||[general section]|
|– MediaMonkey database||_MM_db_path||[general section]|
|– communicate with Spy||_nas_path||[general section]|
|– SPY transfer database||_external_spy_database||[general section]|
|– MissedTracks playlist||_playlist_directory||[general section]|
|– Spy text transfer dir||_spy_txt_export_directory||[general section]|
|– match by location – Sonos||_track_location_prefix_sonos||[general section]|
|– match by location – MM||_track_location_prefix_mm||[general section]|
|– backup repository location 1||_bu_lan_path||[gui]|
|– backup repository location 2||_bu_lan_path2||[gui]|
|Data source settings|
|– LFM vs SPY LFM versus SPY||_source_lfm||[general section]|
|– override to text conduit||_spy_data_from_txt||[get]|
|– scrobble? .. scrobble whom?||_scrobble_mode||[gui]|
|– scrobble radio tracks?||_scrobble_radio||[crunch]|
|Listeners: list||_lfm_id_list||[general section]|
|Streamed track settings|
|– suppress confirmation pause||_suppress_pause_for_streamed_confirmation||[gui]|
|– force confirmation pause||_force_pause_for_streamed_confirmation||[gui]|
|– do not default as streamed||_suppress_default_unmatched_to_streamed||[massage]|
|Application backup settings|
|– frequency? (in days)||_backup_cycle||[gui]|
|– PC or LAN repository location||_bu_lan_path||[gui]|
|– PC or LAN repository location||_bu_lan_path2||[gui]|
|– genre fragments||_playlist_genre_filters||[general section]|
|– location override – Sonos||_playlist_directory_sonos||[general section]|
|– location override – NAS||_playlist_directory_nas||[general section]|
|– Translate track location – NAS||_playlist_track_location_prefix_nas||[general section]|
|– location override – USB||_playlist_\directory_\usb||[general section]|
|– Translate track location – USB||_playlist_track_location_prefix_usb||[general section]|
|Match on just artist & track||_allow_match_ignoring_album||[massage]|
|Enable lost scrobble resurrection||_resurrect_lost_scrobbles||[gui]|
|Missed Tracks playlist settings|
|– playlist name||_missed_playlist_file_name||[general section]|
|– album cut off||_missed_playlist_album_cutoff||[general section]|
|– track cut off||_missed_playlist_track_cutoff||[general section]|
|– auto-generate?||_generate_missedtracks_playlist||[general section]|
|“Other” scrobbles: suppressed?||_others_suppressed=Y||[gui]|
|“Other” scrobbles: which LFM account||_user||[get]|
|Date & time settings|
|Override date format||_locale_date_format||[general section]|
|Override time format||_locale_time_format||[general section]|
|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]|
|Suppress duplicate scrobble warning||_suppress_lfm_duplicate_warning||[gui]|
|If 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]|
|Override MM album play count column||_mm_col_for_album_play||[general section]|
|Override MM album last play column||_mm_col_for_album_last_play||[general section]|
|Override logging level||_debug||[general section]|
- use the tilde character to specify the home directory for your Windows profile folder (ie. ~/My Documents/AlbumPlays for c:\Users\<your_profile>\My Documents\AlbumPlays)
- the _database setting for the application is required, all the other are overrides, and are optional. You must supply the full path to your database, ie. this option does not use the _nas_path path prefix. AlbumPlays will usually work best if your database is stored the same PC which is running MediaMonkey and this Play Counts AlbumPlays component.
- the _nas_path setting specifies an override location for the directory used by this application to store some temporary files it reads and writes. If you are using the “Observe & Detect” Spy component, the directory location needs to be available to both components, and it must the same directory specified in that other component’s own _nas_path option. By default this directory will be used for:
- hold the optional transfer database for Spy track play observations
- the export location for AlbumPlays playlists
- the export location for the optional text transfer file of Spy track play observations
- where you will find the html menu allowing you to control the “Observe & Detect” component from within the browser on your main computer
- where the “Observe & Detect” component will export its log file to, so you can observe what is going on in there
- the default location for AlbumPlays’ application backup repository
- each of these may be overridden to their own location, or may be written to a directory relative to that specified by _nas_path, by specifying a relative directory (one not starting with neither a slash, nor a drive letter) in their own option setting
the _external_spy_database is an optional override to the default location (_nas_path), and|or to the default file name (AlbumPlays_Spy.db) used for the optional transfer database, where track play observations may be received from the Spy module. You may either specify an alternative file name for the database, or provide a path relative to the path specified in the _nas_path setting, or provide an independent absolute path to the database file.
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 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 your 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 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 directory
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 _spy_txt_export_directory is an optional override to the default export location (_nas_path) for the text transfer file of Spy observations
- you only need to use the _MM_db_path option if you have moved the MediaMonkey database from its default location
- the track location options (_track_location_prefix_sonos & _track_location_prefix_sonos) are only required if AlbumPlays requires translation assistance to match your Sonos Spy observations back to MediaMonkey. There is a utility to show you whether this is needed, and how to configure this option.
- the two backup location options (_bu_lan_path & _bu_lan_path2) are discussed here
The _source_lfm option is not required in Spy mode because Spy mode is the default. If it is specified it should be set as:
[general section] _source_lfm=n
The default Spy conduit is via the database (see here for a description of the transfer options).
The Spy source may be temporarily overridden to the text file via the “Set Options” button on the application’s front panel.
Alternatively the Spy source may be permanently overridden to the text file with the _spy_data_from_txt option
Each Listener needs to be enrolled in the application database. See here for more information about Listeners, including database enrolment.
The _lfm_id_list specification is optional. It is a blank separated list of the valid Listener IDs in use for the household. The option causes AlbumPlays to check whether all of the listed Listeners are enrolled into the database, and will offer to auto-enrol any missing ones. It is a requirement that identical IDs (including use of upper|lower case characters) are used for each active Listener across both the Observe & Detect and the Playcounts components. This option setting line may be copied across from the Observe & Detect component’s configuration file, to help ensure that have specified all IDs correctly. …. As use of this option is optional, there is no complaint if the database already contains Listeners who are not contained in the option list.
The _user setting is optional. You can only specify a single Listener ID for this option. It is required if you want to supplement Sonos plays, with plays made on non-Sonos devices, or plays made at other locations. This option specifies the Listener ID of the person whose Last.fm account will be searched for any non_Sonos plays to be imported into the MediaMonkey database.
It option is also be required if you are using user mode scrobbling (see _scrobble_mode=user in the following section)
[general section] _lfm_id_list=BJM AKM HMP _user=BJM
The Scrobbling Quick Start guide is the best way to get overview of scrobbling configuration. There is more required than just the ini file setting illustrated below.
The option default is to not scrobble, meaning that this application will update play data into MediaMonkey, but assumes that if you have a Last.fm account, you are still using your Sonos equipment to handle any scrobbling requirement.
The _scrobble_mode options are described here
Here is how to override this default setting with group scrobbling:
Or here is how to specify user scrobbling:
[general section] _user = BJM [gui] _scrobble_mode=user
Remember that you need to turn Sonos scrobbling off to avoid double scrobbling.
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.
“Other” non-Sonos scrobbles
“Other” scrobbles are your non-Sonos scrobbles, ie. scrobbles from your other equipment or locations, which are downloaded from your free Last.fm account into MediaMonkey. AlbumPlays automatically filters out any Sonos plays which are already already known to MediaMonkey.
The _user option specifies which the Listener, whose Last.fm account will be used as a source for “other” scrobbles. Only one Listener may be specified.
The _others_suppressed option specifies whether or not the “other” scrobbles are suppressed by default. This is just a convenience option to ease the task of handling any tracks which are unmatched against MediaMonkey when the LFM scrobbles are imported.
- if the majority of your non-Sonos plays are from streaming sources, then you could set to “y”, so that “other” scrobbles are auto-suppressed, and then you only have to manually un-suppress plays of any material sourced from, or duplicated in, your own library
- if the majority of your plays are of your own music, you should not use this option (or set it to “n”), so that by default your “other” scrobbles are not suppressed.
Here is an example:
[get] _user=BJM [gui] _others_suppressed=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.
A potential problem with this optional settings can occur if you have multiple versions of the same artist|track tag set, maybe in separate albums. This could cause AlbumPlays to attribute the play to the wrong version of the track, although it is not as bad as it sounds 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
[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 are listening to mixed track playlists scrobble resurrection will add overhead, but mostly generate false positives. For this reason it is turned off by default.
The use of the following option will turn scrobble resurrection on. During the *Approve” action you will be presented with a list of proposed lost scrobble resurrections. You may reject any of these, and those that you accept will be uploaded into MediaMonkey.
AlbumPlays has optional logic to handle scrobbles obtained from Last.fm, and which are suspected as being played from a music streaming service. These tracks may, or may not, be in your own collection. There are two ini file settings to override the default behaviour.
The first can stop the GUI Express Wizard from pausing for confirmation whenever the fresh batch of scrobbles obtained from Last.fm contains any unmatched tracks which are suspected as being streamed. (See here for the aim of the confirmation step).
The second option will suppress the logic which defaults as being streamed, any unmatched scrobble freshly obtained from Last.fm, where neither the artist nor the album title are found in MediaMonkey. (See the same link for more information)
There is also an option which can modify the default behaviour regarding Sonos Spy observations which cannot be matched back to your MediaMonkey database. By default these are excluded from the upload to MediaMonkey, without requiring your confirmation. You can force the requirement for confirmation via the following option. More information is available here
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
So you could elect to create a dummy genre, just 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
Missed Tracks PlayList
The aim and configuration of the MissedTracks facility is discussed here
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.
Limit quantity of scrobbles downloaded from Last.fm
Only applicable when using the Get action with the “Source” radio button set to LFM, ie. getting “other” non-Sonos scrobbles.
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 scrobbles to warrant use of this option. If it has been left on, you may want to turn it off.
It is discussed here.
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 list grid where you work with mismatched scrobbles (discussed here) has a size limitation. The application will 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 rest the default as shown below. The default limit is 50 rows.
[general section] _remap_rule_grid_limit=100
Suppress duplicated scrobble warning
AlbumPlays provides a warning notification if the fresh batch of scrobbles downloaded from LFM contains multiple plays of any track; “Tracks played more than once”.
The following option can be used to suppress this warning notification.
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. This are 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
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. I haven’t used this application with version 3 for some time, so some issues may have crept in. It should still work. 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
See considerations about this, and important warnings, here.
Override the MediaMonkey columns used by this application
The MediaMonkey database has no column for album play counts or last play dates. This application 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 this application’s 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