# class Path

###

Module | phonon
Namespace | Phonon
Class | Path
Inherits |

\class Path path.h Phonon/Path Connection object providing convenient effect insertion

    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 <kretz@kde.org> Author Thierry Bastian <thierry.bastian@trolltech.com>

### methods

- Path ( )

  returns ctor

  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 createPath

  See also isValid

- Path (a0)

  returns ctor

  Argument | Type | Default
  --- | --- | ---
  a0 | Phonon.Path |

  Constructs a copy of the given path.

  This constructor is fast thanks to explicit sharing.

- disconnect ( )

  returns bool

  Disconnects the path from the MediaNodes it was connected to. This invalidates the path (isValid returns false then).

- effects ( )

  returns QList<Phonon::Effect

  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

  See also removeEffect

- insertEffect (desc, insertBefore)

  returns Phonon.Effect

  Argument | Type | Default
  --- | --- | ---
  desc | Phonon.EffectDescription |
  insertBefore | Phonon.Effect | 0

  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 - The EffectDescription object for the effect to be inserted.

  insertBefore - If you already inserted an effect you can tell with this parameter in which order the data gets processed. If this is 0 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 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.

  See also removeEffect

  See also effects

- insertEffect (newEffect, insertBefore)

  returns bool

  Argument | Type | Default
  --- | --- | ---
  newEffect | Phonon.Effect |
  insertBefore | Phonon.Effect | 0

  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.

  newEffect - An Effect object.

  insertBefore - If you already inserted an effect you can tell with this parameter in which order the data gets processed. If this is 0 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 Returns whether the effect could be inserted at the specified position. If false is returned the effect was not inserted.

  See also removeEffect

  See also effects

- isValid ( )

  returns bool

  Returns whether the path object connects two MediaNodes or not.

  Returns true when the path connects two MediaNodes Returns false when the path is disconnected

- operator != (p)

  returns bool

  Argument | Type | Default
  --- | --- | ---
  p | Phonon.Path |

  Returns true if this Path is not equal to p; otherwise returns false;

- operator == (p)

  returns bool

  Argument | Type | Default
  --- | --- | ---
  p | Phonon.Path |

  Returns true if this Path is equal to p; otherwise returns false;

- reconnect (source, sink)

  returns bool

  Argument | Type | Default
  --- | --- | ---
  source | Phonon.MediaNode |
  sink | Phonon.MediaNode |

  Tries to change the MediaNodes the path is connected to.

  If reconnect fails the old connection is kept.

- removeEffect (effect)

  returns bool

  Argument | Type | Default
  --- | --- | ---
  effect | Phonon.Effect |

  Removes an effect from the path.

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

  effect - The effect to be removed.

  Returns Returns whether the call was successful. If it returns false the effect could not be found in the path, meaning it has not been inserted before.

  See also insertEffect

  See also effects