# openmptdec

openmpdec decodes module music formats, such as S3M, MOD, XM, IT. It uses the OpenMPT library for this purpose. It can be autoplugged and therefore works with decodebin.

## Example launch line

     gst-launch-1.0 filesrc location=media/example.it ! openmptdec ! audioconvert ! audioresample ! autoaudiosink

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstNonstreamAudioDecoder
                        ╰──openmptdec

## Factory details

Authors: – Carlos Rafael Giani

Classification: – `Codec/Decoder/Audio`

Rank – primary + 2

Plugin – openmpt

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    audio/x-mod:
               type: { (string)669, (string)asylum-amf, (string)dsmi-amf, (string)extreme-ams, (string)velvet-ams, (string)dbm, (string)digi, (string)dmf, (string)dsm, (string)far, (string)gdm, (string)imf, (string)it, (string)j2b, (string)mdl, (string)med, (string)mod, (string)mt2, (string)mtm, (string)okt, (string)psm, (string)ptm, (string)s3m, (string)stm, (string)ult, (string)xm }

Presence – always

Direction – sink

Object type – GstPad

### `src`

    audio/x-raw:
             format: { S16LE, F32LE }
             layout: interleaved
               rate: [ 1, 192000 ]
           channels: { (int)1, (int)2, (int)4 }

Presence – always

Direction – src

Object type – GstPad

## Properties

### current-subsong

    “current-subsong” guint

Subsong that is currently selected for playback

Flags : Read / Write

Default value : 0

### filter-length

    “filter-length” gint

Length of interpolation filter to use for the samples (0 = internal default)

Flags : Read / Write

Default value : 0

### master-gain

    “master-gain” gint

Gain to apply to the playback, in millibel

Flags : Read / Write

Default value : 0

### num-loops

    “num-loops” gint

Number of times a playback loop shall be executed (special values: 0 = no looping; -1 = infinite loop)

Flags : Read / Write

Default value : 0

### output-buffer-size

    “output-buffer-size” guint

Size of each output buffer, in samples (actual size can be smaller than this during flush or EOS)

Flags : Read / Write

Default value : 1024

### output-mode

    “output-mode” GstNonstreamAudioOutputMode *

Which mode playback shall use when a loop is encountered; looping = reset position to start of loop, steady = do not reset position

Flags : Read / Write

Default value : steady (1)

### stereo-separation

    “stereo-separation” gint

Degree of separation for stereo channels, in percent

Flags : Read / Write

Default value : 100

### subsong-mode

    “subsong-mode” GstNonstreamAudioSubsongMode *

Mode which defines how to treat subsongs

Flags : Read / Write

Default value : default (2)

### volume-ramping

    “volume-ramping” gint

Volume ramping strength; higher value -> slower ramping (-1 = internal default)

Flags : Read / Write

Default value : -1

The results of the search are