Examples of OSCBundle


Examples of de.sciss.net.OSCBundle

 
  private void resortClients()
  {
    final NodeWatcher  nw;
    int          off  = 0;
    OSCBundle      bndl;
    Group        g;
    boolean        haveGrpTrig  = false;
    Client        mc;
    int          srcChan;
 
    meterTimer.stop();

    if( resp != null ) resp.remove();

    bndl      = new OSCBundle();
    meterBangBndl  = null;

    for( int i = 0; i < collActiveClients.size(); i++ ) {
      mc = (Client) collActiveClients.get( i );
      for( int j = 0; j < mc.synths.length; j++ ) {
        if( mc.synths[ j ] != null ) {
          bndl.addPacket( mc.synths[ j ].freeMsg() );
          mc.synths[ j ] = null;
        }
      }
      mc.setOffset( off );
      off += mc.cNum;
    }
   
    if( bus != null ) {
      bus.free();
      bus = null;
    }
   
    numCtrlChans  = off;
    if( bndl.getPacketCount() > 0 ) {
      try {
        if( server.isRunning() ) server.sendBundle( bndl );
      }
      catch( IOException e1 ) {
        numCtrlChans  = 0;
        printError( "resortClients", e1 );
      }
    }
   
    numTask = 0;
   
    try {
      if( (server != null) && (numCtrlChans > 0) ) {
        nw    = NodeWatcher.newFrom( server );
        bndl  = new OSCBundle();
        bus    = Bus.control( server, numCtrlChans );
        if( bus != null ) {
          meterBangBndl = new OSCBundle();
          meterBangBndl.addPacket( new OSCMessage( "/c_getn", new Object[] {
            new Integer( bus.getIndex() ), new Integer( bus.getNumChannels() )}));

          for( int i = 0; i < collActiveClients.size(); i++ ) {
            mc  = (Client) collActiveClients.get( i );
            if( mc.task ) numTask++;
            if( mc.g != null ) {
              g  = mc.g;
              meterBangBndl.addPacket( new OSCMessage( "/n_set", new Object[] {
                new Integer( g.getNodeID() ), "t_trig", new Integer( 1 )}));
            } else {
              if( grp == null ) {
                grp = Group.basicNew( server );
                grp.setName( "MeterManager" );
                bndl.addPacket( grp.newMsg( server.getDefaultGroup(), kAddToTail ));
                nw.register( grp );
              }
              g  = grp;
              if( !haveGrpTrig ) {
                meterBangBndl.addPacket( new OSCMessage( "/n_set", new Object[] {
                  new Integer( g.getNodeID() ), "t_trig", new Integer( 1 )}));
                haveGrpTrig = true;
              }
            }
            for( int j = 0, m = bus.getIndex() + mc.cOffset; j < mc.synths.length; j++, m += 2 ) {
              srcChan      = mc.channels[ j ];
              if( srcChan >= 0 ) {
                mc.synths[ j ] = Synth.basicNew( "eisk-meter", server );
                bndl.addPacket( mc.synths[ j ].newMsg( g, new String[] {
                  "i_aInBs""i_kOtBs" }, new float[] {
                  srcChan,    m }, kAddToTail ));
                if( !mc.task ) {
                  bndl.addPacket( mc.synths[ j ].runMsg( false ));
                }
                nw.register( mc.synths[ j ]);
              }
            }
          }
          if( bndl.getPacketCount() > 0 ) {
            try {
              server.sendBundle( bndl );
              if( resp != null ) resp.add();
              if( numTask > 0 ) meterTimer.restart();
            }
View Full Code Here

Examples of de.sciss.net.OSCBundle

    if( oldVolume == volume ) return;
   
    this.volume  = volume;
    if( (server != null) && server.isRunning() && (grpGain != null) ) {
      try {
        final OSCBundle  bndl = new OSCBundle();
//        server.getDefaultGroup().set( "volume", volume );  // all dem subgroups geddid
        bndl.addPacket( grpGain.setMsg( "volume", volume ));
        if( oldVolume == 1f ) {
          bndl.addPacket( grpGain.runMsg( true ));
        } else if( volume == 1f ) {
          bndl.addPacket( grpGain.runMsg( false ));
        }
        server.sendBundle( bndl );
      }
      catch( IOException e1 ) {
        printError( "setVolume", e1 );
View Full Code Here

Examples of de.sciss.net.OSCBundle

 
  protected void setOutputConfig()
  {
    if( !serverIsReady || (oCfg == null) ) return;
 
    OSCBundle  bndl  = new OSCBundle();
    Synth    synth;
 
    bndl.addPacket( grpGain.freeAllMsg() );
    bndl.addPacket( grpLimiter.freeAllMsg() );
    for( int ch = 0; ch < oCfg.numChannels; ch++ ) {
      if( oCfg.mapping[ ch ] < server.getOptions().getNumOutputBusChannels() ) {
        synth  = Synth.basicNew( "eisk-limiter", server );
        bndl.addPacket( synth.newMsg( grpLimiter, new String[] { "i_aBus" }, new float[] { oCfg.mapping[ ch ]}));
        nw.register( synth );
        synth  = Synth.basicNew( "eisk-gain", server );
        bndl.addPacket( synth.newMsg( grpGain, new String[] { "i_aBus", "volume" }, new float[] { oCfg.mapping[ ch ], volume }));
        nw.register( synth );
      }
    }
   
    try {
View Full Code Here

Examples of de.sciss.net.OSCBundle

      }
      break;
     
    case ServerEvent.RUNNING:  // --------------------------------------- started
      final Group    grpRoot = server.getDefaultGroup();
      final OSCBundle  bndl  = new OSCBundle();
      nw.register( grpRoot );
      try {
        if( !server.sendMsgSync( loadDefsMsg(), 4.0f )) {
       
          System.err.println( getResourceString( "errOSCTimeOut" ) + " : /d_loadDir" );
          return;
        }
       
        grpMaster    = Group.basicNew( server );
        grpGain      = Group.basicNew( server );
        grpLimiter    = Group.basicNew( server );
        grpMaster.setName( "Master" );
        grpGain.setName( "Gain" );
        grpLimiter.setName( "Limiter" );
        nw.register( grpMaster );
        nw.register( grpGain );
        nw.register( grpLimiter );
        bndl.addPacket( grpMaster.addToTailMsg( grpRoot ));
        bndl.addPacket( grpGain.addToHeadMsg( grpMaster ));
        bndl.addPacket( grpLimiter.addToTailMsg( grpMaster ));
        if( !limiter ) bndl.addPacket( grpLimiter.runMsg( false ));
        if( volume == 1f ) bndl.addPacket( grpGain.runMsg( false ));
        server.sendBundle( bndl );
        serverIsReady  = true;
        setOutputConfig();
   
        final de.sciss.app.DocumentHandler dh = AbstractApplication.getApplication().getDocumentHandler();
View Full Code Here

Examples of de.sciss.net.OSCBundle

    }
   
    try {
      if( grpMeters == null ) {
        grpMeters = Group.basicNew( s );
        final OSCBundle bndl = new OSCBundle();
        bndl.addPacket( grpMeters.addBeforeMsg( mg ));
        grpMeters.setName( "CtrlRmMeters" );
        NodeWatcher.newFrom( s ).register( grpMeters );
        s.sendBundle( bndl );
      }
      lmm.setGroup( grpMeters );
View Full Code Here

Examples of de.sciss.net.OSCBundle

    if( mc == null ) return;
    if( mc.task != task ) {
      mc.task  = task;
      if( mc.server == server ) {
        final boolean weCreated = bndl == null;
        if( weCreated ) bndl = new OSCBundle();
        for( int j = 0; j < mc.synths.length; j++ ) {
          if( mc.synths[ j ] != null ) {
            bndl.addPacket( mc.synths[ j ].runMsg( task ));
          }
        }
View Full Code Here

Examples of de.sciss.net.OSCBundle

    if( mapClients.put( view, mc ) != null ) throw new IllegalArgumentException( "MeterListener was already registered" );
    collAllClients.add( mc );
    if( mc.server == server ) {
      collActiveClients.add( mc );
      resortClients();
      final OSCBundle bndl = new OSCBundle();
      try {
        playToBundle( bndl, mc );
        if( bndl.getPacketCount() > 0 ) {
          server.sendBundle( bndl );
          if( (resp != null) && !resp.isListening() ) resp.add();
          if( numTask > 0 ) meterTimer.restart();
        }
      }
View Full Code Here

Examples of de.sciss.net.OSCBundle

  }
 
  public void removeListener( PeakMeterView view )
  {
    final Client    mc;
    final OSCBundle    bndl;
   
    if( !EventQueue.isDispatchThread() ) throw new IllegalMonitorStateException();

    mc = (Client) mapClients.remove( view );
    if( mc == null ) return;
    collAllClients.remove( mc );
    if( collActiveClients.remove( mc )) {
      bndl = new OSCBundle();
      stopToBundle( bndl, mc );
      if( bndl.getPacketCount() > 0 ) {
        try {
          if( server.isRunning() ) server.sendBundle( bndl );
          resortClients();
        }
        catch( IOException e1 ) {
View Full Code Here

Examples of de.sciss.net.OSCBundle

      return;
    }
   
    final Integer[] cgetnArgs = new Integer[ collActiveClients.size() << 1 ];
   
    meterBangBndl = new OSCBundle();
    final OSCBundle defBndl = new OSCBundle();
   
    for( int i = 0, k = 0; i < collActiveClients.size(); i++ ) {
      final Client mc = (Client) collActiveClients.get( i );
      if( mc.task ) numTask++;
      meterBangBndl.addPacket( new OSCMessage( "/n_set", new Object[] {
        new Integer( mc.g.getNodeID() ), "t_trig", new Integer( 1 )}));
      cgetnArgs[ k++ ] = new Integer( mc.ctrlBus.getIndex() );
      cgetnArgs[ k++ ] = new Integer( mc.ctrlBus.getNumChannels() );
     
      if( mc.synthDef ) {
        final int numChannels = mc.monoSum ? mc.srcChans.length : 1;
        if( numChannels > 0 ) {
          final Object key = new Integer( numChannels );
          if( !defSet.contains( key )) {
            try {
              defBndl.addPacket( createDef( numChannels ).recvMsg() );
              defSet.add( key );
            }
            catch( IOException e1 ) {
              printError( "resortClients", e1 );
            }
          }
        }
      }
    }
    meterBangBndl.addPacket( new OSCMessage( "/c_getn", cgetnArgs ));
   
    try {
      if( defBndl.getPacketCount() > 0 ) {
        server.sync( defBndl, 4f );
      }
      if( (resp != null) && !resp.isListening() ) resp.add();
      if( numTask == 0 ) {
        meterTimer.stop();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.