EchoMap
2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Toggle main menu visibility
Loading...
Searching...
No Matches
ChannelMappingPanel.hpp
1
//
2
// Created by owd on 07/07/2026.
3
//
4
5
#ifndef ECHOMAP_CHANNELMAPPINGPANEL_HPP
6
#define ECHOMAP_CHANNELMAPPINGPANEL_HPP
7
8
#include <sigc++/scoped_connection.h>
9
10
#include <
string
>
11
12
#include "
IProjectPanel.hpp
"
13
14
namespace
echomap
15
{
16
17
class
Signal
;
18
class
Sensor
;
19
class
EchoMap
;
20
class
WorkerResultDespatcher
;
21
25
class
ChannelMappingPanel
final :
public
IProjectPanel
26
{
27
public
:
34
explicit
ChannelMappingPanel
(
35
EchoMap
* app,
36
const
Project
* initial_project =
nullptr
37
);
38
39
[[nodiscard]]
const
char
*
get_imgui_name
()
const
noexcept
override
;
40
41
void
draw
()
noexcept
override
;
42
43
void
change_active_project
(
const
Project
* new_project)
override
;
44
45
static
const
char
* get_imgui_stable_name()
noexcept
;
46
47
private
:
48
void
draw_new_channel_mapping()
noexcept
;
49
void
draw_existing_channel_mapping()
const
noexcept
;
50
51
std::string
panel_name;
52
53
struct
AddChannelMappingRowCache
54
{
55
const
Signal
* signal =
nullptr
;
56
const
Sensor
* sensor =
nullptr
;
57
} new_entry_cache;
58
59
EchoMap
* app;
60
const
Project
* active_project =
nullptr
;
61
std::vector<sigc::scoped_connection>
connections;
62
};
63
64
}
// namespace echomap
65
66
#endif
// ECHOMAP_CHANNELMAPPINGPANEL_HPP
IProjectPanel.hpp
IProjectPanel specification.
std::string
echomap::ChannelMappingPanel::get_imgui_name
const char * get_imgui_name() const noexcept override
Retrieves the name of the IPanel for Dear ImGui API functions.
Definition
ChannelMappingPanel.cpp:26
echomap::ChannelMappingPanel::draw
void draw() noexcept override
Draw the panel to the active rendering context.
Definition
ChannelMappingPanel.cpp:31
echomap::ChannelMappingPanel::change_active_project
void change_active_project(const Project *new_project) override
Updates the active Project being described by the IPanel.
Definition
ChannelMappingPanel.cpp:60
echomap::ChannelMappingPanel::ChannelMappingPanel
ChannelMappingPanel(EchoMap *app, const Project *initial_project=nullptr)
Create a new ChannelMappingPanel to describe and configure Signal-Sensor mappings.
Definition
ChannelMappingPanel.cpp:16
echomap::EchoMap
The EchoMap maintains state for the application including WebGPU and Dear ImGui context,...
Definition
EchoMap.hpp:35
echomap::IProjectPanel
An IPanel which can receive updates to the application-wide active Project.
Definition
IProjectPanel.hpp:24
echomap::Project
Definition
Project.hpp:26
echomap::Sensor
Definition
Sensor.hpp:16
echomap::Signal
A single channel of discretely sampled audio data.
Definition
Signal.hpp:40
echomap::WorkerResultDespatcher
Manages channels for WorkerResult message routing.
Definition
WorkerResultDespatcher.hpp:27
echomap
The main EchoMap outermost namespace for all non-exported symbols.
Definition
ActionController.hpp:20
string
echomap::ChannelMappingPanel::AddChannelMappingRowCache
Definition
ChannelMappingPanel.hpp:54
std::vector
src
panels
ChannelMappingPanel.hpp
Generated by
1.17.0