diff --git a/nestkernel/connection_manager.cpp b/nestkernel/connection_manager.cpp
index 2e29751f12..d8a8fbe365 100644
--- a/nestkernel/connection_manager.cpp
+++ b/nestkernel/connection_manager.cpp
@@ -397,6 +397,13 @@ nest::ConnectionManager::connect( index sgid,
return;
}
+ if ( target->one_node_per_process() )
+ {
+ // connection to music proxy or similar device with one node per process.
+ connect_( *source, *target, sgid, target_thread, syn, d, w );
+ return;
+ }
+
// make sure connections are only created on the thread of the device
if ( ( source->get_thread() != target_thread )
&& ( source->has_proxies() ) )
@@ -459,6 +466,13 @@ nest::ConnectionManager::connect( index sgid,
return;
}
+ if ( target->one_node_per_process() )
+ {
+ // connection to music proxy or similar device with one node per process.
+ connect_( *source, *target, sgid, target_thread, syn, params, d, w );
+ return;
+ }
+
// make sure connections are only created on the thread of the device
if ( ( source->get_thread() != target_thread )
&& ( source->has_proxies() ) )
@@ -527,6 +541,13 @@ nest::ConnectionManager::connect( index sgid,
return false;
}
+ if ( target->one_node_per_process() )
+ {
+ // connection to music proxy or similar device with one node per process.
+ connect_( *source, *target, sgid, target_thread, syn, params );
+ return true;
+ }
+
// make sure connections are only created on the thread of the device
if ( ( source->get_thread() != target_thread )
&& ( source->has_proxies() ) )
diff --git a/testsuite/musictests/test_event_proxies_issue-696.music b/testsuite/musictests/test_event_proxies_issue-696.music
new file mode 100644
index 0000000000..4a25a521a9
--- /dev/null
+++ b/testsuite/musictests/test_event_proxies_issue-696.music
@@ -0,0 +1,33 @@
+/*
+ * test_event_proxies_issue-696.music
+ *
+ * This file is part of NEST.
+ *
+ * Copyright (C) 2004 The NEST Initiative
+ *
+ * NEST is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * NEST is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with NEST. If not, see .
+ *
+ */
+
+[sender]
+ binary=nest
+ np=1
+ args=test_event_proxies_issue-696_sender.sli
+
+[receiver]
+ binary=nest
+ np=1
+ args=test_event_proxies_issue-696_receiver.sli
+
+sender.out -> receiver.in [11]
diff --git a/testsuite/musictests/test_event_proxies_issue-696_receiver.sli b/testsuite/musictests/test_event_proxies_issue-696_receiver.sli
new file mode 100644
index 0000000000..44b9990f6f
--- /dev/null
+++ b/testsuite/musictests/test_event_proxies_issue-696_receiver.sli
@@ -0,0 +1,53 @@
+/*
+ * test_event_proxies_issue-696_receiver.sli
+ *
+ * This file is part of NEST.
+ *
+ * Copyright (C) 2004 The NEST Initiative
+ *
+ * NEST is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * NEST is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with NEST. If not, see .
+ *
+ */
+
+(unittest) run
+/unittest using
+
+statusdict/have_music :: not { exit_test_gracefully } if
+
+M_ERROR setverbosity
+
+11 /N_NEURONS Set
+
+/subnet Create /NG Set
+NG ChangeSubnet
+/iaf_psc_alpha N_NEURONS Create pop
+0 ChangeSubnet
+NG GetGlobalNodes /neurons Set
+
+/subnet Create /INP Set
+INP ChangeSubnet
+/music_event_in_proxy N_NEURONS Create pop
+0 ChangeSubnet
+INP GetGlobalNodes /inputs Set
+
+inputs
+{
+ /channel Set
+ /n Set
+ n << /port_name (in) /music_channel channel >> SetStatus
+ n neurons channel get << /weight 750.0 >> Connect
+}
+forallindexed
+
+1 Simulate
diff --git a/testsuite/musictests/test_event_proxies_issue-696_sender.sli b/testsuite/musictests/test_event_proxies_issue-696_sender.sli
new file mode 100644
index 0000000000..f97268d233
--- /dev/null
+++ b/testsuite/musictests/test_event_proxies_issue-696_sender.sli
@@ -0,0 +1,65 @@
+/*
+ * test_event_proxies_issue-696_sender.sli
+ *
+ * This file is part of NEST.
+ *
+ * Copyright (C) 2004 The NEST Initiative
+ *
+ * NEST is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * NEST is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with NEST. If not, see .
+ *
+ */
+
+(unittest) run
+/unittest using
+
+statusdict/have_music :: not { exit_test_gracefully } if
+
+M_ERROR setverbosity
+
+10 /N_THREADS Set
+11 /N_NEURONS Set
+
+0 << /local_num_threads N_THREADS /resolution 0.1 >> SetStatus
+
+/subnet Create /SNG Set
+SNG ChangeSubnet
+/spike_generator N_NEURONS Create pop
+0 ChangeSubnet
+SNG GetGlobalNodes /generators Set
+
+/subnet Create /PNG Set
+PNG ChangeSubnet
+/parrot_neuron N_NEURONS Create pop
+0 ChangeSubnet
+PNG GetGlobalNodes /neurons Set
+generators
+{
+ /i Set /sg Set
+ sg << /spike_times [0.1 0.2 0.3] >> SetStatus
+ sg neurons i get << /delay 0.1 >> Connect
+}
+forallindexed
+
+/music_event_out_proxy Create /meop Set
+meop << /port_name (out) >> SetStatus
+
+neurons
+{
+ /channel Set
+ /n Set
+ n meop << /music_channel channel >> Connect
+}
+forallindexed
+
+1 Simulate