Browse Source

Mixer: Fix copy and paste of spatializer module.

tags/non-daw-v1.2.0
Jonathan Moore Liles 10 years ago
parent
commit
f8f6bad322
4 changed files with 16 additions and 9 deletions
  1. +4
    -3
      mixer/src/Chain.C
  2. +9
    -5
      mixer/src/Module.C
  3. +1
    -1
      mixer/src/Module.H
  4. +2
    -0
      mixer/src/Spatializer_Module.H

+ 4
- 3
mixer/src/Chain.C View File

@@ -551,15 +551,15 @@ Chain::insert ( Module *m, Module *n )
{
if ( modules() == 0 && n->can_support_inputs( 0 ) >= 0 )
{
n->chain( this );
n->configure_inputs( 0 );
modules_pack->add( n );
n->chain( this );
}
else if ( n->can_support_inputs( module( modules() - 1 )->noutputs() ) >= 0 )
{
n->chain( this );
n->configure_inputs( module( modules() - 1 )->noutputs() );
modules_pack->add( n );
n->chain( this );
}
else
{
@@ -572,6 +572,8 @@ Chain::insert ( Module *m, Module *n )
{
int i = modules_pack->find( m );

n->chain( this );

if ( 0 == i )
{
/* inserting to head of chain*/
@@ -596,7 +598,6 @@ Chain::insert ( Module *m, Module *n )
}

modules_pack->insert( *n, i );
n->chain( this );
}




+ 9
- 5
mixer/src/Module.C View File

@@ -160,7 +160,7 @@ Module::get ( Log_Entry &e ) const
e.add( ":active", ! bypass() );
}

void
bool
Module::copy ( void ) const
{
Module *m = clone_empty();
@@ -168,6 +168,7 @@ Module::copy ( void ) const
if ( ! m )
{
DMESSAGE( "Module \"%s\" doesn't support cloning", name() );
return false;
}

Log_Entry *ne = new Log_Entry();
@@ -196,6 +197,8 @@ Module::copy ( void ) const
}

_copied_module_settings = ne->print();

return true;
}

void
@@ -840,10 +843,11 @@ Module::menu_cb ( const Fl_Menu_ *m )
}
else if ( ! strcmp( picked, "Cut" ) )
{
copy();

chain()->remove( this );
Fl::delete_widget( this );
if ( copy() )
{
chain()->remove( this );
Fl::delete_widget( this );
}
}
else if ( ! strcmp( picked, "Copy" ) )
{


+ 1
- 1
mixer/src/Module.H View File

@@ -63,7 +63,7 @@ class Module : public Fl_Group, public Loggable {
static void menu_cb ( Fl_Widget *w, void *v );
Fl_Menu_Button & menu ( void ) const;

void copy ( void ) const;
bool copy ( void ) const;
void paste_before ( void );

protected:


+ 2
- 0
mixer/src/Spatializer_Module.H View File

@@ -49,6 +49,8 @@ public:
virtual ~Spatializer_Module ( );

LOG_CREATE_FUNC( Spatializer_Module );

MODULE_CLONE_FUNC(Spatializer_Module);
virtual void handle_sample_rate_change ( nframes_t n );



Loading…
Cancel
Save