| 531 | |
| 532 | |
| 533 | void LadspaEffect::pluginDestruction() |
| 534 | { |
| 535 | if( !isOkay() ) |
| 536 | { |
| 537 | return; |
| 538 | } |
| 539 | |
| 540 | delete m_controls; |
| 541 | |
| 542 | for( ch_cnt_t proc = 0; proc < processorCount(); proc++ ) |
| 543 | { |
| 544 | Ladspa2LMMS * manager = Engine::getLADSPAManager(); |
| 545 | manager->deactivate( m_key, m_handles[proc] ); |
| 546 | manager->cleanup( m_key, m_handles[proc] ); |
| 547 | for( int port = 0; port < m_portCount; port++ ) |
| 548 | { |
| 549 | port_desc_t * pp = m_ports.at( proc ).at( port ); |
| 550 | if( m_inPlaceBroken || pp->rate != CHANNEL_OUT ) |
| 551 | { |
| 552 | if( pp->buffer) MM_FREE( pp->buffer ); |
| 553 | } |
| 554 | delete pp; |
| 555 | } |
| 556 | m_ports[proc].clear(); |
| 557 | } |
| 558 | m_ports.clear(); |
| 559 | m_handles.clear(); |
| 560 | m_portControls.clear(); |
| 561 | } |
| 562 | |
| 563 | |
| 564 |
nothing calls this directly
no test coverage detected