- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Directories
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Attributes | Friends

# Path Class Reference

Search for all occurrences

## Detailed Description

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

Definition at line 63 of file path.h.

`#include <Phonon/Path>`

List of all members.

## Public Member Functions
| ~Path ()
| Destroys this reference to the Path.
| Path ()
| Creates an invalid path.
| Path (const Path &)
| Constructs a copy of the given path.
bool | isValid () const
| Returns whether the path object connects two MediaNodes or not.
Effect * | insertEffect (const EffectDescription &desc, Effect *insertBefore=0)
| Creates and inserts an effect into the path.
bool | insertEffect (Effect *newEffect, Effect *insertBefore=0)
| Inserts an effect into the path.
bool | removeEffect (Effect *effect)
| Removes an effect from the path.
QList< Effect * > | effects () const
| Returns a list of Effect objects that are currently used as effects.
bool | reconnect (MediaNode *source, MediaNode *sink)
| Tries to change the MediaNodes the path is connected to.
bool | disconnect ()
| Disconnects the path from the MediaNodes it was connected to.
Path & | operator= (const Path &p)
| Assigns `p` to this Path and returns a reference to this Path.
bool | operator== (const Path &p) const
| Returns `true` if this Path is equal to `p`; otherwise returns `false`;.
bool | operator!= (const Path &p) const
| Returns `true` if this Path is not equal to `p`; otherwise returns `false`;.
MediaNode * | source () const
| Returns the source MediaNode used by the path.
MediaNode * | sink () const
| Returns the sink MediaNode used by the path.
## Protected Attributes
QExplicitlySharedDataPointer < PathPrivate > | d
## Friends
class | FactoryPrivate
class | PathPrivate

## Constructor & Destructor Documentation

~Path | ( |  | ) |

Destroys this reference to the Path.

If the path was valid the connection is not broken as both the source and the sink MediaNodes still keep a reference to the Path.

See also:
  disconnect

Path | ( |  | ) |

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
  isValid

Path | ( | const Path & |  | ) |

Constructs a copy of the given path.

This constructor is fast thanks to explicit sharing.

## Member Function Documentation

bool isValid | ( |  | ) | const

Search for all occurrences

Returns whether the path object connects two MediaNodes or not.

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

Effect* insertEffect | ( | const EffectDescription & | desc,
|  | Effect * | insertBefore = `0`
| ) |  |

Search for all occurrences

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.

Parameters:

  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
  effects

bool insertEffect | ( | Effect * | newEffect,
|  | Effect * | insertBefore = `0`
| ) |  |

Search for all occurrences

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.

Parameters:

  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
  effects

bool removeEffect | ( | Effect * | effect | ) |

Search for all occurrences

Removes an effect from the path.

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

Parameters:

  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
  effects

QList<Effect *> effects | ( |  | ) | const

Search for all occurrences

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
  removeEffect

bool reconnect | ( | MediaNode * | source,
|  | MediaNode * | sink
| ) |  |

Search for all occurrences

Tries to change the MediaNodes the path is connected to.

If reconnect fails the old connection is kept.

bool disconnect | ( |  | ) |

Search for all occurrences

Disconnects the path from the MediaNodes it was connected to.

This invalidates the path (isValid returns `false` then).

Path& operator= | ( | const Path & | p | ) |

Assigns `p` to this Path and returns a reference to this Path.

This operation is fast thanks to explicit sharing.

bool operator== | ( | const Path & | p | ) | const

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

bool operator!= | ( | const Path & | p | ) | const

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

MediaNode* source | ( |  | ) | const

Search for all occurrences

Returns the source MediaNode used by the path.

MediaNode* sink | ( |  | ) | const

Search for all occurrences

Returns the sink MediaNode used by the path.

## Friends And Related Function Documentation

friend class FactoryPrivate `[friend]`

Search for all occurrences

Definition at line 65 of file path.h.

friend class PathPrivate `[friend]`

Search for all occurrences

Definition at line 221 of file path.h.

## Member Data Documentation

QExplicitlySharedDataPointer<PathPrivate> d `[protected]`

Search for all occurrences

Definition at line 222 of file path.h.

The documentation for this class was generated from the following file:

- phonon/path.h

Path Path Path Path Path Path Path Path Path Path
Path Path Path Path Path Path Path Path Path Path