Examples of OSCMessage


Examples of de.sciss.net.OSCMessage

    busPhasor      = Bus.audio( server );

    runTrigger      = new Runnable() {
      public void run()
      {
        final OSCMessage    msg    = trigMsg;  // this way we synchronize the access
        final int        nodeID  = ((Number) msg.getArg( 0 )).intValue();
        final int        nextClock, fill, bufOff;
        final long        pos, start;
        final OSCBundle      bndl2;
        final int        even;
        final Span[]      bufSpans;
        int            numCh;

        try {
          clock    = ((Number) msg.getArg( 2 )).intValue();
//System.err.println( "clock = " + clock );
          nextClock  = clock + 1;
          even    = nextClock & 1; // == 0;
          bndl2    = new OSCBundle();

          if( (ct == null) || (ct.synthPhasor == null) || (nodeID != ct.synthPhasor.getNodeID()) ) return;
          if( trigNodeID == -1 ) return// transport not running anymore
            pos    = nextClock * DISKBUF_SIZE_HM - ((1 - even) * DISKBUF_PAD) + playOffset;
            start  = Math.max( 0, pos );
            fill  = (int) (start - pos);
            bufOff  = even * DISKBUF_SIZE_H;
            if( fill > 0 ) {
              for( int j = 0; j < ct.bufsDisk.length; j++ ) {
                numCh = ct.bufsDisk[ j ].getNumChannels();
                bndl2.addPacket( ct.bufsDisk[ j ].fillMsg( bufOff * numCh, fill * numCh, 0.0f ));
              }
            }
            bufSpans = transport.foldSpans( new Span( start, pos + DISKBUF_SIZE_H ), MIN_LOOP_LEN );
            doc.getAudioTrail().addBufferReadMessages( bndl2, bufSpans, ct.bufsDisk, bufOff + fill );

            lastBufSpans[ even ] = bufSpans;
if( DEBUG_FOLD ) {
  System.out.println( "------C "+ nextClock + ", " + even + ", " + playOffset + ", " + pos );
for( int k = 0, m = bufOff + fill; k < bufSpans.length; k++ ) {
  System.out.println( "i = " + k + "; " + bufSpans[ k ] + " -> " + m );
    m += bufSpans[ k ].getLength();
  }
  System.out.println();
}
            if( !server.sync( bndl2, TIMEOUT )) {
              printTimeOutMsg( "bufUpdate" );
          }
        }
        catch( IOException e1 ) {
          printError( "Receive /tr", e1 );
        }
        catch( ClassCastException e2 ) {
          printError( "Receive /tr", e2 );
        }
      }
    };

    trigResp      = new OSCResponderNode( server, "/tr", new OSCListener() {
      public void messageReceived( OSCMessage msg, SocketAddress sender, long time )
      {
        final int  nodeID  = ((Number) msg.getArg( 0 )).intValue();
       
        if( nodeID == trigNodeID ) {
          trigMsg  = msg;
          EventQueue.invokeLater( runTrigger );
        }
View Full Code Here

Examples of de.sciss.net.OSCMessage

  // ----------------- EventManager.Processor interface -----------------

  public void processEvent( BasicEvent be )
  {
    final Event      e      = (Event) be;
    final OSCMessage  msg      = e.msg;
    final int      busIndex  = ((Number) msg.getArg( 0 )).intValue();
    final int      numVals    = ((Number) msg.getArg( 1 )).intValue();
// getWhen doesn't provide a valid value i think
//    final long      time    = e.getWhen();
    final long      time    = System.currentTimeMillis();
    Client        mc; 
 
    if( (bus == null) || (busIndex != bus.getIndex()) ) return;

    for( int i = 0; i < collActiveClients.size(); i++ ) {
      mc  = (Client) collActiveClients.get( i );
      if( !mc.task ) continue;
      for( int j = 0, k = 0, m = numVals + 2, off = mc.cOffset + 2; (k < mc.cNum) && (off < m); j++ ) {
        if( mc.channels[ j ] >= 0 ) {
          mc.peakRMSPairs[ k++ ] = ((Number) msg.getArg( off++ )).floatValue();
          mc.peakRMSPairs[ k++ ] = ((Number) msg.getArg( off++ )).floatValue();
        } else {
          mc.peakRMSPairs[ k++ ] = 0f;
          mc.peakRMSPairs[ k++ ] = 0f;
          off += 2;
        }
View Full Code Here

Examples of de.sciss.net.OSCMessage

        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 ) {
View Full Code Here

Examples of de.sciss.net.OSCMessage

    }

    public boolean incorporate( BasicEvent oldEvent )
    {
      if( (oldEvent instanceof Event) && (oldEvent.getSource() == getSource()) ) {
        final OSCMessage omsg = ((Event) oldEvent).msg;
        if( omsg.getName().equals( msg.getName() ) &&
          (omsg.getArgCount() == msg.getArgCount()) &&
          omsg.getArg( 0 ).equals( msg.getArg( 0 )) &&  // busIndex
          omsg.getArg( 1 ).equals( msg.getArg( 1 ))) {  // numVals
         
          final Object[] fuseArgs = new Object[ msg.getArgCount() ];
          fuseArgs[ 0 ] = msg.getArg( 0 );
          fuseArgs[ 1 ] = msg.getArg( 1 );
          for( int i = 2; i < fuseArgs.length; i++ ) {
            fuseArgs[ i ] = new Float( Math.max(
                ((Numbermsg.getArg( i )).floatValue(),
                ((Number) omsg.getArg( i )).floatValue() ));
          }
          msg = new OSCMessage( msg.getName(), fuseArgs );
          return true;
        }
      }
      return false;
    }
View Full Code Here

Examples of de.sciss.net.OSCMessage

//  }

  public void reply( String cmd, Object[] args )
  throws IOException
  {
    server.send( new OSCMessage( cmd, args ), addr );
  }
View Full Code Here

Examples of de.sciss.net.OSCMessage

    final Object[] args = new Object[ argCount + 1 ];
    args[ 0 ] = msg.getName();
    for( int i = 0; i < argCount; i++ ) {
      args[ i + 1 ] = msg.getArg( i );
    }
    server.send( new OSCMessage( OSCRoot.OSC_FAILEDREPLY, args ), addr );
  }
View Full Code Here

Examples of de.sciss.net.OSCMessage

      args[ j++ ] = msg.getArg( i );
    }
    for( int i = 0; i < doneArgs.length; i++ ) {
      args[ j++ ] = doneArgs[ i ];
    }
    server.send( new OSCMessage( OSCRoot.OSC_DONEREPLY, args ), addr );
  }
View Full Code Here

Examples of de.sciss.net.OSCMessage

    final InputStream  is    = getClass().getResourceAsStream( "eisk-all.scsyndef" );
    final int      size  = is.available();
    final byte[]    data  = new byte[ size ];
    is.read( data );
    is.close();
    return new OSCMessage( "/d_recv", new Object[] { data });
  }
View Full Code Here

Examples of de.sciss.net.OSCMessage

    public void actionPerformed( ActionEvent e )
    {
      if( server != null ) {
        try {
          server.sendMsg( new OSCMessage( "/d_loadDir", new Object[] {
            new File( "synthdefs" ).getAbsolutePath() }));
        }
        catch( IOException e1 ) {
          printError( getValue( NAME ).toString(), e1 );
        }
View Full Code Here

Examples of de.sciss.net.OSCMessage

// -------- EventManager.Processor --------
 
  public void processEvent( BasicEvent e )
  {
    final OSCMessage msg = ((OSCEvent) e).msg;
    if( VERBOSEOSC ) System.err.println( "got OSC: " + msg.getName() );
        if( !(msg.getName().equals( "/tr" ) && (msg.getArgCount() >= 3)) ) return;
    if( rt_info == null ) return;

    final int    myTrigger  = ((Number) msg.getArg( 2 )).intValue();
    final long    remoteFrame = rt_info.startFrame + myTrigger * rt_info.senseBufSizeH;
    final boolean  even    = (myTrigger & 1) == 0;
   
    rt_info.trigToServe  = myTrigger;
    if( VERBOSEOSC ) {
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.