com.trolltech.qt.phonon
Class Path

java.lang.Object
  extended by com.trolltech.qt.internal.QSignalEmitterInternal
      extended by com.trolltech.qt.QSignalEmitter
          extended by com.trolltech.qt.QtJambiObject
              extended by com.trolltech.qt.phonon.Path
All Implemented Interfaces:
QtJambiInterface, java.lang.Cloneable

public class Path
extends QtJambiObject
implements java.lang.Cloneable

The Path class describes connections between media objects. Paths objects provide a convenient way to process media data by allowing effects to be inserted between input and output sources.

MediaObject *media = new MediaObject;
AudioOutput *output = new AudioOutput(Phonon::MusicCategory);
Path path = Phonon::createPath(media, output);
Q_ASSERT(path.isValid()); // for this simple case the path should always be
                          //valid - there are unit tests to ensure it
// insert an effect
QList<EffectDescription> effectList = BackendCapabilities::availableAudioEffects();
if (!effectList.isEmpty()) {
    Effect *effect = path.insertEffect(effectList.first());
}
Author: Matthias Kretz <.org> Author: Thierry Bastian <thierry..com>


Nested Class Summary
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
QSignalEmitter.AbstractSignal, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9
 
Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal
 
Field Summary
 
Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
currentSender
 
Constructor Summary
Path()
           
Path(Path arg__1)
          Constructs a copy of the other arg_1 specified.
 
Method Summary
 Path clone()
          This method is reimplemented for internal reasons
 boolean disconnectPath()
          Creates an invalid path.
 java.util.List effects()
          Returns a list of Effect objects that are currently used as effects.
 boolean insertEffect(Effect newEffect)
          Inserts the given effect into the path before the effect specified by insertBefore and returns true if successful; otherwise returns false.
 Effect insertEffect(EffectDescription desc)
          Creates and inserts an effect into the path.
 Effect insertEffect(EffectDescription desc, Effect insertBefore)
          Creates and inserts an effect into the path.
 boolean insertEffect(Effect newEffect, Effect insertBefore)
          Inserts the given effect into the path before the effect specified by insertBefore and returns true if successful; otherwise returns false.
 boolean isValid()
          Returns true if the backend provides an implementation of this class; otherwise, returns false.
 boolean reconnect(MediaNodeInterface source, MediaNodeInterface sink)
          Changes this Path's input and output node to source and sink
 boolean removeEffect(Effect effect)
          Removes the given effect from the path and returns true; otherwise returns false.
 
Methods inherited from class com.trolltech.qt.QtJambiObject
dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr
 
Methods inherited from class com.trolltech.qt.QSignalEmitter
blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread
 
Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
__qt_signalInitialization
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.trolltech.qt.QtJambiInterface
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership
 

Constructor Detail

Path

public Path()

Path

public Path(Path arg__1)
Constructs a copy of the other arg_1 specified.

This constructor is fast thanks to explicit sharing.

Method Detail

disconnectPath

public final boolean disconnectPath()
Creates an invalid path.

You can still make it a valid path by calling reconnect. To create a path you should use createPath, though.

See also:
Phonon::createPath(), and isValid().


effects

public final java.util.List effects()
Returns a list of Effect objects that are currently used as effects. The order in the list determines the order the signal is sent through the effects.

Returns A list with all current effects.

See also:
insertEffect(), and removeEffect().


insertEffect

public final boolean insertEffect(Effect newEffect)
Inserts the given effect into the path before the effect specified by insertBefore and returns true if successful; otherwise returns false.

If insertBefore is zero, the effect is appended to the processing list.

You may insert effects of the same class as often as you like, but if you insert the same object, the call will fail.

newEffect will be inserted right before insertBefore. If insertBefore is null, the effect is appended at the end of the processing list. If the effect has not been inserted before the method will do nothing and return false.

Returns whether the effect could be inserted at the specified position. If false is returned the effect was not inserted.

See also:
removeEffect(), and effects().


insertEffect

public final boolean insertEffect(Effect newEffect,
                                  Effect insertBefore)
Inserts the given effect into the path before the effect specified by insertBefore and returns true if successful; otherwise returns false.

If insertBefore is zero, the effect is appended to the processing list.

You may insert effects of the same class as often as you like, but if you insert the same object, the call will fail.

newEffect will be inserted right before insertBefore. If insertBefore is null, the effect is appended at the end of the processing list. If the effect has not been inserted before the method will do nothing and return false.

Returns whether the effect could be inserted at the specified position. If false is returned the effect was not inserted.

See also:
removeEffect(), and effects().


insertEffect

public final Effect insertEffect(EffectDescription desc)
Creates and inserts an effect into the path.

You may insert effects of the same class as often as you like, but if you insert the same object, the call will fail.

desc is the EffectDescription object for the effect to be inserted.

If you already inserted an effect you can tell with insertBefore in which order the data gets processed. If this is null the effect is appended at the end of the processing list. If the effect has not been inserted before the method will do nothing and return false.

Returns a pointer to the effect object if it could be inserted at the specified position. If 0 is returned, the effect was not inserted.

Below is a code example for inserting an effect into a path:

    List<EffectDescription> effectDescriptions =
            BackendCapabilities.availableAudioEffects();
    EffectDescription effectDescription = effectDescriptions.get(4);

    Path path = Phonon.createPath(mediaObject, audioOutput);


    Effect effect = new Effect(effectDescription);
    path.insertEffect(effect);

See also:
removeEffect(), and effects().


insertEffect

public final Effect insertEffect(EffectDescription desc,
                                 Effect insertBefore)
Creates and inserts an effect into the path.

You may insert effects of the same class as often as you like, but if you insert the same object, the call will fail.

desc is the EffectDescription object for the effect to be inserted.

If you already inserted an effect you can tell with insertBefore in which order the data gets processed. If this is null the effect is appended at the end of the processing list. If the effect has not been inserted before the method will do nothing and return false.

Returns a pointer to the effect object if it could be inserted at the specified position. If 0 is returned, the effect was not inserted.

Below is a code example for inserting an effect into a path:

    List<EffectDescription> effectDescriptions =
            BackendCapabilities.availableAudioEffects();
    EffectDescription effectDescription = effectDescriptions.get(4);

    Path path = Phonon.createPath(mediaObject, audioOutput);


    Effect effect = new Effect(effectDescription);
    path.insertEffect(effect);

See also:
removeEffect(), and effects().


isValid

public final boolean isValid()
Returns true if the backend provides an implementation of this class; otherwise, returns false.


reconnect

public final boolean reconnect(MediaNodeInterface source,
                               MediaNodeInterface sink)
Changes this Path's input and output node to source and sink


removeEffect

public final boolean removeEffect(Effect effect)
Removes the given effect from the path and returns true; otherwise returns false.

Removes an effect from the path.

If the effect is deleted while it is still connected, the effect will be removed automatically.

See also:
insertEffect(), and effects().


clone

public Path clone()
This method is reimplemented for internal reasons

Overrides:
clone in class java.lang.Object