|
EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
|
| Nechomap | The main EchoMap outermost namespace for all non-exported symbols |
| Nvariant_helpers | |
| CIsVariantAlternative | Determines whether a type is one of the alternatives of a std::variant |
| CIsVariantAlternative< T, std::variant< Alternatives... > > | Specialisation for std::variant types |
| COverloaded | A helper type for succinctly specifying callable visitors over a variant alternative |
| CActionControllerBase | Provides a platform-independent static mechanism for performing "system actions", such as raising a file-selector dialog, and invoking callbacks upon completion |
| CAddChannelMappingNotification | A notification indicating that a new channel mapping should be established |
| CBidirectionalUnorderedMapping | Maintains a bidirectional mapping between a key and value, allowing fast lookup on both objects |
| CCancelProjectLoadNotification | A notification indicating that a pending Project load should be cancelled |
| CChannelMappingPanel | Provides a panel for defining mappings between Signal and Sensor objects |
| CAddChannelMappingRowCache | |
| CClearErrorNotification | A notification indicating that any error state visible to the user should be reset |
| CColour | A generic RGBA structure |
| CCompleteProjectLoadNotification | A notification indicating that a pending Project is ready to be loaded |
| CConfigurationError | A ConfigurationError indicates an error encountered during the initial configuration of the EchoMap graphics context |
| CDFTResult | Denotes a completed DFT computation from a DFTTask |
| CDFTTask | Represents an ITask for computing the Discrete Fourier Transform of a Signal |
| CDownsampleResult | Denotes a completed for a downsampled Signal produced by a DownsampleTask job |
| CDownsampleTask | Represents an ITask for downsampling a Signal time-series data by a fixed factor |
| CEchoMap | The EchoMap maintains state for the application including WebGPU and Dear ImGui context, encapsulating initialisation, game loop, interaction, and clean-up |
| CEchoMapNative | EchoMap application implementation for native (non-WebAssembly) platforms |
| CEchoMapWeb | EchoMap application implementation for WebAssembly/Emscripten platforms |
| CErrorModal | Provides a persistent ImGui state to raise errors as a modal |
| CErrorResult | Indicates that an ITask did not successfully complete |
| CFFTWBuffers | Simple RAII wrapper for commonly used C types from FFTW(f) |
| CFileChooser | Modal containing controls for interactively selecting a file from the file-system |
| CFilesystemCombo | Provides a platform-independent Dear ImGui combo box for browsing the file-system and selecting files |
| CEntry | A drawable and selectable representation of a file or directory on the file-system |
| CBrowseTarget | A root target selected by the user to focus on |
| CEntryCache | A cache of Entry objects under a single root directory |
| CFrequencySpectrum | A Signal sampled in the frequency domain |
| CBin | A bin within the spectrum, denoting the magnitude (and optionally, complex phase) of a Signal at a given frequency |
| CFrequencySpectrumFactory | Provides a static helper to perform discrete Fourier transforms on Signal objects to produce frequency spectra |
| CIDAllocator | Provides a simple thread-safe runtime ID generator for Object managers |
| CIgnoredWarning | Exception class to indicate a non-fatal warning indicating an exceptional case of dropping some notification |
| CIPanel | Represents a panel or window on the GUI |
| CIProjectPanel | An IPanel which can receive updates to the application-wide active Project |
| CISerialiser | |
| CITask | An ITask represents an invocable piece of work that produces a WorkerResult |
| CIWebPanel | An IPanel which can receive updates to the application-wide unloaded PartialProject |
| CJSActionController | Specialisation of ActionControllerBase to service actions on a WebAssembly target (using the Emscripten runtime) |
| CJSONDeserialiserHelpers | Provides a set of static helpers for parsing Project fields with SIMDJSON |
| CJSONFullDeserialiser | JSON parser for Project objects |
| CJSONPartialDeserialiser | JSON parser for PartialProject objects |
| CJSONSerialiser | |
| CLoadProjectResult | Denotes a loaded Project completed by a LoadProjectTask job |
| CLoadProjectTask | Denotes a unit of work for loading and constructing an EchoMap Project from its serialised form on the filesystem |
| CLoadSignalFileResult | |
| CLoadSignalFileTask | |
| CLocatableError | |
| CLogger | A portable (native and browser) and thread-safe logger implementation for formatted messages |
| CMapSourcesModal | Provides a modal IPanel to map externally sourced Signal objects to separately uploaded files |
| CMenuPanel | |
| CModifySensorColourNotification | A notification indicating that the colour of a Sensor should be changed |
| CModifySensorPositionNotification | A notification indicating that the position of a Sensor should be changed |
| CNativeActionController | Specialisation of ActionControllerBase to service actions on a native platform |
| CNotificationNames | Helper to retrieve names of Notification variant alternatives |
| CObject | A participant in a runtime object model with a numerically unique identifier and display name |
| CCopyTag | Tag despatch discriminator for copying the base object, preserving uniqueness of IDs |
| CPartialProject | A Project with semantics for expressing an incomplete set of owned Signal objects |
| CPosition | A generic 3D position structure |
| CProject | |
| CProjectPanel | |
| CProjectSelectionCompleteNotification | A notification indicating that a new Project file has been selected by the user, or the load operation was cancelled |
| CRaiseFileChooserNotification | A notification indicating that the NativeFileChooser should be raised to prompt for a new Project |
| CRegisterVFSMappingNotification | A notification to indicate a new VFS mapping from an external source |
| CResultChannel | Maintains a type-safe multi-observer single-consumer message bus for WorkerResult objects |
| CSensor | |
| CSensorGeometryPanel | Provides a panel for defining and reviewing (in a 3D plot) positions of loaded Sensor objects in the active Project |
| CSignal | A single channel of discretely sampled audio data |
| CSample | A PCM float-32 sampled audio point at an explicit time offset |
| CSource | Indicates an external source of a Signal on the filesystem |
| CBaseline | Provides basic timing information relating to the Signal samples |
| CSignalDFTPanel | Provides an IPanel to display and interact with previews of Signal frequency spectra (i.e., Signal DFTs) |
| CCallbackData | |
| CCacheKey | A three-way key into the FrequencySpectrum cache |
| CCacheValue | A keyed value within the FrequencySpectrum cache, either denoting a pending, failed, or present DFT |
| CCacheKeyHash | The hash functor for CacheKey |
| CSignalFactory | Provides various convenience functions for constructing Signal objects in exotic ways |
| CSignalWaveformPanel | The SignalWaveformPanel provides a preview of downsampled time-series waveforms of each Signal in the active Project |
| CCallbackData | |
| CStaticInstanceController | Provides a binding interface to connect static controllers to an instance of EchoMap |
| CSurfaceFactory | Provides static helpers to create and bind a WebGPU Surface to a GLFW window across Wasm and non-Wasm platforms |
| CThreadSafeQueue | Provides a straightforward thread-safe double-ended queue implementation |
| CWindowFunctions | Aggregation of callable DSP window functions |
| CConstant | The Constant invocable window function |
| CHann | The Hann raised-cosine window |
| CHamming | The Hamming raised-cosine window |
| CBartlett | The Bartlett triangular window |
| CBlackman | The Blackman cosine-sum window |
| CBlackmanHarris | The minimum four-term Blackman-Harris cosine-sum window |
| CWelch | The Welch parabolic window |
| CNameGetter | Provides a callable type for statically invoking the name getter |
| CWorker | A Worker provides an encapsulated thread-safe despatch model for submitting work and reviewing results |
| CWorkerResultDespatcher | Manages channels for WorkerResult message routing |