sndplayUI.h 3.22 KB
/*====================================================================
 * sndplayUI.h
 *
 * Copyright 1995, Silicon Graphics, Inc.
 * All Rights Reserved.
 *
 * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics,
 * Inc.; the contents of this file may not be disclosed to third
 * parties, copied or duplicated in any form, in whole or in part,
 * without the prior written permission of Silicon Graphics, Inc.
 *
 * RESTRICTED RIGHTS LEGEND:
 * Use, duplication or disclosure by the Government is subject to
 * restrictions as set forth in subdivision (c)(1)(ii) of the Rights
 * in Technical Data and Computer Software clause at DFARS
 * 252.227-7013, and/or in similar or successor clauses in the FAR,
 * DOD or NASA FAR Supplement. Unpublished - rights reserved under the
 * Copyright Laws of the United States.
 *====================================================================*/

#ifndef __sndplayUI__
#define __sndplayUI__



#include "UI.h"
#include "UIpane.h"


/*
  UI item ids must start at zero since they are stored
  in an array and the ids are used to index the items.
*/
enum
{
    kSndPPlayID = 0,
    kSndPTitleID,
    kSndPNumberNBoxID,
    kSndPPitchNBoxID,
    kSndPPanNBoxID,
    kSndPVolumeNBoxID,
    kSndPFXMixNBoxID,
    kSndPNumItems
};


/*
  UI item locations are relative to the transport's origin
  which is defined by kSndP_l and kSndP_t.
*/
#define kSndP_l                  28
#define kSndP_t                  80
#define kSndP_h                  32

#define kSndPNBox_t              14
#define kSndPNBox_w              32
#define kSndPNBox_h              14
#define kSndPNBox_b              (kSndPNBox_t + kSndPNBox_h)
#define kSndPNBox_delta          5
#define kSndPNBox_d		 1

#define kSndPPlay_t		 kSndPNBox_t
#define kSndPPlay_l              10
#define kSndPPlay_w		 16
#define kSndPPlay_r		 (kSndPPlay_l + kSndPPlay_w)

#define kSndPNumberNBox_l	 (kSndPPlay_r + kSndPNBox_delta)
#define kSndPPitchNBox_l	 (kSndPNumberNBox_l + kSndPNBox_w  + kSndPNBox_delta)
#define kSndPPanNBox_l           (kSndPPitchNBox_l + kSndPNBox_w  + kSndPNBox_delta)
#define kSndPVolumeNBox_l        (kSndPPanNBox_l + kSndPNBox_w  + kSndPNBox_delta)
#define kSndPFXMixNBox_l         (kSndPVolumeNBox_l + kSndPNBox_w  + kSndPNBox_delta)
#define kSndP_w                  (kSndPFXMixNBox_l + kSndPNBox_w  + kSndPNBox_delta)

#define kSndPTitleDrop           2
#define kSndPTitle_h             10
#define kSndPTitle_l             kSndPNumberNBox_l
#define kSndPTitle_w             200
#define kSndPTitle_r		 (kSndPTitle_l + kSndPTitle_w)
#define kSndPTitle_t             kSndPTitleDrop
#define kSndPTitle_b             (kSndPTitle_t + kSndPTitle_h)

#define kSndPString_r            ((kSndP_l + kSndP_w) - kSndPStrDelta)

typedef struct
{
    u32                 curSnd;

    UIPane	        fPane;                          /* Contains window pane data. */
    UIItem              fItemList[kSndPNumItems];         /* A list of control items in this pane. */
} sndplayUI;


void    SndP_Init (UIPane **ppPane);
void    SndP_Play (void);
void    SndP_Number (void);
void    SndP_Pitch (void);
void    SndP_Pan (void);
void    SndP_Volume (void);
void    SndP_FXMix (void);

void	SndP_PollAudioFrame (void);	/* sct 11/28/95 */

#endif /* __sndplayUI__ */