CSoundboardApp.h

// ===========================================================================
//  CSoundboardApp.h                    ©1994 Metrowerks Inc. All rights reserved.
// ===========================================================================
 
#pragma once
 
#include <LApplication.h>
#include "CSoundboardWindow.h"
#include "FilterComponent.h"
 
class   CSoundboardApp : public LApplication,
                         public LPeriodical {
public:
    static ComponentInstance    mFilterInstance;
    static short                mGainValue[kMaxSliders];
    short                       mFilterUsesGains;
    
                                CSoundboardApp();
    virtual                     ~CSoundboardApp();
    
    virtual Boolean             ObeyCommand(CommandT inCommand, void *ioParam = nil);
    virtual void                FindCommandStatus(CommandT inCommand,
                                    Boolean &outEnabled, Boolean &outUsesMark,
                                    Char16 &outMark, Str255 outName);
                            
    virtual void                SpendTime(const EventRecord &inMacEvent);
    
protected:                          
    CSoundboardWindow           *mStatusWindow;
    Component                   mFilterComponentID;
    short                       mChangeCount;
    unsigned short              mClipped;
    Boolean                     mEnhanceStereo;
    
    #ifdef DEBUG_IT
        Handle                  mFilterNameHdl;
        Handle                  mInfoHdl;
    #endif
 
    virtual void                SetStatusText(short index);
    virtual void                OpenFilterComponent();
    virtual void                UpdateFilterCntls(void);
    
    virtual Boolean             AttemptQuitSelf(
                                    Int32               inSaveOption);
    
};
 
extern const ResIDT             WIND_Soundboard;
extern const ResIDT             WIND_QuickTimeMovie;
extern const PaneIDT            FirstSliderID;
extern const PaneIDT            LastSliderID;
extern const PaneIDT            LabelIDOffset;
extern const PaneIDT            StatusID;
 
 
// Menu commands
extern const CommandT           cmd_EnableFilter;
extern const CommandT           cmd_UseExtGains;
extern const CommandT           cmd_srsFilter;
extern const CommandT           cmd_srsGain;
extern const CommandT           cmd_3DAudio;
extern const CommandT           cmd_3DAudio5b;
extern const CommandT           cmd_3DAudioOnly;
extern const CommandT           cmd_XTalk5b;
extern const CommandT           cmd_XTalkJG;
extern const CommandT           cmd_3DAudioJG;
extern const CommandT           cmd_SoundBoardW;
 
 
// Registration flags
enum
{
    kRegisterLocally = 0,
    kRegisterGlobally
};
 
// String resource ids
enum {
    STRx_ShowHideSoundBoard = 128,
    STRx_StatusStrsID = 129
};
 
// String resource items for STRx_ShowHideSoundBoard
enum {  
    str_ShowSoundBoard = 1,
    str_HideSoundBoard
};
 
 
// String resource items for kStatusStrsID
enum
{
    str_IdleStr = 1,
    str_FoundCompIDAndInstStr,
    str_DidNotFindCompIDStr,
    str_DidNotGetInstStr,
    str_ClosedOKStr,
    str_ErrorClosingInstStr,
    str_CompVersStr,
    str_InterfaceVersStr,
    str_CanDoOpenStr,
    str_CantDoOpenStr,
    str_CanDoCloseStr,
    str_CantDoCloseStr,
    str_CanDoCanDoStr,
    str_CantDoCanDoStr,
    str_CanDoVersionStr,
    str_CantDoVersionStr,
    str_CanDoRegisterStr,
    str_CantDoRegisterStr,
    str_CanDoTargetStr,
    str_CantDoTargetStr,
    str_NameStr,
    str_NoNameStr,
    str_InfoStr,
    str_NoInfoStr,
    str_RefconStr,
    str_ThereIsStr,
    str_ThereAreStr,
    str_InstanceStr,
    str_InstancesStr,
    str_A5Str,
    str_EnhanceStereoResultOnStr,
    str_EnhanceStereoResultOffStr,
    str_CanDoSetEnhanceStereoStr,
    str_CantDoSetEnhanceStereoStr,
    str_CantOpenAnyMoreInstStr,
    str_CompDescStr,
    str_FilterStr,
    str_KeyPhrase,
    str_ValidInstancesExist,
    str_ClippingStr,
    str_NotClippingStr
};