forked from len0rd/rockbox
make the plugin context aware to allow user to one click export from a shortcut, basically it checks if its running in the file browser if elsewhere does auto export use a buffer for the fixed portion of the scrobble data add timed_yield to long running operations add progress bars and messages as scanning for duplicates takes a while speed up duplicate scanning 4x 1000 tracks processing took ~2 minutes with duplicate scanning down from ~5 previous patch makes playback logging create a new file after 512k old files renamed playback_0001.log make scrobbler able to parse these log files add ability to skip tracks without metadata and count them Remove duplicates only for resume or remove all duplicates allow skipping tracks without metadata or save only filename update manual Change-Id: I115bcfd3381f5a978252aac1cdfcc080f0797dda
75 lines
3 KiB
TeX
75 lines
3 KiB
TeX
\subsection{LastFm Scrobbler}\label{sec:scrobbler}
|
|
The \setting{LastFm Scrobbler} plugin enables you to parse the rockbox
|
|
playback log for tracks you have played for your own logging or upload
|
|
to scrobbling services, such as Last.fm, Libre.fm or ListenBrainz.
|
|
|
|
\setting{Playback Logging} [\ref{sec:playbacklogging}] must be enabled to record the tracks played.
|
|
The plugin will ask you to enable logging if run with logging disabled.
|
|
|
|
\subsubsection{Menu}
|
|
\begin{itemize}
|
|
\item Remove duplicates - Only keeps the same track with the most time elapsed.
|
|
\begin{description}
|
|
\item[Off.] Disables duplicate scanning, all tracks saved.
|
|
%
|
|
\item[Resume Playback.] No duplicates across track resumes, back to back plays
|
|
were probably just a track resume, only the longest elapsed play will be saved.
|
|
%
|
|
\item[All.] No duplicates, only the longest elapsed play will be saved regardless of when it was played.
|
|
\end{description}
|
|
\item Delete playback log - Remove the current playback log once it has been read.
|
|
\item Threshold - Percentage of track played to be considered 'L'istened.
|
|
\item Minimum elapsed (ms) - Tracks played less than this will not be recorded in log.
|
|
\item Track Info - Only keeps tracks with metadata.
|
|
\begin{description}
|
|
\item[All.] Tracks saved regardless of metadata availibility.
|
|
%
|
|
\item[Skip if Missing.] Tracks without metadata will not be saved.
|
|
%
|
|
\item[Track Name Only.] Tracks not scanned for metadata, only filename saved.
|
|
\end{description}
|
|
\item View log - View the current playback log.
|
|
\item Revert to Default - Default settings restored.
|
|
\item Cancel - Exit, you will be asked to save any changes
|
|
\item Export - Append scrobbler log and save any changes, not visible if no playback log exists.
|
|
\end{itemize}
|
|
|
|
\note{\begin{itemize}
|
|
\item After the plugin has exported the scrobbler log you can find it in the root
|
|
of the drive '.scrobbler.log' open it in the file browser to view the log.
|
|
%
|
|
\item Subsequent exports will be appended to .scrobbler.log thus Delete playback log is advised.
|
|
%
|
|
\item Once setup you may run the scrobbler plugin from a shortcut and it will
|
|
auto export the playback log and exit.
|
|
If you would like to change settings run \setting{LastFm Scrobbler} from
|
|
the \setting{Plugins Menu}.
|
|
%
|
|
\item A copy of the playback log can be found in '/rockbox/playback\_old.log' it will be overwritten with each export.
|
|
|
|
\end{itemize}
|
|
}
|
|
|
|
|
|
\subsubsection{Format}
|
|
Data will be saved in Audioscrobbler spec at: (use wayback machine).
|
|
\url{http://www.audioscrobbler.net/wiki/Portable_Player_Logging}.
|
|
|
|
\begin{verbatim}
|
|
The scrobbler format consists of the following data items
|
|
tab '\t' separated followed by newline '\n'
|
|
\end{verbatim}
|
|
|
|
\begin{itemize}
|
|
\item ARTIST
|
|
\item ALBUM
|
|
\item TITLE
|
|
\item TRACKNUM
|
|
\item LENGTH
|
|
\item RATING
|
|
\item TIMESTAMP
|
|
\item MUSICBRAINZ-TRACKID
|
|
\end{itemize}
|
|
|
|
\note{If track info is not available (due to missing file or format limitations)
|
|
the track path will be used instead (except when \setting{Skip if Missing} is selected).}
|