MPK

mpk is our Media Production Kit. It is optimized for processing and maintaining mid-sized collections of mixed media (10-100TB).

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.