Isomet Modular Synthesiser (iMS) API
v1.4.2
iMS API
|
Classes within this group are used to store information about an iMS System and to Connect / Disconnect from it. More...
Go to the source code of this file.
Classes | |
class | iMS::IMSOption |
An iMS Synthesiser can support one iMS Option, which adds an additional hardware function to the capabilities of the Synthesiser. More... | |
struct | iMS::FWVersion |
Stores the version number of firmware running on iMS hardware. More... | |
class | iMS::IMSController |
Stores Capabilities, Description, Model & Version Number of an iMS Controller. More... | |
struct | iMS::IMSController::Capabilities |
Returns information about the capabilities of the Controller hardware. More... | |
class | iMS::IMSSynthesiser |
Stores Capabilities, Description, Model & Version Number of an iMS Synthesiser. More... | |
struct | iMS::IMSSynthesiser::Capabilities |
Returns information about the capabilities of the Synthesiser hardware. More... | |
class | iMS::IMSSystem |
An object representing the overall configuration of an attached iMS System and permits applications to connect to it. More... | |
Namespaces | |
iMS | |
The entire API is encapsulated by the iMS namespace. | |
Classes within this group are used to store information about an iMS System and to Connect / Disconnect from it.
When a host system is scanned to find attached iMS Systems using ConnectionList::scan(), an IMSSystem object is created for each system that it finds. The system is then probed to discover any Controllers and Synthesisers that belong to it, along with any Option boards that are attached to the Synthesiser (e.g. Frequency doubling). If an AO Deflector or Modulator is connected to the Synthesiser and/or an RF Amplifier, it will also attempt to find out any information it can about those devices.
Once done, the IMSSystem object is returned to the User application. The User can read all of the data that has been created about the iMS System that was discovered, including system structure, capabilities, descriptions, model numbers, serial numbers and firmware versions.
Much of the data that is stored about an iMS System and its components is retrieved from a hardware database which is crossreferenced by identity information read back from the hardware. The hardware database stored as a resource within the library object.
Because the iMS concept is modular in approach, there are many different configurations of an iMS which must all be compatible with the iMS library. Therefore, IMSSystem is vital to many functions within the library to allow them to carry out their objectives according to the capabilities of the attached hardware. As a result, you will see many class constructors which require a const reference to an IMSSystem object so that they have the information about hardware targetting available.
Two further features of IMSSystem are important to notice: the ability to Connect to and Disconnect from a system. No functions can be carried out on an iMS System until it has been identified by the connection scan, and a connection established by calling IMSSystem::Connect().