openshot-audio  0.1.6
Classes | Namespaces | Macros | Enumerations | Functions | Variables
juce_win32_AudioCDReader.cpp File Reference

Classes

struct  CDReaderHelpers::SCSI_PASS_THROUGH
 
struct  CDReaderHelpers::SCSI_PASS_THROUGH_DIRECT
 
struct  CDReaderHelpers::SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER
 
struct  CDReaderHelpers::SCSI_ADDRESS
 
struct  CDReaderHelpers::SRB_GDEVBlock
 
struct  CDReaderHelpers::SRB_ExecSCSICmd
 
struct  CDReaderHelpers::SRB
 
struct  CDReaderHelpers::TOCTRACK
 
struct  CDReaderHelpers::TOC
 
struct  CDReaderHelpers::CDDeviceDescription
 
class  CDReaderHelpers::CDReadBuffer
 
class  CDReaderHelpers::CDController
 
class  CDReaderHelpers::CDDeviceHandle
 
class  CDReaderHelpers::ControllerType1
 
class  CDReaderHelpers::ControllerType2
 
class  CDReaderHelpers::ControllerType3
 
class  CDReaderHelpers::ControllerType4
 
struct  CDReaderHelpers::CDDeviceWrapper
 

Namespaces

 CDReaderHelpers
 

Macros

#define FILE_ANY_ACCESS   0
 
#define FILE_READ_ACCESS   1
 
#define FILE_WRITE_ACCESS   2
 
#define METHOD_BUFFERED   0
 
#define IOCTL_SCSI_BASE   4
 
#define SCSI_IOCTL_DATA_OUT   0
 
#define SCSI_IOCTL_DATA_IN   1
 
#define SCSI_IOCTL_DATA_UNSPECIFIED   2
 
#define CTL_CODE2(DevType, Function, Method, Access)   (((DevType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
 
#define IOCTL_SCSI_PASS_THROUGH_DIRECT   CTL_CODE2( IOCTL_SCSI_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS )
 
#define IOCTL_SCSI_GET_ADDRESS   CTL_CODE2( IOCTL_SCSI_BASE, 0x0406, METHOD_BUFFERED, FILE_ANY_ACCESS )
 
#define SENSE_LEN   14
 
#define SRB_ENABLE_RESIDUAL_COUNT   0x04
 
#define SRB_DIR_IN   0x08
 
#define SRB_DIR_OUT   0x10
 
#define SRB_EVENT_NOTIFY   0x40
 
#define SC_HA_INQUIRY   0x00
 
#define SC_GET_DEV_TYPE   0x01
 
#define SC_EXEC_SCSI_CMD   0x02
 
#define SS_PENDING   0x00
 
#define SS_COMP   0x01
 
#define SS_ERR   0x04
 

Enumerations

enum  {
  CDReaderHelpers::READTYPE_ANY = 0, CDReaderHelpers::READTYPE_ATAPI1 = 1, CDReaderHelpers::READTYPE_ATAPI2 = 2, CDReaderHelpers::READTYPE_READ6 = 3,
  CDReaderHelpers::READTYPE_READ10 = 4, CDReaderHelpers::READTYPE_READ_D8 = 5, CDReaderHelpers::READTYPE_READ_D4 = 6, CDReaderHelpers::READTYPE_READ_D4_1 = 7,
  CDReaderHelpers::READTYPE_READ10_2 = 8
}
 

Functions

HANDLE CDReaderHelpers::createSCSIDeviceHandle (const char driveLetter)
 
void CDReaderHelpers::findCDDevices (Array< CDDeviceDescription > &list)
 
DWORD CDReaderHelpers::performScsiPassThroughCommand (SRB_ExecSCSICmd *const srb, const char driveLetter, HANDLE &deviceHandle, const bool retryOnFailure)
 
int CDReaderHelpers::getAddressOfTrack (const TOCTRACK &t) noexcept
 

Variables

const int CDReaderHelpers::samplesPerFrame = 44100 / 75
 
const int CDReaderHelpers::bytesPerFrame = samplesPerFrame * 4
 
const int CDReaderHelpers::framesPerIndexRead = 4
 

Macro Definition Documentation

#define CTL_CODE2 (   DevType,
  Function,
  Method,
  Access 
)    (((DevType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
#define FILE_ANY_ACCESS   0
#define FILE_READ_ACCESS   1
#define FILE_WRITE_ACCESS   2
#define IOCTL_SCSI_BASE   4
#define IOCTL_SCSI_GET_ADDRESS   CTL_CODE2( IOCTL_SCSI_BASE, 0x0406, METHOD_BUFFERED, FILE_ANY_ACCESS )
#define IOCTL_SCSI_PASS_THROUGH_DIRECT   CTL_CODE2( IOCTL_SCSI_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS )
#define METHOD_BUFFERED   0
#define SC_EXEC_SCSI_CMD   0x02
#define SC_GET_DEV_TYPE   0x01
#define SC_HA_INQUIRY   0x00
#define SCSI_IOCTL_DATA_IN   1
#define SCSI_IOCTL_DATA_OUT   0
#define SCSI_IOCTL_DATA_UNSPECIFIED   2
#define SENSE_LEN   14
#define SRB_DIR_IN   0x08
#define SRB_DIR_OUT   0x10
#define SRB_ENABLE_RESIDUAL_COUNT   0x04
#define SRB_EVENT_NOTIFY   0x40
#define SS_COMP   0x01
#define SS_ERR   0x04
#define SS_PENDING   0x00