net.sf.jack4j.examples
Class TimebaseMaster

java.lang.Object
  extended by net.sf.jack4j.JackClient
      extended by net.sf.jack4j.JackTransportClient
          extended by net.sf.jack4j.AbstractJackTransportClient
              extended by net.sf.jack4j.examples.TimebaseMaster

public class TimebaseMaster
extends AbstractJackTransportClient

Example timebase master.

This client supplies Jack transport mechanism with additional timebase information, such as bar/beat/tick numbers. Without the timebase master, other Jack clients would only get frame number information from Jack transport.

See comments in the code that describe the usage of Jack4j library.

To run the examples, you need to have the native Jack4j library in your system load path (LD_LIBRARY_PATH under Linux).

This example client expects single command line parameter - client name.

Author:
repa

Constructor Summary
TimebaseMaster(java.lang.String clientName, boolean useExactName, boolean canStartServer, java.lang.String serverName)
           
 
Method Summary
static void main(java.lang.String[] args)
           
 void run()
          Activation and main event loop.
 void timebaseCallback(JackTransportState state, int nframes, TransportPosition pos, boolean newPos)
          This callback computes the timebase information.
 
Methods inherited from class net.sf.jack4j.AbstractJackTransportClient
bufferSizeCallback, clientRegistrationCallback, freewheelCallback, graphOrderCallback, portConnectCallback, portRegistrationCallback, process, sampleRateCallback, syncCallback, threadInitCallback, xRunCallback
 
Methods inherited from class net.sf.jack4j.JackTransportClient
getCurrentTransportFrame, locateTransport, queryTransport, releaseTimebase, repositionTransport, setDefaultSyncCallback, setDefaultTimebaseCallback, setSyncCallback, setSyncTimeout, setTimebaseCallback, startTransport, stopTransport, unsetSyncCallback
 
Methods inherited from class net.sf.jack4j.JackClient
activate, addAudioPort, addMidiPort, addPort, close, connect, cpuLoad, deactivate, disconnect, finalize, framesSinceCycleStart, framesToTime, frameTime, getAllPortConnections, getBufferSize, getCallbackStruct, getClientHandle, getClientName, getClientThread, getPorts, getPorts, getSampleRate, getStatistics, getTotalPortLatency, internalClientByName, isActive, isMine, isOpen, isProcessMethodSynchronized, isRealtime, isShutdown, lastFrameTime, loadInternalClient, localPort, localPortNames, portById, portByName, recomputeTotalLatencies, recomputeTotalPortLatency, removePort, requestPortMonitorByName, setAllDefaultCallbacks, setBufferSize, setBufferSizeCallback, setClientRegistrationCallback, setDefaultBufferSizeCallback, setDefaultClientRegistrationCallback, setDefaultFreewheelCallback, setDefaultGraphOrderCallback, setDefaultPortConnectCallback, setDefaultPortRegistrationCallback, setDefaultProcessCallback, setDefaultSampleRateCallback, setDefaultShutdownCallback, setDefaultThreadInitCallback, setDefaultXRunCallback, setFreewheel, setFreewheelCallback, setGraphOrderCallback, setPortConnectCallback, setPortRegistrationCallback, setProcessCallback, setProcessMethodSynchronized, setSampleRateCallback, setShutdownCallback, setThreadInitCallback, setXRunCallback, threadWait, time, timeToFrames
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimebaseMaster

public TimebaseMaster(java.lang.String clientName,
                      boolean useExactName,
                      boolean canStartServer,
                      java.lang.String serverName)
               throws JackException
Throws:
JackException
Method Detail

timebaseCallback

public void timebaseCallback(JackTransportState state,
                             int nframes,
                             TransportPosition pos,
                             boolean newPos)
This callback computes the timebase information.

It's called on the beginning of each process cycle.

Overrides:
timebaseCallback in class AbstractJackTransportClient
Parameters:
state - current transport state
nframes - period length
pos - position structure for the next cycle; if newPos is false, the structure already contains extended positional information from current cycle
newPos - if true, new position was requested; in such case, pos structure doesn't contain valid extended information
See Also:
JackTransportClient.timebaseCallback(net.sf.jack4j.JackTransportState, int, net.sf.jack4j.TransportPosition, boolean)

run

public void run()
         throws JackException,
                java.io.IOException
Activation and main event loop.

Throws:
JackException
java.io.IOException

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception


Copyright © 2008 Ondrej Par. All Rights Reserved.