EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
EchoMapWeb.hpp
Go to the documentation of this file.
1
9
10#ifndef ECHOMAP_ECHOMAPWEB_HPP
11#define ECHOMAP_ECHOMAPWEB_HPP
12
13#if defined(__EMSCRIPTEN__) || defined(__DOXYGEN__)
14
15#include "../EchoMap.hpp"
16
17namespace echomap
18{
19
20class PartialProject;
21
25class EchoMapWeb : public EchoMap
26{
27public:
28 void run_event_loop() override;
29
30 EchoMapWeb();
31 ~EchoMapWeb() override;
32
33protected:
34 void visit_notification(Notification& notification) override;
35
36 void handle_result(LoadProjectResult&& result) override;
37 void handle_result(LoadSignalFileResult&& result) override;
38
39private:
40 void handle_notification(const CancelProjectLoadNotification& notification);
41 void handle_notification(const CompleteProjectLoadNotification& notification);
42 void handle_notification(RegisterVFSMappingNotification& notification) const;
43
51 static void render_shim(void* echomap_instance);
52
54};
55
56} // namespace echomap
57
58#endif // __EMSCRIPTEN__
59
60#endif // ECHOMAP_ECHOMAPWEB_HPP
EchoMap class specification.
static void render_shim(void *echomap_instance)
Invokes the renderer from a static context given an untyped mutable pointer to the EchoMap object ins...
void run_event_loop() override
Runs the platform-dependent event loop to manage and propagate interaction with the EchoMap applicati...
void visit_notification(Notification &notification) override
Uses std::visit on the given notification to invoke the corresponding handler.
std::unique_ptr< PartialProject > unloaded_project
Owning container for the unloaded Project.
EchoMap()
Initialise a EchoMap application instance.
Definition EchoMap.cpp:41
Denotes a loaded Project completed by a LoadProjectTask job.
A Project with semantics for expressing an incomplete set of owned Signal objects.
std::variant< AddChannelMappingNotification, ModifySensorColourNotification, ModifySensorPositionNotification, ProjectSelectionCompleteNotification, ClearErrorNotification, RaiseFileChooserNotification, RegisterVFSMappingNotification, CompleteProjectLoadNotification, CancelProjectLoadNotification > Notification
A Notification is a trivial message sent exclusively to the EchoMap controller.
The main EchoMap outermost namespace for all non-exported symbols.
A notification indicating that a pending Project load should be cancelled.
A notification indicating that a pending Project is ready to be loaded.
A notification to indicate a new VFS mapping from an external source.