# hinawa-utils

2018/08/04
Takashi Sakamoto

## Introduction

This batch of Python 3 codes consists of modules and scripts to control
Audio and Music units on IEEE 1394 bus, with a help of PyGObject for
gobject-introspection to libhinawa APIs.

The modules include applications of below specifications:

 * IEEE 1212:2001 - IEEE Standard for a Control and Status Registers (CSR)
   Architecture for Microcomputer Buses
 * IEEE 1394:2008 - IEEE Standard for a High-Performance Serial Bus
 * AV/C Digital Interface Command Set General Specification Version 4.2
   (Sep. 2004, 1394 Trade Association)
 * AV/C Audio Subunit Specification 1.0 (Oct. 2000, 1394 Trade Association)
 * AV/C Connection and Compatibility Management Specification 1.1
   (Mar. 2003, 1394 Trade Association)
 * Configuration ROM for AV/C Devices 1.0 (Dec. 2000, 1394 Trade Association)
 * AV/C Stream Format Information Specification 1.1 - Working draft
   revision 0.5 (Apr. 2005, 1394 Trade Association)
 * Vendor specific protocols:
    * Some protocols for BridgeCo Enhanced Break Out Box (BeBoB) of
      BridgeCo AG.
    * General and extended protocol for Digital Interface Communication
      Engine (DICE) of TC Applied Technologies and ASICs of DiceII,
      TCD2210 (Dice Mini), TCD2220 (Dice Jr.).
    * Protocol for Fireworks board module of Echo Audio corporation.
    * Protocol for Digi 00x series of Digidesign.
    * Protocol for FireWire series of TEAC (TASCAM).
    * Common protocol for each generation of FireWire series of Mark of
      the Unicorn (MOTU).
    * Some protocols specific to manufacturer.

## CUI tools to control Audio and Music unit on IEEE 1394 bus

 * hinawa-config-rom-printer
    * A lexer/parser of configuration ROM on IEEE 1394 bus
 * hinawa-bebob-parser
    * Plug structure parser for BeBoB firmware
 * hinawa-alesis-io-cui
    * CUI tool for Alesis iO|14 and iO|26
 * hinawa-dg00x-cui
    * CUI tool for Digidesign Digi 00x family
 * hinawa-dice-common-cui
    * CUI tool for Dice common functionalities
 * hinawa-dice-extension-cui
    * CUI tool for Dice extended functionalities
 * hinawa-fireworks-cui
    * CUI tool for Echo Audio Fireworks module
 * hinawa-griffin-firewave-cui
    * CUI tool for Griffin Firewave
 * hinawa-lacie-speakers-cui
    * CUI tool for Lacie FireWire speakers
 * hinawa-motu-common-cui
    * CUI tool for MOTU FireWire series
 * hinawa-maudio-bebob-cui
    * CUI tool for M-Audio FireWire series based on BeBoB solution
 * hinawa-oxfw-generic-cui
    * CUI tool for OXFW generic functionalities
 * hinawa-tascam-fireone-cui
    * CUI tool for Tascam FireOne
 * hinawa-tascam-fw-rack-cui
    * CUI tool for rack models of Tascam FireWire series (FW1804)
 * hinawa-tascam-fw-console-cui
    * CUI tool for console models of Tascam FireWire series (FW1082/1884)
 * hinawa-yamaha-terratec-cui
    * CUI tool for Yamaha GO series and Terratec PHASE series
 * hinawa-focusrite-saffirepro-io-cui
    * CUI tool for Focusrite SaffirePro IO series

## Requirements

 * Python 3.4 or later
    * https://docs.python.org/3/library/enum.html
    * https://docs.python.org/3/library/pathlib.html
 * PyGObject
    * https://gitlab.gnome.org/GNOME/pygobject
 * libhinawa 1.0.0 or later, with gir support
    * https://github.com/takaswie/libhinawa

## License

 * All modules are licensed under GNU Lesser General Public License version 3 or
   later.
 * All scripts are licensed under GNU General Public License version 3 or later.

End
