openMSX
Public Types | Public Member Functions | Friends | List of all members
openmsx::LaserdiscPlayer Class Reference

#include <LaserdiscPlayer.hh>

Inheritance diagram for openmsx::LaserdiscPlayer:
Inheritance graph
[legend]
Collaboration diagram for openmsx::LaserdiscPlayer:
Collaboration graph
[legend]

Public Types

enum  RemoteState {
  REMOTE_IDLE, REMOTE_HEADER_PULSE, NEC_HEADER_SPACE, NEC_BITS_PULSE,
  NEC_BITS_SPACE
}
enum  PlayerState {
  PLAYER_STOPPED, PLAYER_PLAYING, PLAYER_MULTISPEED, PLAYER_PAUSED,
  PLAYER_STILL
}
enum  SeekState { SEEK_NONE, SEEK_CHAPTER, SEEK_FRAME, SEEK_WAIT }
enum  StereoMode { LEFT, RIGHT, STEREO }
enum  RemoteProtocol { IR_NONE, IR_NEC }
- Public Types inherited from openmsx::ResampledSoundDevice
enum  ResampleType { RESAMPLE_HQ, RESAMPLE_LQ, RESAMPLE_BLIP }

Public Member Functions

 LaserdiscPlayer (const HardwareConfig &hwConf, PioneerLDControl &ldcontrol)
 ~LaserdiscPlayer ()
short readSample (EmuTime::param time)
void setMuting (bool left, bool right, EmuTime::param time)
bool extAck (EmuTime::param time) const
void extControl (bool bit, EmuTime::param time)
const RawFramegetRawFrame () const
template<typename Archive >
void serialize (Archive &ar, unsigned version)
MSXMotherBoardgetMotherBoard ()
- Public Member Functions inherited from openmsx::ResampledSoundDevice
bool generateInput (int *buffer, unsigned num)
 Note: To enable various optimizations (like SSE), this method is allowed to generate up to 3 extra sample.
- Public Member Functions inherited from openmsx::SoundDevice
const std::string & getName () const
 Get the unique name that identifies this sound device.
const std::string & getDescription () const
 Gets a description of this sound device, to be presented to the user.
bool isStereo () const
 Is this a stereo device? This is set in the constructor and cannot be changed anymore.
virtual int getAmplificationFactor () const
 Get extra amplification factor for this device.
void recordChannel (unsigned channel, const Filename &filename)
void muteChannel (unsigned channel, bool muted)
- Public Member Functions inherited from openmsx::Schedulable
virtual void executeUntil (EmuTime::param time, int userData)=0
 When the previously registered syncPoint is reached, this method gets called.
virtual void schedulerDeleted ()
 Just before the the Scheduler is deleted, it calls this method of all the Schedulables that are still registered.
SchedulergetScheduler () const
EmuTime::param getCurrentTime () const
 Convenience method: This is the same as getScheduler().getCurrentTime().
template<typename Archive >
void serialize (Archive &ar, unsigned version)

Friends

class LaserdiscCommand

Additional Inherited Members

- Static Public Attributes inherited from openmsx::SoundDevice
static const unsigned MAX_CHANNELS = 24
- Protected Member Functions inherited from openmsx::ResampledSoundDevice
 ResampledSoundDevice (MSXMotherBoard &motherBoard, string_ref name, string_ref description, unsigned channels, bool stereo=false)
virtual ~ResampledSoundDevice ()
virtual void setOutputRate (unsigned sampleRate)
 When a SoundDevice registers itself with the Mixer, the Mixer sets the required sampleRate through this method.
virtual bool updateBuffer (unsigned length, int *buffer, EmuTime::param time)
 Generate sample data.
virtual void update (const Setting &setting)
void createResampler ()
- Protected Member Functions inherited from openmsx::Schedulable
 Schedulable (Scheduler &scheduler)
virtual ~Schedulable ()
void setSyncPoint (EmuTime::param timestamp, int userData=0)
bool removeSyncPoint (int userData=0)
void removeSyncPoints ()
bool pendingSyncPoint (int userData=0) const
- Private Member Functions inherited from openmsx::EventListener
virtual ~EventListener ()
virtual int signalEvent (const std::shared_ptr< const Event > &event)=0
 This method gets called when an event you are subscribed to occurs.
 EventListener ()
- Private Member Functions inherited from openmsx::VideoSystemChangeListener
virtual void preVideoSystemChange ()=0
virtual void postVideoSystemChange ()=0
virtual ~VideoSystemChangeListener ()

Detailed Description

Definition at line 26 of file LaserdiscPlayer.hh.

Member Enumeration Documentation

Enumerator:
PLAYER_STOPPED 
PLAYER_PLAYING 
PLAYER_MULTISPEED 
PLAYER_PAUSED 
PLAYER_STILL 

Definition at line 59 of file LaserdiscPlayer.hh.

Enumerator:
IR_NONE 
IR_NEC 

Definition at line 80 of file LaserdiscPlayer.hh.

Enumerator:
REMOTE_IDLE 
REMOTE_HEADER_PULSE 
NEC_HEADER_SPACE 
NEC_BITS_PULSE 
NEC_BITS_SPACE 

Definition at line 51 of file LaserdiscPlayer.hh.

Enumerator:
SEEK_NONE 
SEEK_CHAPTER 
SEEK_FRAME 
SEEK_WAIT 

Definition at line 67 of file LaserdiscPlayer.hh.

Enumerator:
LEFT 
RIGHT 
STEREO 

Definition at line 74 of file LaserdiscPlayer.hh.

Constructor & Destructor Documentation

openmsx::LaserdiscPlayer::LaserdiscPlayer ( const HardwareConfig hwConf,
PioneerLDControl ldcontrol 
)
openmsx::LaserdiscPlayer::~LaserdiscPlayer ( )

Member Function Documentation

bool openmsx::LaserdiscPlayer::extAck ( EmuTime::param  time) const

Definition at line 299 of file LaserdiscPlayer.cc.

void openmsx::LaserdiscPlayer::extControl ( bool  bit,
EmuTime::param  time 
)
MSXMotherBoard& openmsx::LaserdiscPlayer::getMotherBoard ( )
inline

Definition at line 49 of file LaserdiscPlayer.hh.

Referenced by openmsx::SDLVideoSystem::createLDRasterizer().

const RawFrame * openmsx::LaserdiscPlayer::getRawFrame ( ) const

Definition at line 286 of file LaserdiscPlayer.cc.

short openmsx::LaserdiscPlayer::readSample ( EmuTime::param  time)

Definition at line 1008 of file LaserdiscPlayer.cc.

References LEFT, and PLAYER_PLAYING.

Referenced by openmsx::CassettePort::cassetteIn().

template<typename Archive >
void openmsx::LaserdiscPlayer::serialize ( Archive &  ar,
unsigned  version 
)
void openmsx::LaserdiscPlayer::setMuting ( bool  left,
bool  right,
EmuTime::param  time 
)

Definition at line 801 of file LaserdiscPlayer.cc.

References PRT_DEBUG, and openmsx::SoundDevice::updateStream().

Friends And Related Function Documentation

friend class LaserdiscCommand
friend

Definition at line 203 of file LaserdiscPlayer.hh.


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