}
void
-Channel::connect_input_signals ()
+Channel::connect_signals ()
{
- add_connection (_port.input()->channel_pressure[_channel_number].connect
- (boost::bind (&Channel::process_chanpress, this, _1, _2)));
- add_connection (_port.input()->channel_note_on[_channel_number].connect
- (boost::bind (&Channel::process_note_on, this, _1, _2)));
- add_connection (_port.input()->channel_note_off[_channel_number].connect
- (boost::bind (&Channel::process_note_off, this, _1, _2)));
- add_connection (_port.input()->channel_poly_pressure[_channel_number].connect
- (boost::bind (&Channel::process_polypress, this, _1, _2)));
- add_connection (_port.input()->channel_program_change[_channel_number].connect
- (boost::bind (&Channel::process_program_change, this, _1, _2)));
- add_connection (_port.input()->channel_controller[_channel_number].connect
- (boost::bind (&Channel::process_controller, this, _1, _2)));
- add_connection (_port.input()->channel_pitchbend[_channel_number].connect
- (boost::bind (&Channel::process_pitchbend, this, _1, _2)));
-
- add_connection (_port.input()->reset.connect (boost::bind (&Channel::process_reset, this, _1)));
+ _port.parser()->channel_pressure[_channel_number].connect_same_thread (*this, boost::bind (&Channel::process_chanpress, this, _1, _2));
+ _port.parser()->channel_note_on[_channel_number].connect_same_thread (*this, boost::bind (&Channel::process_note_on, this, _1, _2));
+ _port.parser()->channel_note_off[_channel_number].connect_same_thread (*this, boost::bind (&Channel::process_note_off, this, _1, _2));
+ _port.parser()->channel_poly_pressure[_channel_number].connect_same_thread (*this, boost::bind (&Channel::process_polypress, this, _1, _2));
+ _port.parser()->channel_program_change[_channel_number].connect_same_thread (*this, boost::bind (&Channel::process_program_change, this, _1, _2));
+ _port.parser()->channel_controller[_channel_number].connect_same_thread (*this, boost::bind (&Channel::process_controller, this, _1, _2));
+ _port.parser()->channel_pitchbend[_channel_number].connect_same_thread (*this, boost::bind (&Channel::process_pitchbend, this, _1, _2));
+
+ _port.parser()->reset.connect_same_thread (*this, boost::bind (&Channel::process_reset, this, _1));
}
void
-Channel::connect_output_signals ()
-
-{
- add_connection (_port.output()->channel_pressure[_channel_number].connect
- (boost::bind (&Channel::process_chanpress, this, _1, _2)));
- add_connection (_port.output()->channel_note_on[_channel_number].connect
- (boost::bind (&Channel::process_note_on, this, _1, _2)));
- add_connection (_port.output()->channel_note_off[_channel_number].connect
- (boost::bind (&Channel::process_note_off, this, _1, _2)));
- add_connection (_port.output()->channel_poly_pressure[_channel_number].connect
- (boost::bind (&Channel::process_polypress, this, _1, _2)));
- add_connection (_port.output()->channel_program_change[_channel_number].connect
- (boost::bind (&Channel::process_program_change, this, _1, _2)));
- add_connection (_port.output()->channel_controller[_channel_number].connect
- (boost::bind (&Channel::process_controller, this, _1, _2)));
- add_connection (_port.output()->channel_pitchbend[_channel_number].connect
- (boost::bind (&Channel::process_pitchbend, this, _1, _2)));
-
- add_connection (_port.output()->reset.connect (boost::bind (&Channel::process_reset, this, _1)));
-}
-
-void
-Channel::reset (timestamp_t timestamp, nframes_t /*nframes*/, bool notes_off)
+Channel::reset (timestamp_t timestamp, framecnt_t /*nframes*/, bool notes_off)
{
_program_number = _channel_number;
_bank_number = 0;
if (tb->controller_number == 0) {
_bank_number = (unsigned short) _controller_val[0];
- if (_port.input()) {
- _port.input()->bank_change (*_port.input(), _bank_number);
- _port.input()->channel_bank_change[_channel_number]
- (*_port.input(), _bank_number);
- }
+ _port.parser()->bank_change (*_port.parser(), _bank_number);
+ _port.parser()->channel_bank_change[_channel_number] (*_port.parser(), _bank_number);
}
}