APx500 Measurement Software has the most advanced audio measurement user interface in the world. The Measurement Navigator and Sequencer allow complex automation -- including user prompts and calls to external applications-- without a single line of code.
Sometimes, however, the Operator needs a custom interface, or application-to-application automation is required. For these cases, APx has a comprehensive Application Programming Interface (API).
AP supports the .NET, C# and LabVIEW development environments. For more on the LabVIEW driver, visit the APx LabVIEW driver page. The APx Resources Disc contains a library of sample test files in .NET and C# to help get you started.
For more information, download the APx API Developer Tools, which includes a presentation on getting started with the API.
The Audio Precision APx500 API is organized in a manner that reflects the APx user interface. The API is logically organized to reflect major concepts such as a project file, sequence, and measurements.
The APx user interface (UI) is divided visually into a left side and right side. The Measurement Navigator occupies the left side of the screen and offers organizational features of your project, as well as the ability to run the contents of your project as a sequence. The right side of the user interface is occupied by the active measurement. All settings and results for the active measurement are presented in the user interface.
The API is organized in a similar manner. Each measurement in the UI has a corresponding property call with the same name as displayed on the UI
Most of the measurements share common Properties such as Generator, Start() and ClearData() as well as having properties that are unique to that measurement, such as OneToOneSourceChannel in the Crosstalk measurement. In turn, these Properties have action calls associated with them that can be shared or unique depending on the measurement.
While the API does contain calls for nearly all of the APx’s individual operations, the best way to automate the APx is to combine a manually created project file with the “Run Sequence” API call APx.Sequence.Run().
This approach takes best advantage of the APx UI’s ease-of-use combined with the flexibility of a programmatic environment to automate tests and/or integrate the APx into a larger test rig.
For example, to run a project named “Test23.approj”, you would use
APx.Sequence.Run("c:\\mytests\Test23.approj")
To run a single measurement in a sequence, you would use
APx.Sequence.Item("Signal Path1").Item("Level and Gain").Run()
Note: The Measurement Navigator always specifies which signal path a measurement belongs to, so the API call must specify the signal path parameter.
APx API Project Template

AP has provided a VB Express project template installer which gives you a starting point to begin creating new projects for the APx.
This project will provide a blank form with the APx class defined. For more detailed code examples, use the Visual Basic Sample Tests on the APx Resource Disc.
Instructions
The APx Resources Disc contains sample files and other resources to help you get started.
Download the APx Resource Disc