Changeset 1477371 in ingen


Ignore:
Timestamp:
10/26/15 10:00:45 (22 months ago)
Author:
David Robillard <d@…>
Branches:
master, groups, nodeless, parallel, parameters, sequencefix
Children:
8fb8427
Parents:
965a74a
Message:

Use consistant names for incident ports

git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5789 a436a847-0d15-0410-975c-d299462d15a1

Location:
src/server/events
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/server/events/Disconnect.cpp

    r732bfb33 r1477371  
    6060Disconnect::Impl::Impl(Engine&     e, 
    6161                       GraphImpl*  graph, 
    62                        OutputPort* s, 
    63                        InputPort*  d) 
     62                       OutputPort* t, 
     63                       InputPort*  h) 
    6464    : _engine(e) 
    65     , _src_output_port(s) 
    66     , _dst_input_port(d) 
    67     , _arc(graph->remove_arc(_src_output_port, _dst_input_port)) 
     65    , _tail(t) 
     66    , _head(h) 
     67    , _arc(graph->remove_arc(_tail, _head)) 
    6868    , _voices(NULL) 
    6969{ 
    7070    ThreadManager::assert_thread(THREAD_PRE_PROCESS); 
    7171 
    72     BlockImpl* const src_block = _src_output_port->parent_block(); 
    73     BlockImpl* const dst_block = _dst_input_port->parent_block(); 
    74  
    75     for (std::list<BlockImpl*>::iterator i = dst_block->providers().begin(); 
    76          i != dst_block->providers().end(); ++i) { 
    77         if ((*i) == src_block) { 
    78             dst_block->providers().erase(i); 
     72    BlockImpl* const tail_block = _tail->parent_block(); 
     73    BlockImpl* const head_block = _head->parent_block(); 
     74 
     75    for (std::list<BlockImpl*>::iterator i = head_block->providers().begin(); 
     76         i != head_block->providers().end(); ++i) { 
     77        if ((*i) == tail_block) { 
     78            head_block->providers().erase(i); 
    7979            break; 
    8080        } 
    8181    } 
    8282 
    83     for (std::list<BlockImpl*>::iterator i = src_block->dependants().begin(); 
    84          i != src_block->dependants().end(); ++i) { 
    85         if ((*i) == dst_block) { 
    86             src_block->dependants().erase(i); 
     83    for (std::list<BlockImpl*>::iterator i = tail_block->dependants().begin(); 
     84         i != tail_block->dependants().end(); ++i) { 
     85        if ((*i) == head_block) { 
     86            tail_block->dependants().erase(i); 
    8787            break; 
    8888        } 
    8989    } 
    9090 
    91     _dst_input_port->decrement_num_arcs(); 
    92  
    93     if (_dst_input_port->num_arcs() == 0) { 
    94         if (!_dst_input_port->is_driver_port()) { 
    95             _voices = new Raul::Array<PortImpl::Voice>(_dst_input_port->poly()); 
    96             _dst_input_port->get_buffers(*_engine.buffer_factory(), 
    97                                          _voices, 
    98                                          _dst_input_port->poly(), 
    99                                          false); 
    100  
    101             if (_dst_input_port->is_a(PortType::CONTROL) || 
    102                 _dst_input_port->is_a(PortType::CV)) { 
     91    _head->decrement_num_arcs(); 
     92 
     93    if (_head->num_arcs() == 0) { 
     94        if (!_head->is_driver_port()) { 
     95            _voices = new Raul::Array<PortImpl::Voice>(_head->poly()); 
     96            _head->get_buffers(*_engine.buffer_factory(), 
     97                               _voices, 
     98                               _head->poly(), 
     99                               false); 
     100 
     101            if (_head->is_a(PortType::CONTROL) || 
     102                _head->is_a(PortType::CV)) { 
    103103                // Reset buffer to control value 
    104                 const float value = _dst_input_port->value().get<float>(); 
     104                const float value = _head->value().get<float>(); 
    105105                for (uint32_t i = 0; i < _voices->size(); ++i) { 
    106106                    Buffer* buf = _voices->at(i).buffer.get(); 
     
    137137    } 
    138138 
    139     BlockImpl* const src_block = tail->parent_block(); 
    140     BlockImpl* const dst_block = head->parent_block(); 
    141  
    142     if (src_block->parent_graph() != dst_block->parent_graph()) { 
     139    BlockImpl* const tail_block = tail->parent_block(); 
     140    BlockImpl* const head_block = head->parent_block(); 
     141 
     142    if (tail_block->parent_graph() != head_block->parent_graph()) { 
    143143        // Arc to a graph port from inside the graph 
    144         assert(src_block->parent() == dst_block || dst_block->parent() == src_block); 
    145         if (src_block->parent() == dst_block) { 
    146             _graph = dynamic_cast<GraphImpl*>(dst_block); 
     144        assert(tail_block->parent() == head_block || head_block->parent() == tail_block); 
     145        if (tail_block->parent() == head_block) { 
     146            _graph = dynamic_cast<GraphImpl*>(head_block); 
    147147        } else { 
    148             _graph = dynamic_cast<GraphImpl*>(src_block); 
    149         } 
    150     } else if (src_block == dst_block && dynamic_cast<GraphImpl*>(src_block)) { 
     148            _graph = dynamic_cast<GraphImpl*>(tail_block); 
     149        } 
     150    } else if (tail_block == head_block && dynamic_cast<GraphImpl*>(tail_block)) { 
    151151        // Arc from a graph input to a graph output (pass through) 
    152         _graph = dynamic_cast<GraphImpl*>(src_block); 
     152        _graph = dynamic_cast<GraphImpl*>(tail_block); 
    153153    } else { 
    154154        // Normal arc between blocks with the same parent 
    155         _graph = src_block->parent_graph(); 
     155        _graph = tail_block->parent_graph(); 
    156156    } 
    157157 
     
    162162    } 
    163163 
    164     if (src_block == NULL || dst_block == NULL) { 
     164    if (tail_block == NULL || head_block == NULL) { 
    165165        return Event::pre_process_done(Status::PARENT_NOT_FOUND, _head_path); 
    166166    } 
     
    178178 
    179179bool 
    180 Disconnect::Impl::execute(ProcessContext& context, bool set_dst_buffers) 
     180Disconnect::Impl::execute(ProcessContext& context, bool set_head_buffers) 
    181181{ 
    182182    ArcImpl* const port_arc = 
    183         _dst_input_port->remove_arc(context, _src_output_port); 
     183        _head->remove_arc(context, _tail); 
    184184 
    185185    if (!port_arc) { 
    186186        return false; 
    187     } else if (_dst_input_port->is_driver_port()) { 
     187    } else if (_head->is_driver_port()) { 
    188188        return true; 
    189189    } 
    190190 
    191     if (set_dst_buffers) { 
     191    if (set_head_buffers) { 
    192192        if (_voices) { 
    193             _engine.maid()->dispose(_dst_input_port->set_voices(context, _voices)); 
     193            _engine.maid()->dispose(_head->set_voices(context, _voices)); 
    194194        } else { 
    195             _dst_input_port->setup_buffers(*_engine.buffer_factory(), 
    196                                            _dst_input_port->poly(), 
    197                                            true); 
    198         } 
    199         _dst_input_port->connect_buffers(); 
     195            _head->setup_buffers(*_engine.buffer_factory(), 
     196                                 _head->poly(), 
     197                                 true); 
     198        } 
     199        _head->connect_buffers(); 
    200200    } else { 
    201         _dst_input_port->recycle_buffers(); 
     201        _head->recycle_buffers(); 
    202202    } 
    203203 
  • src/server/events/Disconnect.hpp

    r3353177 r1477371  
    6363        Impl(Engine&     e, 
    6464             GraphImpl*  graph, 
    65              OutputPort* s, 
    66              InputPort*  d); 
     65             OutputPort* t, 
     66             InputPort*  h); 
    6767 
    68         bool execute(ProcessContext& context, bool set_dst_buffers); 
     68        bool execute(ProcessContext& context, bool set_head_buffers); 
    6969 
    70         inline InputPort* head() { return _dst_input_port; } 
     70        inline InputPort* head() { return _head; } 
    7171 
    7272    private: 
    7373        Engine&                       _engine; 
    74         OutputPort*                   _src_output_port; 
    75         InputPort*                    _dst_input_port; 
     74        OutputPort*                   _tail; 
     75        InputPort*                    _head; 
    7676        SPtr<ArcImpl>                 _arc; 
    7777        Raul::Array<PortImpl::Voice>* _voices; 
Note: See TracChangeset for help on using the changeset viewer.