id: vocoder_codec2_encode_sp
label: CODEC2 Audio Encoder

parameters:
-   id: mode
    label: Bit rate
    dtype: raw
    default: codec2.MODE_2400
    options: [codec2.MODE_3200, codec2.MODE_2400, codec2.MODE_1600, codec2.MODE_1400,
        codec2.MODE_1300, codec2.MODE_1200, codec2.MODE_700, codec2.MODE_700B,
        codec2.MODE_700C, codec2.MODE_WB, codec2.MODE_450, codec2.MODE_450PWB]
    option_labels: [3200 bps, 2400 bps, 1600 bps, 1400 bps, 1300 bps, 1200 bps, 700
            bps, 700B bps, 700C bps, Wideband, 450 bps, 450PWB bps]
    hide: none

inputs:
-   domain: stream
    dtype: short

outputs:
-   domain: stream
    dtype: byte
    vlen: '${ { 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48, 6: 28, 7: 28, 8: 28, 9: 64, 10: 18, 11: 18 }[mode] }'

templates:
    imports: |-
        from gnuradio import vocoder
        from gnuradio.vocoder import codec2
    make: vocoder.codec2_encode_sp(${mode})

documentation: |-
    Not all modes may be supported by the underlying codec2 library.

file_format: 1
