35 #ifndef IMS_TONEBUFFER_H__
36 #define IMS_TONEBUFFER_H__
48 #if defined _WIN32 || defined __CYGWIN__
50 #define DLL_EXPORT __attribute__ ((dllexport))
51 #define DLL_IMPORT __attribute__ ((dllimport))
53 #define DLL_EXPORT __declspec(dllexport) // Note: actually gcc seems to also supports this syntax.
54 #define DLL_IMPORT __declspec(dllimport) // Note: actually gcc seems to also supports this syntax.
59 #define DLL_EXPORT __attribute__ ((visibility ("default")))
60 #define DLL_IMPORT __attribute__ ((visibility ("default")))
61 #define DLL_LOCAL __attribute__ ((visibility ("hidden")))
69 #if defined(_EXPORTING_IMS)
70 #define LIBSPEC DLL_EXPORT
71 #define LIBLOCAL DLL_LOCAL
72 #define EXPIMP_TEMPLATE
73 #elif defined(_STATIC_IMS)
76 #define EXPIMP_TEMPLATE
78 #define LIBSPEC DLL_IMPORT
79 #define LIBLOCAL DLL_LOCAL
80 #define EXPIMP_TEMPLATE extern
128 using TBArray = std::array < TBEntry, 256>;
174 ToneBuffer(
const int entry,
const std::string& name =
"");
216 const_iterator begin()
const;
220 const_iterator end()
const;
224 const_iterator cbegin()
const;
228 const_iterator cend()
const;
234 const TBEntry& operator[](std::size_t idx)
const;
250 TBEntry& operator[](std::size_t idx);
263 const std::size_t Size()
const;
275 const std::string& Name()
const;
327 bool StartDownload();
349 void ToneBufferDownloadEventSubscribe(
const int message,
IEventHandler* handler);
373 void ToneBufferDownloadEventUnsubscribe(
const int message,
const IEventHandler* handler);
407 #undef EXPIMP_TEMPLATE
bool StartVerify()
No Verify is possible. Always returns false.
Definition: ToneBuffer.h:339
TBArray::const_iterator const_iterator
Const Iterator defined for user readback of internal TBArray.
Definition: ToneBuffer.h:144
Events
List of Events raised by the ToneBuffer Class and ToneBuffer Table Downloader.
Definition: ToneBuffer.h:105
Event raised each time the ToneBufferDownload class registers an error in the download process...
Definition: ToneBuffer.h:109
Provides a mechanism for downloading ToneBuffer's to a Synthesiser's LTB memory.
Definition: ToneBuffer.h:295
Classes for reading, writing and managing the file system built into an iMS Synthesiser.
FileDefault
Default flag tags a file entry for execution at startup (only one per filetype)
Definition: FileSystem.h:141
Interface Specification class for sending large binary data objects to the iMS.
Definition: IBulkTransfer.h:102
int GetVerifyError()
No Verify is possible. Always return -1.
Definition: ToneBuffer.h:342
Non-default is the normal state for most files.
Interface Class for User Application code to receive and process events from the iMS library...
TBArray::iterator iterator
Iterator defined for user manipulation of internal TBArray.
Definition: ToneBuffer.h:141
An object representing the overall configuration of an attached iMS System and permits applications t...
Definition: IMSSystem.h:361
int FileSystemIndex
FileSystemIndex represents the entry number for a particular file in the FileSystemTable.
Definition: FileSystem.h:150
The entire API is encapsulated by the iMS namespace.
Definition: Auxiliary.h:95
An array of 4-channel FAP Tones stored in memory on the Synthesiser.
Definition: ToneBuffer.h:122
Classes for storing sequences of synchronous multi-channel RF drive data.
Classes within this group are used to store information about an iMS System and to Connect / Disconne...
Interface Class for an Event Handler to be defined in User Code and subscribed to library events...
Definition: IEventHandler.h:146
Interface Specification class for sending large binary data objects to the iMS.
All the different types of events that can be triggered by the ToneBuffer and ToneBufferDownload clas...
Definition: ToneBuffer.h:101
Event raised when ToneBufferDownload has confirmed that the iMS Controller received all of the ToneBu...
Definition: ToneBuffer.h:107
Useful Type Definitions for working with iMS Systems.
Stores 4 FAP Triads containing frequency, amplitude and phase data for 4 RF channels.
Definition: Image.h:99