JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
VideoComponent::Pimpl Struct Reference

#include <juce_win32_Video.h>

Inheritance diagram for VideoComponent::Pimpl:
Collaboration diagram for VideoComponent::Pimpl:

Classes

struct  ComponentWatcher
 
struct  DirectShowContext
 
struct  DirectShowContext
 
struct  DirectShowContext
 
class  MediaSession
 
class  MediaSession
 
class  MediaSession
 
class  MediaSession
 
class  MediaSession
 
class  PlayerController
 
class  PlayerControllerBase
 
class  PlayerControllerBase
 
class  PlayerControllerBase
 
class  PlayerControllerBase
 

Public Member Functions

 Pimpl (VideoComponent &ownerToUse, bool useNativeControlsIfAvailable)
 
 Pimpl (VideoComponent &ownerToUse, bool)
 
 Pimpl (VideoComponent &ownerToUse, bool)
 
 ~Pimpl ()
 
 ~Pimpl () override
 
 ~Pimpl () override
 
void close ()
 
void close ()
 
void close ()
 
void errorOccurred (const String &errorMessage)
 
double getDuration () const
 
double getDuration () const
 
double getDuration () const
 
Rectangle< intgetNativeSize () const
 
Rectangle< intgetNativeSize () const
 
Rectangle< intgetNativeSize () const
 
double getPosition () const
 
double getPosition () const
 
double getPosition () const
 
double getSpeed () const
 
double getSpeed () const
 
double getSpeed () const
 
float getVolume () const
 
float getVolume () const
 
float getVolume () const
 
bool isOpen () const
 
bool isOpen () const noexcept
 
bool isOpen () const noexcept
 
bool isPlaying () const
 
bool isPlaying () const noexcept
 
bool isPlaying () const noexcept
 
Result load (const File &file)
 
Result load (const File &file)
 
Result load (const URL &url)
 
Result load (const URL &url)
 
Result load (NSURL *url)
 
void loadAsync (const URL &url, std::function< void(const URL &, Result)> callback)
 
void loadAsync (const URL &url, std::function< void(const URL &, Result)> callback)
 
Result loadFromString (const String &fileOrURLPath)
 
void paint (Graphics &g) override
 
void play ()
 
void play ()
 
void play () noexcept
 
void playbackStarted ()
 
void playbackStopped ()
 
void recreateNativeWindowAsync ()
 
void setPosition (double newPosition)
 
void setPosition (double newPosition)
 
void setPosition (double newPosition)
 
void setSpeed (double newSpeed)
 
void setSpeed (double newSpeed)
 
void setSpeed (double newSpeed)
 
void setVolume (float newVolume)
 
void setVolume (float newVolume)
 
void setVolume (float newVolume)
 
void stop ()
 
void stop ()
 
void stop () noexcept
 
void updateContextPosition ()
 
void updateContextVisibility ()
 

Public Attributes

File currentFile
 
URL currentURL
 

Private Member Functions

void errorOccurred (const String &errorMessage)
 
void nativeScaleFactorChanged (double) override
 
void playbackReachedEndTime ()
 
void playbackStarted ()
 
void playbackStopped ()
 
void playerPreparationFinished (const URL &url, Result r)
 

Static Private Member Functions

static double toSeconds (const CMTime &t) noexcept
 

Private Attributes

std::unique_ptr< ComponentWatchercomponentWatcher
 
std::unique_ptr< DirectShowContextcontext
 
ComponentPeer * currentPeer = nullptr
 
std::function< void(const URL &, Result)> loadFinishedCallback
 
VideoComponent & owner
 
PlayerController playerController
 
double playSpeedMult = 1.0
 
bool videoLoaded = false
 

Constructor & Destructor Documentation

◆ Pimpl() [1/3]

VideoComponent::Pimpl::Pimpl ( VideoComponent &  ownerToUse,
bool   
)
inline

◆ ~Pimpl() [1/3]

VideoComponent::Pimpl::~Pimpl ( )
inlineoverride

◆ Pimpl() [2/3]

VideoComponent::Pimpl::Pimpl ( VideoComponent &  ownerToUse,
bool  useNativeControlsIfAvailable 
)
inline

◆ ~Pimpl() [2/3]

VideoComponent::Pimpl::~Pimpl ( )
inline

References close().

◆ Pimpl() [3/3]

