{========================================================================} {= (c) 1995-98 SwiftSoft Ronald Dittrich =} {========================================================================} {= All Rights Reserved =} {========================================================================} {= D 01099 Dresden = Tel.: +0351-8012255 =} {= Loewenstr.7a = info@swiftsoft.de =} {========================================================================} {= Actual versions on http://www.swiftsoft.de/mmtools.html =} {========================================================================} {= This code is for reference purposes only and may not be copied or =} {= distributed in any format electronic or otherwise except one copy =} {= for backup purposes. =} {= =} {= No Delphi Component Kit or Component individually or in a collection=} {= subclassed or otherwise from the code in this unit, or associated =} {= .pas, .dfm, .dcu, .asm or .obj files may be sold or distributed =} {= without express permission from SwiftSoft. =} {= =} {= For more licence informations please refer to the associated =} {= HelpFile. =} {========================================================================} {= $Date: 20.01.1998 - 18:00:00 $ =} {========================================================================} unit MMWMixer; {$I COMPILER.INC} interface uses {$IFDEF WIN32} Windows, {$ELSE} WinTypes, WinProcs, {$ENDIF} SysUtils, Messages, Classes, Controls, MMSystem, MMObj, MMDSPObj, MMUtils, MMString, MMRegs, MMPCMSup, MMACMSup, MMWaveIO; const MAXTRACKS = 4; type EMMWaveMixerError = class(Exception); TMMWaveMixerTracks = array[0..MAXTRACKS-1] of TMMMixerTrack; TMMMixerNotifyEvent= procedure(Sender: TObject; index: integer) of object; {-- TMMWaveMixer ------------------------------------------------------} TMMWaveMixer = class(TMMDSPComponent) public constructor Create(AOwner:TComponent); override; destructor Destroy; override; procedure Open; procedure Close; property InputDone[index: integer]: Boolean read GetInputDone write SetInputDone; property InputLoading[index: integer]: Boolean read GetInputLoading; property InputPosition[index: integer]: Longint read GetInputPosition; property Overflow: Boolean read FOverflow write FOverflow; property MixPosition: Longint read GetMixPosition; published property OnOpenPort : TMMMixerNotifyEvent read FOnOpenPort write FOnOpenPort; property OnClosePort: TMMMixerNotifyEvent read FOnClosePort write FOnClosePort; property TimeFormat: TMMTimeFormats read FTimeFormat write SetTimeFormat default tfMillisecond; property Output; property Input1: TMMDSPComponent index 0 read GetInputs write SetInputs; property Input2: TMMDSPComponent index 1 read GetInputs write SetInputs; property Input3: TMMDSPComponent index 2 read GetInputs write SetInputs; property Input4: TMMDSPComponent index 3 read GetInputs write SetInputs; property StartPos1: Longint index 0 read GetStartPos write SetStartPos; property StartPos2: Longint index 1 read GetStartPos write SetStartPos; property StartPos3: Longint index 2 read GetStartPos write SetStartPos; property StartPos4: Longint index 3 read GetStartPos write SetStartPos; property Loop1: Boolean index 0 read GetLoops write SetLoops; property Loop2: Boolean index 1 read GetLoops write SetLoops; property Loop3: Boolean index 2 read GetLoops write SetLoops; property Loop4: Boolean index 3 read GetLoops write SetLoops; property LoopCount1: integer index 0 read GetLoopCounts write SetLoopCounts; property LoopCount2: integer index 1 read GetLoopCounts write SetLoopCounts; property LoopCount3: integer index 2 read GetLoopCounts write SetLoopCounts; property LoopCount4: integer index 3 read GetLoopCounts write SetLoopCounts; property Enabled: Boolean read FEnabled write FEnabled default True; property SampleRate: Longint read FSampleRate write SetSampleRate default 11025; property MaxPlayTime: Longint read GetMaxPlayTime write SetMaxPlayTime; property Volume: Longint index 0 read FVolume write SetVolumeValues default VOLUMEBASE; property Panning: Longint index 1 read FPanning write SetVolumeValues default 0; end; implementation