MPK
mpk
is our Media Production Kit. It is optimized for processing and
maintaining mid-sized collections of mixed media (10-100TB).
- codecs
- MIDI
- OSC
- interfaces
- mpd
- ytdl
- GStreamer
- sndfile
- chromaprint
- transmission
- ffmpeg
- picard
- features
- mlm (library manager)
- metro (MIDI/OSC client/server)
- STASH/SESH client/servers
- players (audio/video, streaming, DRM)
packages
MPK/CLI MPK/GUI MPK/DB MPK MPK-USER MPK/MPD dependencies
core/user dependents
homer bin/mpk files
pkg.lisp mpd.lisp var.lisp proto.lisp util.lisp db.lisp cfg.lisp net.lisp mpk.lisp cli.lisp gui.lisp symbols
MPK-PATH MPK-CONFIG MPK-MEDIA-PATH MPK-PREV MPK-DIRECTORY MPK-MEDIA-COLLECTION MPK-MUSIC-PATH MPK-USER-PATH MPK-DB-DIRECTORY MPK-CACHE-DIRECTORY MPK-STOP MPK-PAUSE GET-MUSIC-METADATA* MPK-TOGGLE MPK-MEDIA-DIRECTORY USER-MPKRC MPK-MEDIA-COLLECTIONS MPK-PREVIOUS GET-MUSIC-METADATA LOAD-MPKRC METADATA-SCAN-DIRECTORY MPK-ENSURE-DIRECTORIES MPK-SHUFFLE FIND-MPK-SYMBOL MPK-DATA-DIRECTORY MPK-NEXT MUSIC-METADATA MPK-DB-PATH MPK-CACHE-PATH KNOWN-MEDIA-TYPES MPK-DB-META-DIRECTORY MPK-USER-DIRECTORY MOVIES-METADATA INIT-MPKRC MPK-DATA-PATH MPK-PLAY MPK-MEDIA-SOURCES MPK-MEDIA-TYPES MPK-DB-ID-SEED MPK-COMPONENT MPC MPK-INIT
1. Protocol
The protocol provided by the mpk
package can be thought of as a
cross between skel
and dsp
. mpk-project
and mpk-component
inherit directly from sk-project
and sk-component
. Many of the
generic methods provided operate on media-file
objects and use dsp
internals.
2. Configuration
mpk
supports configuration in the standard s-expression
format. Where possible we also support the default file formats used
by the tools we rely on (picard, transmission, mpd).
(describe 'mpk-config)
MPK:MPK-CONFIG [symbol] MPK-CONFIG names the standard-class #<STANDARD-CLASS MPK:MPK-CONFIG>: Direct superclasses: AST, ID, CONFIG No subclasses. Not yet finalized. Direct slots: PATH Type: (OR PATHNAME NULL) Initargs: :PATH LOGGER Type: (OR NULL LOG:LOGGER-CONFIG) Initargs: :LOGGER Initform: (DEFAULT-LOGGER-CONFIG) Readers: LOGGER Writers: (SETF LOGGER) MPD Type: MPK/MPD:MPD-CONFIG Initargs: :MPD JACK Initargs: :JACK PIPEWIRE Initargs: :PIPEWIRE ALSA Initargs: :ALSA GSTREAMER Initargs: :GSTREAMER METRO Initargs: :METRO PICARD Type: CLI/TOOLS/MEDIA:PICARD-CONFIG Initargs: :PICARD TRANSMISSION Type: CLI/TOOLS/NET::TRANSMISSION-CONFIG Initargs: :TRANSMISSION YTDL Initargs: :YTDL
3. CLI
mpk
provides a CLI application of the same name.