Skip to content

version 1.4.0 release

Compare
Choose a tag to compare
@takaswie takaswie released this 12 Oct 11:56
· 415 commits to master since this release

In this release, the minor part of version number is incremented to introduce some new symbols for additional APIs. This is a preparation for future major version up.

HinawaFwNode is newly added

In specification of IEEE 1394 bus, a node corresponds to each physical device to communicate each other. A unit corresponding to each functionality of the device. HinawaSndUnit is for the unit with audio and music functionalities. On the other hand, Linux FireWire character device is for the node.
HinawaFwNode is newly added for the node. HinawaFwUnit is an object to maintain a reference to an instance of HinawaFwNode. The object is planned to be an abstract object in future release. Userspace applications should be rewritten to instantiate derived classes such as HinawaSndUnit.
Some APIs in HinawaFwReq, HinawaFwResp and HinawaFwFcp objects with arguments of HinawaFwUnit are deprecated now. Userspace applications should use alternative APIs with arguments of HinawaFwNode, retrieved by hinawa_fw_unit_get_node().

GArray is deprecated for buffer argument

Some APIs in HinawSndEfw and HinawaSndDice are still with arguments of GArray, however GArray is inconvenient for development of language bindings such as Rust. Some alternative APIs are newly added to these GObject classes to deprecate old APIs. The backward compatibility is kept during v1 period.

Calles are responsible for buffer to store response frame of transaction

Some APIs in HinawaFwReq, HinawaFwFcp and HinawaSndEfw have arguments for buffer to store response frame of transaction. This buffer should be allocated by callers for enough space to the response. The backward compatibility is kept during v1 period.

Callers are responsible for threading

For convenience to userspace applications, some threads are launched internally for I/O dispatcher and signal notifier. These functionalities are now deprecated and userspace applications are responsible for threading. HinawaFwNode and HinawaSndUnit returns GSource and userspace applications can use GMainContext to run event dispatcher. The backward compatibility is kept during v1 period.