Skip to the content.

Home

jc.parsers.amixer

jc - JSON Convert amixer sget command output parser

Usage (cli):

$ amixer sget <control_name> | jc --amixer
$ amixer sget Master | jc --amixer
$ amixer sget Capture | jc --amixer
$ amixer sget Speakers | jc --amixer

Usage (module):

import jc
result = jc.parse('amixer', <amixer_sget_command_output>)

Schema:

{
    "control_name":                     string,
    "capabilities": [
                                        string
    ],
    "playback_channels": [
                                        string
    ],
    "limits": {
        "playback_min":                 integer,
        "playback_max":                 integer
    },
    "mono": {
        "playback_value":               integer,
        "percentage":                   integer,
        "db":                           float,
        "status":                       boolean
    }
}

Examples:

$ amixer sget Master | jc --amixer -p
{
  "control_name": "Capture",
  "capabilities": [
    "cvolume",
    "cswitch"
  ],
  "playback_channels": [],
  "limits": {
    "playback_min": 0,
    "playback_max": 63
  },
  "front_left": {
    "playback_value": 63,
    "percentage": 100,
    "db": 30.0,
    "status": true
  },
  "front_right": {
    "playback_value": 63,
    "percentage": 100,
    "db": 30.0,
    "status": true
  }
}

$ amixer sget Master | jc --amixer -p -r
{
    "control_name": "Master",
    "capabilities": [
        "pvolume",
        "pvolume-joined",
        "pswitch",
        "pswitch-joined"
    ],
    "playback_channels": [
        "Mono"
    ],
    "limits": {
        "playback_min": "0",
        "playback_max": "87"
    },
    "mono": {
        "playback_value": "87",
        "percentage": "100%",
        "db": "0.00db",
        "status": "on"
    }
}

parse

def parse(data: str, raw: bool = False, quiet: bool = False) -> Dict

Main text parsing function

Parameters: data: (string) text data to parse raw: (boolean) unprocessed output if True quiet: (boolean) suppress warning messages if True

Returns: Dictionary. Raw or processed structured data.

Parser Information

Compatibility: linux

Source: jc/parsers/amixer.py

Version 1.0 by Eden Refael (edenraf@hotmail.com)