Sélectionner une révision Git
lektor.template 5,77 Kio
.\" vim: ft=groff
.TH "LEKTOR" "1" "___DATE___" "LEKTOR MK 7"
.SH "NAME"
lektor \- the lektor karaoke player
.SH "OVERVIEW"
Lektor is a collection of pragram, a daemon a client and an administrator
used to play karaoker from the bakabase.
.PP
You may be interested in other related programs like:
.PP
.PD 0
.TP
\fIlektord\fP The lektor daemon
.TP
\fIlkt\fP A standard client for lektord
.PD
.SH "DESCRIPTION"
lektor is a replacement of old bash scripts present on \fISakura\fP (now
\fIShinSakura\fP). It allows interaction from the network with a \fIMPD\fP
compatible protocol even if functionnalities may differ.
.PP
Here is a list of functionnalities offered by lektor:
.PP
.PD 0
.TP
.PD
\fBBase synchronisation\fP
The entire base can be syncrhonised from \fIKurisu\fP.
.TP
\fBManipulation over the network\fP
Lektord can be piloted over the network with \fBlkt\fP.
.TP
\fBPlaylists and stickers\fP
Reading and searching through the base can be facilitated by creating
\fIplaylist\fP and using \fIstickers\fP (\fIMPD\fP version of tags).
.SH "INSTALLATION"
You may install lektor from source like this:
.sp
.RS 4
.nf
\fB
% git clone https://git.iiens.net/martin2018/lektor && cd lektor
% sudo mkdir /home/kara && sudo chown USER:USER /home/kara
% mkdir build && cd build && ../configure --enable-static-modules
% make && make install
% lkt adm conf > ~/.config/lektor/lektor.ini
.fi \fR
.P
.RE
.SH "ENVIRONEMENT VARIABLES"
When launching \fBlektord\fP and \fBlkt\fP, some environement variable can be
passed to modify their behaviour.
.PP
.PD 0
.TP
.PD
\fB__LKT_RESTART\fP
Must be non empry to specify to \fBlektord\fP that it is restarting, you should
not set this variable manually unless you know what you are doing.
.TP
\fB__LKT_CURRENT\fP
Used to specify at which position the \fBlektord\fP daemon must restart. The
\fB__LKT_RESTART\fP variable must be set for \fB__LKT_CURRENT\fP variable to
do something.
.TP
\fB__LKT_SET_ASSERT\fP
When built in debug mode (the \fBNDEBUG\fP macro is not defined at compile
time), it is possible to enable asserts by setting this variable to anything
that is not a null string or empty string. By default, asserts are not enabled
in \fBlektord\fP and \fBlkt\fP.
.SH "SUPPORTED URIS"
When searching the database, the following URIs are supported by lektor. Those
URIs are hidden, you should not use them, but here is some documentation about
them.
.PP
.PD 0
.TP
.PD
\fBid://${arg}\fP
the \fBarg\fP should be the id of the kara in the sqlite3 database.
.TP
\fBlang://${arg}\fP
the \fBarg\fP should be the language of the kara.
.TP
\fBtype://${arg}\fP
the \fBarg\fP should be the type of the kara.
.TP
\fBcategory://${arg}\fP
the \fBarg\fP should be the category of the kara.
.TP
\fBauthor://${arg}\fP
the \fBarg\fP should be the author of the kara.
.TP
\fBplaylist://${plt-name}\fP
The \fBplt-name\fP should be the name of a playlist.
.TP
\fBquery://${arg}\fP
the \fBarg\fP should be a sqlite3 query. The formating string on which the query
is applied is like \fB"${cat}/${source} - ${type}${song_num?} - ${title}"\fP.
You usually want to do this.
.SH "SUPPORTED LANGUAGES"
The supported languages in lektor are: \fBjp\fP, \fBfr\fP, \fBsp\fP, \fBen\fP,
\fBlatin\fP, \fBit\fP, \fBru\fP, \fBmulti\fP and \fBundefined\fP.
.SH "SUPPORTED TYPES"
The supported types in lektor are: \fBOP\fP, \fBED\fP, \fBIS\fP, \fBAMV\fP,
\fBVOCA\fP, \fBMV\fP, \fBPV\fP and \fBLIVE\fP.
.SH "SUPPORTED CATEGORIES"
The supported categories in lektor are: \fBvo\fP, \fBva\fP, \fBcdg\fP,
\fBamv\fP, \fBvocaloid\fP and \fBautres\fP.
.SH "MODULES AN CLIENT API"
Modules are \fB.so\fP files (i.e. dynamic libraries) loaded by lektors using a
function named \fBmodule_set_function\fP which takes a \fBvoid *\fP and a
\fBstruct lkt_option *\fP in argument and must return an \fBint\fP (may return
an \fBuint16_t\fP in the future). This function must initialize correctly the
module. The name of this function can be defined in the \fBlektor.ini\fP file.
The functions of a modules are stored in a \fBregister\fP. This register can be
registered in the lektor's global \fBregister\fP or exported inside \fB.so\fP file.
Only one `register` can be exported by \fB.so\fP file. The macros are here to help
you do so.
Some functions are mendatory for a module:
.PP
.PD 0
.TP
.PD
- The \fBnew(void **)\fP function creates the module
.TP
- The \fBfree(void **)\fP release the module, it \fIcan't\fP be used after
.TP
- The \fBclose(void **)\fP close the module, it \fIcan\fP be used after
.PP
All exported functions must take a \fBva_list\fP. The first argument of the
\fBva_list\fP is a \fBvoid **\fP, which point to the pointer used to access the
module's defined structure. The rest is up to you, no checks will be done. All
functions must return an \fBint\fP in a POSIX way: \fB0\fP if everything is ok,
an other value if something went wrong.
.SH "MPD - Music Player Daemon"
Lektor is almost MPD compatible, at least it uses the same protocol, which can
be gotten here: \fBhttps://www.musicpd.org/doc/html/protocol.html#\fP.
.SH "AUTHOR AND AVAILABILITY"
Lektor is a karaoke player for POSIX compliant systems (i.e. not MS-Windows)
writen initially in C. Some may call it Lektor mk 7. It was writen by Hubert
\'Taiite' HIRTZ, Maël 'Kubat' MARTIN and Louis 'Elliu' GOYARD. These people
also helped: Loïc 'Sting' ALLÈGRE and Etienne 'Pelle' BRATEAU.
.PP
The up\-to\-date source code is available via Git from Gitlab\&. See
\fBhttps://git\&.iiens\&.net/martin2018/lektor\fP. The source code is
provided under the \fIISC\fP licence.
.fi
.SH "RELATED SITES AND THE LEKTOR FAQ"
Just see one of the dev from lektor or a bakateux if you have some questions
about lektor.
.PP
.PD 0
.TP
\fBhttps://kurisu.iiens.net\fP The depo site for the karaoke base
.TP
\fBhttps://manga.iiens.net\fP The home website for the Bakaclub
.TP
\fBirc.iiens.net:7000/#manga\fP The irc channel
.PD