VideoComponent::Pimpl::Pimpl ( VideoComponent &  ownerToUse,
bool   
)
inline

References componentWatcher, and context.

◆ ~Pimpl() [3/3]

VideoComponent::Pimpl::~Pimpl ( )
inlineoverride

Member Function Documentation

◆ close() [1/3]

void VideoComponent::Pimpl::close ( )
inline

◆ close() [2/3]

void VideoComponent::Pimpl::close ( )
inline

◆ close() [3/3]

void VideoComponent::Pimpl::close ( )
inline

◆ errorOccurred() [1/2]

void VideoComponent::Pimpl::errorOccurred ( const String &  errorMessage)
inline

References owner.

◆ errorOccurred() [2/2]

◆ getDuration() [1/3]

double VideoComponent::Pimpl::getDuration ( ) const
inline

◆ getDuration() [2/3]

double VideoComponent::Pimpl::getDuration ( ) const
inline

References context, and videoLoaded.

◆ getDuration() [3/3]

double VideoComponent::Pimpl::getDuration ( ) const
inline

◆ getNativeSize() [1/3]

Rectangle<int> VideoComponent::Pimpl::getNativeSize ( ) const
inline

◆ getNativeSize() [2/3]

Rectangle<int> VideoComponent::Pimpl::getNativeSize ( ) const
inline

References context, and videoLoaded.

◆ getNativeSize() [3/3]

Rectangle<int> VideoComponent::Pimpl::getNativeSize ( ) const
inline

◆ getPosition() [1/3]

double VideoComponent::Pimpl::getPosition ( ) const
inline

◆ getPosition() [2/3]

double VideoComponent::Pimpl::getPosition ( ) const
inline

References context, and videoLoaded.

◆ getPosition() [3/3]

double VideoComponent::Pimpl::getPosition ( ) const
inline

◆ getSpeed() [1/3]

double VideoComponent::Pimpl::getSpeed ( ) const
inline

◆ getSpeed() [2/3]

double VideoComponent::Pimpl::getSpeed ( ) const
inline

References context, and videoLoaded.

◆ getSpeed() [3/3]

double VideoComponent::Pimpl::getSpeed ( ) const
inline

Referenced by isPlaying().

◆ getVolume() [1/3]

float VideoComponent::Pimpl::getVolume ( ) const
inline

◆ getVolume() [2/3]

float VideoComponent::Pimpl::getVolume ( ) const
inline

References context, and videoLoaded.

◆ getVolume() [3/3]

float VideoComponent::Pimpl::getVolume ( ) const
inline

◆ isOpen() [1/3]

bool VideoComponent::Pimpl::isOpen ( ) const
inline

References videoLoaded.

◆ isOpen() [2/3]

bool VideoComponent::Pimpl::isOpen ( ) const
inlinenoexcept

◆ isOpen() [3/3]

bool VideoComponent::Pimpl::isOpen ( ) const
inlinenoexcept

Referenced by close().

◆ isPlaying() [1/3]

bool VideoComponent::Pimpl::isPlaying ( ) const
inline

◆ isPlaying() [2/3]

bool VideoComponent::Pimpl::isPlaying ( ) const
inlinenoexcept

References getSpeed().

◆ isPlaying() [3/3]

bool VideoComponent::Pimpl::isPlaying ( ) const
inlinenoexcept

Referenced by setSpeed().

◆ load() [1/5]

Result VideoComponent::Pimpl::load ( const File &  file)
inline

References juce::createNSURLFromFile(), currentFile, and juce::gl::r.

Referenced by load().

◆ load() [2/5]

Result VideoComponent::Pimpl::load ( const File &  file)
inline

◆ load() [3/5]

Result VideoComponent::Pimpl::load ( const URL &  url)
inline

◆ load() [4/5]

Result VideoComponent::Pimpl::load ( const URL &  url)
inline

◆ load() [5/5]

Result VideoComponent::Pimpl::load ( NSURL *  url)
inline

◆ loadAsync() [1/2]

void VideoComponent::Pimpl::loadAsync ( const URL &  url,
std::function< void(const URL &, Result)>  callback 
)
inline

◆ loadAsync() [2/2]

void VideoComponent::Pimpl::loadAsync ( const URL &  url,
std::function< void(const URL &, Result)>  callback 
)
inline

◆ loadFromString()

