summaryrefslogtreecommitdiffstats
path: root/manual/plugins/lrcplayer.tex
blob: 604fe8251c075c58271e9e0ad458c3ebeb6bc020 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
% $Id$ %
\subsection{Lrcplayer}
% \screenshot{plugins/images/ss-lrcplayer}{Lrcplayer}{}
This plugin displays lyrics in \fname{.lrc} files (and some other formats)
synchronized with the song being played.

\subsubsection{Supported file types}
\begin{enumerate}
\item \fname{.lrc}
\item \fname{.lrc8}
\item \fname{.snc}
\item \fname{.txt}
\item id3v2 SYLT or USLT tags in mp3 files
\end{enumerate}

\fname{.lrc8} files are the same as \fname{.lrc} files except that they are UTF8
encoded. The Lyrics3 tag is not supported.

\subsubsection{Supported tags and formats for \fname{.lrc} files}
The following tags are supported:
\begin{verbatim}
[ti:title]
[ar:artist]
[offset:offset (msec)]
\end{verbatim}

Each line should resemble one of the following:
\begin{verbatim}
[time tag]line
[time tag]...[time tag]line
[time tag]<word time tag>word<word time tag>...<word time tag>
\end{verbatim}

The time tag must be in the form [mm:ss], [mm:ss.xx], or [mm:ss.xxx] where mm is
minutes, ss is seconds, xx is tenth of milliseconds, and xxx is milliseconds.
Any other tags and lines without time tags are ignored.

\subsubsection{Location of lyrics files}
The plugin checks the following directories for lyrics files.
\opt{swcodec}{If no lyrics file is found and the audio file is a \fname{.mp3},
  it also checks for SYLT and USLT tags in the id3v2 tags.}

\begin{enumerate}
\item The directory containing the audio file and its parent directories.
\item For each of the above directories, the plugin searches for a subdirectory
      named ``Lyrics''.
\item Finally, the plugin will search as above, but within a directory called
      ``/Lyrics''. The name of this directory can be customized, see below.
\end{enumerate}

If the audio file currently playing is \fname{/Music/Artist/Album/Title.mp3},
then the following files will be searched for, in this order. \fname{.ext} is one
of the supported extensions from the list above, and will be searched for in the
same order as in that list.

\begin{verbatim}
/Music/Artist/Album/Title.ext
/Music/Artist/Title.ext
/Music/Title.ext
/Title.ext
/Music/Artist/Album/Lyrics/Title.ext
/Music/Artist/Lyrics/Title.ext
/Music/Lyrics/Title.ext
/Lyrics/Title.ext
/Lyrics/Musics/Artist/Album/Title.ext
/Lyrics/Musics/Artist/Title.ext
/Lyrics/Musics/Title.ext
/Lyrics/Title.ext
\end{verbatim}

\subsubsection{Controls}
\begin{table}
  \begin{btnmap}{}{}
    \ActionWpsVolUp{} / \ActionWpsVolDown
    \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsVolUp{} / \ActionRCWpsVolDown}
    & Volume up/down.\\
    %
    \ActionWpsSkipPrev
    \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsSkipPrev}
    & Go to beginning of track, or if pressed while in the
      first seconds of a track, go to the previous track.\\
    %
    \ActionWpsSeekBack
    \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsSeekBack}
    & Rewind in track.\\
    %
    \ActionWpsSkipNext
    \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsSkipNext}
    & Go to the next track.\\
    %
    \ActionWpsSeekFwd
    \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsSeekFwd}
    & Fast forward in track.\\
    %
    \ActionWpsPlay
    \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsPlay}
    & Toggle play/pause.\\
    %
    \ActionWpsStop \nopt{ONDIO_PAD}{or \ActionWpsBrowse}
    \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsStop or \ActionRCWpsBrowse}
    & Exit the plugin.\\
    %
    \ActionWpsContext
    \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsContext}
    & Enter timetag editor.\\
    %
    \opt{ONDIO_PAD}{\ActionWpsBrowse}%
    \nopt{ONDIO_PAD}{\ActionWpsMenu}%
    \opt{HAVEREMOTEKEYMAP}{& \ActionRCWpsMenu}
    & Enter \setting{Lrcplayer Menu}.\\
    %
  \end{btnmap}
\end{table}

\subsubsection{Lrcplayer Menu}

\begin{description}
  \item[Theme settings.] Change theme related settings.
  \begin{description}
    \opt{lcd_bitmap}{%
      \item[Show Statusbar.] Show / hide the statusbar.
      \item[Display Title.] Show / hide the track title.
    }%
    \item[Display Time.] Show / hide the current time.
    \opt{lcd_color}{%
      \item[Inactive Colour.] Set the colour of the inactive part of the lyrics.
    }%
    \item[Backlight Force On.] Do not turn off the backlight while displaying
         the lyrics.
  \end{description}
  \opt{lcd_bitmap}{%
    \item[Display Settings.] Change how the lyrics are displayed.
    \begin{description}
      \item[Wrap.] Breaks lines at white space.
      \item[Wipe.] Wipes the text.
      \item[Alignment.] Align text to the left, centre, or right.
      \item[Activate Only Current Line.]
          Activate only the current line, or the current and previous lines.
    \end{description}
  }%
  \item[Lyrics Settings.] Change how the lyrics files are loaded.
  \begin{description}
    \item[Encoding.] Sets the codepage used in the plugin.
    \opt{swcodec}{%
      \item[Read ID3 tag.] Read lyrics from id3 tags in mp3 files.
    }%
    \item[Lrc Directory.] Set the directory where lyrics files are stored,
      must be a maximum of 63 bytes.
  \end{description}
  \item[Playback Control.] Show the playback control menu.
  \item[Time Offset.] Set an offset for the time tags for the lyrics currently in use.
  \item[Timetag Editor.] Enter the timetag editor.
  \item[Quit.] Exit the plugin.
\end{description}

\subsubsection{Editing the time tags}

The display time for each line can be changed with the timetag editor.
Selecting a line changes its time to the current position of the track.
To set a specific time or to adjust the time, press \ActionStdContext{} to
bring up a screen to adjust the time.
Changes will be saved automatically when the song is changed.
Edting words in lyrics is not supported.