7
7
8
8
#include < stdio.h>
9
9
10
+ using std::map;
10
11
using std::shared_ptr;
12
+ using std::unique_ptr;
11
13
using std::string;
12
14
using std::vector;
13
15
14
16
15
-
16
17
struct NodeReverseLookup
17
18
{
18
- std:: map<std:: string, ln_Pin> input_pin_map;
19
- std:: map<std:: string, ln_Pin> output_pin_map;
20
- std:: map<std:: string, ln_Pin> param_pin_map;
19
+ map<string, ln_Pin> input_pin_map;
20
+ map<string, ln_Pin> output_pin_map;
21
+ map<string, ln_Pin> param_pin_map;
21
22
};
22
23
23
- std:: map<uint64_t , NodeReverseLookup> g_node_reverse_lookups;
24
+ map<ln_Node , NodeReverseLookup, cmp_ln_Node > g_node_reverse_lookups;
24
25
25
- std:: unique_ptr<lab::AudioContext> g_audio_context;
26
+ unique_ptr<lab::AudioContext> g_audio_context;
26
27
27
28
28
29
@@ -81,16 +82,18 @@ void DrawSpectrum(std::shared_ptr<lab::AudioNode> audio_node, ImVec2 ul_ws, ImVe
81
82
drawList->PathStroke (ImColor (255 , 255 , 0 , 255 ), false , 2 );
82
83
}
83
84
84
- void LabSoundProvider::create_entities (std::shared_ptr<lab::AudioNode> audio_node, lab::noodle::NoodleNode& node, ln_Node audio_node_id)
85
+ void LabSoundProvider::create_noodle_data_for_node (
86
+ std::shared_ptr<lab::AudioNode> audio_node,
87
+ lab::noodle::NoodleNode& node)
85
88
{
86
89
if (!audio_node)
87
90
return ;
88
91
89
- auto reverse_it = g_node_reverse_lookups.find (audio_node_id .id );
92
+ auto reverse_it = g_node_reverse_lookups.find (node .id );
90
93
if (reverse_it == g_node_reverse_lookups.end ())
91
94
{
92
- g_node_reverse_lookups[audio_node_id .id ] = NodeReverseLookup{};
93
- reverse_it = g_node_reverse_lookups.find (audio_node_id .id );
95
+ g_node_reverse_lookups[node .id ] = NodeReverseLookup{};
96
+ reverse_it = g_node_reverse_lookups.find (node .id );
94
97
}
95
98
auto & reverse = reverse_it->second ;
96
99
@@ -120,7 +123,7 @@ void LabSoundProvider::create_entities(std::shared_ptr<lab::AudioNode> audio_nod
120
123
lab::noodle::NoodlePin::DataType::Bus,
121
124
name,
122
125
" " ,
123
- pin_id, audio_node_id ,
126
+ pin_id, node. id ,
124
127
};
125
128
126
129
_audioPins[pin_id] = LabSoundPinData{ 0 };
@@ -140,7 +143,7 @@ void LabSoundProvider::create_entities(std::shared_ptr<lab::AudioNode> audio_nod
140
143
lab::noodle::NoodlePin::DataType::Bus,
141
144
name,
142
145
" " ,
143
- pin_id, audio_node_id ,
146
+ pin_id, node. id ,
144
147
};
145
148
146
149
_audioPins[pin_id] = LabSoundPinData{ 0 };
@@ -195,7 +198,7 @@ void LabSoundProvider::create_entities(std::shared_ptr<lab::AudioNode> audio_nod
195
198
dataType,
196
199
names[i],
197
200
shortNames[i],
198
- pin_id, audio_node_id ,
201
+ pin_id, node. id ,
199
202
std::string{ buff },
200
203
enums
201
204
};
@@ -224,7 +227,7 @@ void LabSoundProvider::create_entities(std::shared_ptr<lab::AudioNode> audio_nod
224
227
lab::noodle::NoodlePin::DataType::Float,
225
228
names[i],
226
229
shortNames[i],
227
- pin_id, audio_node_id ,
230
+ pin_id, node. id ,
228
231
buff
229
232
};
230
233
}
@@ -409,7 +412,7 @@ ln_Context LabSoundProvider::create_runtime_context(ln_Node id)
409
412
return ln_Context_null ();
410
413
}
411
414
lab::noodle::NoodleNode& node = it->second ;
412
- create_entities (g_audio_context->device (), node, id );
415
+ create_noodle_data_for_node (g_audio_context->device (), node);
413
416
printf (" CreateRuntimeContext %lld\n " , id.id );
414
417
return ln_Context{id.id };
415
418
}
@@ -477,7 +480,7 @@ ln_Pin LabSoundProvider::node_output_named(ln_Node node_id, const std::string& o
477
480
if (!node)
478
481
return ln_Pin_null ();
479
482
480
- auto reverse_it = g_node_reverse_lookups.find (node_id. id );
483
+ auto reverse_it = g_node_reverse_lookups.find (node_id);
481
484
if (reverse_it == g_node_reverse_lookups.end ())
482
485
return ln_Pin_null ();
483
486
@@ -506,7 +509,7 @@ ln_Pin LabSoundProvider::node_input_with_index(ln_Node node_id, int output)
506
509
if (!node)
507
510
return ln_Pin_null ();
508
511
509
- auto reverse_it = g_node_reverse_lookups.find (node_id. id );
512
+ auto reverse_it = g_node_reverse_lookups.find (node_id);
510
513
if (reverse_it == g_node_reverse_lookups.end ())
511
514
return ln_Pin_null ();
512
515
@@ -535,7 +538,7 @@ ln_Pin LabSoundProvider::node_output_with_index(ln_Node node_id, int output)
535
538
if (!node)
536
539
return ln_Pin_null ();
537
540
538
- auto reverse_it = g_node_reverse_lookups.find (node_id. id );
541
+ auto reverse_it = g_node_reverse_lookups.find (node_id);
539
542
if (reverse_it == g_node_reverse_lookups.end ())
540
543
return ln_Pin_null ();
541
544
@@ -564,7 +567,7 @@ ln_Pin LabSoundProvider::node_param_named(ln_Node node_id, const std::string& ou
564
567
if (!node)
565
568
return ln_Pin_null ();
566
569
567
- auto reverse_it = g_node_reverse_lookups.find (node_id. id );
570
+ auto reverse_it = g_node_reverse_lookups.find (node_id);
568
571
if (reverse_it == g_node_reverse_lookups.end ())
569
572
return ln_Pin_null ();
570
573
@@ -598,7 +601,7 @@ ln_Node LabSoundProvider::node_create(const std::string& kind, ln_Node id)
598
601
node->second .play_controller = n->isScheduledNode ();
599
602
node->second .bang_controller = !!n->param (" gate" );
600
603
_audioNodes[id] = LabSoundNodeData{ n };
601
- create_entities (n, node->second , id );
604
+ create_noodle_data_for_node (n, node->second );
602
605
printf (" CreateNode [%s] %lld\n " , kind.c_str (), id.id );
603
606
}
604
607
}
@@ -653,7 +656,7 @@ void LabSoundProvider::node_delete(ln_Node node_id)
653
656
}
654
657
// / @TODO end plumbing
655
658
656
- auto reverse_it = g_node_reverse_lookups.find (node_id. id );
659
+ auto reverse_it = g_node_reverse_lookups.find (node_id);
657
660
if (reverse_it != g_node_reverse_lookups.end ())
658
661
g_node_reverse_lookups.erase (reverse_it);
659
662
@@ -936,11 +939,11 @@ void LabSoundProvider::pin_create_output(const std::string& node_name, const std
936
939
937
940
if (!n->output (output_name.c_str ()))
938
941
{
939
- auto reverse_it = g_node_reverse_lookups.find (node_e. id );
942
+ auto reverse_it = g_node_reverse_lookups.find (node_e);
940
943
if (reverse_it == g_node_reverse_lookups.end ())
941
944
{
942
- g_node_reverse_lookups[node_e. id ] = NodeReverseLookup{};
943
- reverse_it = g_node_reverse_lookups.find (node_e. id );
945
+ g_node_reverse_lookups[node_e] = NodeReverseLookup{};
946
+ reverse_it = g_node_reverse_lookups.find (node_e);
944
947
}
945
948
auto & reverse = reverse_it->second ;
946
949
0 commit comments