www.pudn.com > NeroSDK-v1.05.zip > audiotypes.h
/******************************************************************************
|* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|* PARTICULAR PURPOSE.
|*
|* Copyright 1995-2004 Ahead Software AG. All Rights Reserved.
|*-----------------------------------------------------------------------------
|* NeroSDK / AudioPluginManager
|*
|* FILE: audiotypes.h
|*
|* PURPOSE: Definitions of Audio types
******************************************************************************/
#ifndef _AUDIO_TYPES_
# define _AUDIO_TYPES_
///////////////////////////////////////////////////////// EAudioComponentType //
enum EAudioComponentType
{
ACT_None = 0,
ACT_PluginMgr = 1,
ACT_ComponentEnumerator = 2,
ACT_AudioURLSourceFactory = 3,
ACT_AudioURLTargetFactory = 4,
ACT_ConvertorFactory = 5,
ACT_Downloader = 6
};
//////////////////////////////////////////////////////////////////// EURLType //
enum EURLType
{
URL_None = 0x00000000,
URL_LocalFile = 0x00000001,
URL_Http = 0x00000002,
URL_Ftp = 0x00000004
};
/////////////////////////////////////////////////////////////////// EAuxFlags //
enum EAuxFlags
{
EAF_None = 0x00000000,
// Can...
// Can record on CD
EAF_CanRecOnAudioCD = 0x00000010,
EAF_CanRecOnDataCD = 0x00000020,
// Copy protection
EAF_CanCopy = 0x00000040,
// Can be downloaded to an mp3 player or a portable device
EAF_CanDLToMp3PlayerOrPortabDvc = 0x00000080,
// Can be converted to other format
EAF_CanConvert = 0x00000100,
// Source type
// Indicates that the RAW data can be read from the item.
EAF_Readable = 0x00001000,
// Indicates that the source can play itself (also pause, resume, etc.).
EAF_Playable = 0x00002000,
// Additional flags
// Indicates that the source can edit the additional information such as
// the artist and title name and store it back in the source file.
EAF_SrcCanSaveAddInfo = 0x00010000,
// Some of sources can read/write data at 1.0 x only (internet streams,
// CD players and others). Must be specified with EAF_BadReadable or
// EAF_Readable.
EAF_RealTimeOnly = 0x00020000,
// This flag is declared by plugin and can be requested by applications
// in order to open sources in light version i.e. with minimal information
// and minimal resource waste (time, memory, connnections and others.).
// This can be useful for example for internet radio, big files an so on.
EAF_LightOpen = 0x00040000
};
///////////////////////////////////////////////////////////// EMainScreenMode //
enum EMainScreenMode
{
MSM_None = 0,
MSM_Normal = 1,
MSM_Shade = 2,
MSM_Minimized = 3
};
/////////////////////////////////////////////////////////////// EAppearMethod //
enum EAppearMethod
{
EAM_None = 0,
EAM_Photoplate = 1,
EAM_Stars = 2,
EAM_HorizontalJalousie = 3,
EAM_VerticalJalousie = 4,
EAM_Compass = 5,
EAM_ClockFace = 6
};
////////////////////////////////////////////////////////////////////// EEvent //
#define EEvent DWORD
#define EE_None 0
#define EE_AudioSourceStart 100
// Shaded, normal, minimized, hidden, shown, restored
#define EE_MainWndModeChange 200
#define EE_MainWndMoving 201
#define EE_MainWndMoved 202
#define EE_MainWndChanged 203
#define EE_SkinChange 300
#define EE_AppearMethodChange 301
#define EE_SkinFolderChange 302
#define EE_LanguageChange 400
#define EE_ProfileChange 500
// This event is being sent periodically to announce all the architecture
// components that the main application is in the idle state.
#define EE_AppIdle 600
// 700 - 799 are reserved
// Sent when plugin want hide/show equalizer
#define EE_EqualizerHide 800
#define EE_EqualizerShow 801
// Send to plugins when application hide or show equalizer
#define EE_EqualizerIsHidden 850
#define EE_EqualizerIsShown 851
#define EE_DownloadStart 900
#define EE_DownloadFinish 901
#define EE_DownloadProgress 902
///////////////////////////////////////////////////////////////// EScreenMode //
enum EWndMode
{
ESM_Undefined = 0x00000000,
ESM_Minimized = 0x00000001,
ESM_Maximized = 0x00000002,
ESM_Shaded = 0x00000004,
ESM_Visible = 0x00000008
};
////////////////////////////////////////////////////////////// EAudioRawState //
enum EAudioRawState
{
ERS_None = 0x00000000,
ERS_FirstAfterSeek = 0x00000001,
ERS_EndOfFile = 0x00000002
};
////////////////////////////////////////////////////////////////// EMediaType //
enum EMediaType
{
EMT_None = 0x00000000,
// 8 and 16 bit, whole frequency range, 1 or 2 channels.
EMT_BasicAudio = 0x00000001,
// 8, 16, 24, 32 bit, whole frequency range, 1 or 2 channels.
EMT_ExtAudio = 0x00000002
};
////////////////////////////////////////////////////////////////// ELimitType //
enum ELimitType
{
ERT_NoRestrictions = 0,
ERT_LimitedTimes = 1,
ERT_Expired = 3,
// One part has no restrictions, the other is limited.
// For example, MP3 fully working but mp3PRO is limited.
ERT_PartiallyLimited = 4
};
//////////////////////////////////////////////////////////// EConvFactoryMode //
enum EConvFactoryMode
{
ECFM_Playback,
ECFM_Other
};
///////////////////////////////////////////////////////////// EStatusCategory //
enum EStatusCategory
{
ESC_General,
ESC_Exceptional
};
#endif // _AUDIO_TYPES_