Result VideoComponent::Pimpl::loadFromString ( const String &  fileOrURLPath)
inline

References close(), context, juce::gl::r, and videoLoaded.

Referenced by load().

◆ nativeScaleFactorChanged()

void VideoComponent::Pimpl::nativeScaleFactorChanged ( double  )
inlineoverrideprivate

◆ paint()

void VideoComponent::Pimpl::paint ( Graphics &  g)
inlineoverride

◆ play() [1/3]

void VideoComponent::Pimpl::play ( )
inline

References context, and videoLoaded.

◆ play() [2/3]

void VideoComponent::Pimpl::play ( )
inline

◆ play() [3/3]

void VideoComponent::Pimpl::play ( )
inlinenoexcept

◆ playbackReachedEndTime()

void VideoComponent::Pimpl::playbackReachedEndTime ( )
inlineprivate

References setPosition(), and stop().

◆ playbackStarted() [1/2]

void VideoComponent::Pimpl::playbackStarted ( )
inline

References owner.

◆ playbackStarted() [2/2]

◆ playbackStopped() [1/2]

void VideoComponent::Pimpl::playbackStopped ( )
inline

References owner.

◆ playbackStopped() [2/2]

◆ playerPreparationFinished()

void VideoComponent::Pimpl::playerPreparationFinished ( const URL &  url,
Result  r 
)
inlineprivate

◆ recreateNativeWindowAsync()

void VideoComponent::Pimpl::recreateNativeWindowAsync ( )
inline

◆ setPosition() [1/3]

void VideoComponent::Pimpl::setPosition ( double  newPosition)
inline

◆ setPosition() [2/3]

void VideoComponent::Pimpl::setPosition ( double  newPosition)
inline

References context, and videoLoaded.

◆ setPosition() [3/3]

void VideoComponent::Pimpl::setPosition ( double  newPosition)
inline

◆ setSpeed() [1/3]

void VideoComponent::Pimpl::setSpeed ( double  newSpeed)
inline

◆ setSpeed() [2/3]

void VideoComponent::Pimpl::setSpeed ( double  newSpeed)
inline

References context, and videoLoaded.

◆ setSpeed() [3/3]

void VideoComponent::Pimpl::setSpeed ( double  newSpeed)
inline

Referenced by play().

◆ setVolume() [1/3]

void VideoComponent::Pimpl::setVolume ( float  newVolume)
inline

◆ setVolume() [2/3]

void VideoComponent::Pimpl::setVolume ( float  newVolume)
inline

References context, and videoLoaded.

◆ setVolume() [3/3]

void VideoComponent::Pimpl::setVolume ( float  newVolume)
inline

Referenced by setVolume().

◆ stop() [1/3]

void VideoComponent::Pimpl::stop ( )
inline

References context, and videoLoaded.

◆ stop() [2/3]

void VideoComponent::Pimpl::stop ( )
inline

◆ stop() [3/3]

void VideoComponent::Pimpl::stop ( )
inlinenoexcept

◆ toSeconds()

static double VideoComponent::Pimpl::toSeconds ( const CMTime &  t)
inlinestaticprivatenoexcept

References juce::gl::t.

Referenced by getDuration(), and getPosition().

◆ updateContextPosition()

◆ updateContextVisibility()

void VideoComponent::Pimpl::updateContextVisibility ( )
inline

Member Data Documentation

◆ componentWatcher

std::unique_ptr<ComponentWatcher> VideoComponent::Pimpl::componentWatcher
private

Referenced by Pimpl(), and ~Pimpl().

◆ context

◆ currentFile

File VideoComponent::Pimpl::currentFile

Referenced by close(), and load().

◆ currentPeer

ComponentPeer* VideoComponent::Pimpl::currentPeer = nullptr
private

◆ currentURL

URL VideoComponent::Pimpl::currentURL

Referenced by close(), load(), and loadAsync().

◆ loadFinishedCallback

std::function<void (const URL&, Result)> VideoComponent::Pimpl::loadFinishedCallback
private

◆ owner

VideoComponent & VideoComponent::Pimpl::owner
private

◆ playerController

◆ playSpeedMult

double VideoComponent::Pimpl::playSpeedMult = 1.0
private

Referenced by play(), and setSpeed().

◆ videoLoaded


The documentation for this struct was generated from the following files: