Starport BBS
VIEWER: timer.inc MODE: TEXT (ASCII)
;*	TIMER.INC
;*
;* TempoTimer
;*
;* $Id: timer.inc,v 1.3 1997/01/16 18:41:59 pekangas Exp $
;*
;* Copyright 1996,1997 Housemarque Inc.
;*
;* This file is part of the MIDAS Sound System, and may only be
;* used, modified and distributed under the terms of the MIDAS
;* Sound System license, LICENSE.TXT. By continuing to use,
;* modify or distribute this file you indicate that you have
;* read the license and understand and accept it fully.
;*


GLOBAL  LANG tmrActive : _int


;/***************************************************************************\
;*
;* Function:     int tmrGetScrSync(unsigned *scrSync);
;*
;* Description:  Calculates the screen synchronization value for timer
;*
;* Input:        unsigned *scrSync       pointer to screen synchronization
;*                                       value
;*
;* Returns:      MIDAS error code.
;*               Screen syncronization value used with tmrSyncScr() is stored
;*               in *scrSync.
;*
;\***************************************************************************/

GLOBAL  LANG tmrGetScrSync : _funct




;/***************************************************************************\
;*
;* Function:     int tmrInit(void);
;*
;* Description:  Initializes TempoTimer.
;*
;* Returns:      MIDAS error code
;*
;\***************************************************************************/

GLOBAL  LANG tmrInit : _funct




;/***************************************************************************\
;*
;* Function:     int tmrClose(void);
;*
;* Description:  Uninitializes TempoTimer. MUST be called if and ONLY if
;*               tmrInit() has been called.
;*
;* Returns:      MIDAS error code
;*
;\***************************************************************************/

GLOBAL  LANG tmrClose : _funct




;/***************************************************************************\
;*
;* Function:    int tmrPlaySD(SoundDevice *SD);
;*
;* Description: Starts playing sound with a Sound Device ie. calling its
;*              Play() function in the update rate, which is set to
;*              50Hz.
;*
;* Input:       SoundDevice *SD         Sound Device that will be used
;*
;* Returns:     MIDAS error code.
;*
;\***************************************************************************/

GLOBAL  LANG tmrPlaySD : _funct




;/***************************************************************************\
;*
;* Function:    int tmrStopSD(void);
;*
;* Description: Stops playing sound with the Sound Device.
;*
;* Returns:     MIDAS error code.
;*
;\***************************************************************************/

GLOBAL  LANG tmrStopSD : _funct




;/***************************************************************************\
;*
;* Function:    int tmrPlayMusic(void (*play)(), int *playerNum);
;*
;* Description: Starts playing music with the timer.
;*
;* Input:       void (*play)()          Music playing function
;*              int *playerNum          Pointer to player number, used
;*                                      for stopping music
;*
;* Returns:     MIDAS error code. Player number is written to *playerNum.
;*
;* Notes:       There can be a maximum of 16 music players active at the
;*              same time.
;*
;\****************************************************************************/

GLOBAL  LANG tmrPlayMusic : _funct




;/***************************************************************************\
;*
;* Function:    int tmrStopMusic(int playerNum);
;*
;* Description: Stops playing music with the timer.
;*
;* Input:       int playerNum           Number of player to be stopped.
;*
;* Returns:     MIDAS error code
;*
;\***************************************************************************/

GLOBAL  LANG tmrStopMusic : _funct




;/***************************************************************************\
;*
;* Function:    int tmrSyncScr(unsigned sync, void (*preVR)(),
;*                  void (*immVR)(), void (*inVR)());
;*
;* Description: Synchronizes the timer to screen refresh.
;*
;* Input:       unsigned sync           Screen synchronization value returned
;*                                      by tmrGetScrSync().
;*              void (*preVR)()         Pointer to the routine that will be
;*                                      called BEFORE Vertical Retrace
;*              void (*immVR)()         Pointer to the routine that will be
;*                                      called immediately after Vertical
;*                                      Retrace starts
;*              void (*inVR)()          Pointer to the routine that will be
;*                                      called some time during Vertical
;*                                      Retrace
;*
;* Returns:     MIDAS error code
;*
;* Notes:       preVR() and immVR() functions must be as short as possible
;*              and do nothing else than update counters or set some VGA
;*              registers to avoid timer synchronization problems. inVR()
;*              can take a longer time and can be used for, for example,
;*              setting the palette.
;*
;*              Remember to use the correct calling convention for the xxVR()
;*              routines! (pascal for Pascal programs, cdecl otherwise).
;*
;\***************************************************************************/

GLOBAL  LANG tmrSyncScr : _funct




;/***************************************************************************\
;*
;* Function:     int tmrStopScrSync(void);
;*
;* Description:  Stops synchronizing the timer to the screen.
;*
;* Returns:      MIDAS error code
;*
;\***************************************************************************/

GLOBAL  LANG tmrStopScrSync : _funct



;/***************************************************************************\
;*
;* Function:     int tmrSetUpdRate(unsigned updRate);
;*
;* Description:  Sets the timer update rate, ie. the rate at which the music
;*               playing routine is called
;*
;* Input:        unsigned updRate       updating rate, in 100*Hz (5000=50Hz)
;*
;* Returns:      MIDAS error code
;*
;\***************************************************************************/

GLOBAL  LANG tmrSetUpdRate : _funct



;/***************************************************************************\
;*       enum tmrFunctIDs
;*       ----------------
;* Description:  ID numbers for TempoTimer functions
;\***************************************************************************/

ENUM    tmrFunctIDs \
        ID_tmrGetScrSync = ID_tmr, \
        ID_tmrInit, \
        ID_tmrClose, \
        ID_tmrPlaySD, \
        ID_tmrStopSD, \
        ID_tmrPlayMusic, \
        ID_tmrStopMusic, \
        ID_tmrSyncScr, \
        ID_tmrStopScrSync, \
        ID_tmrSetUpdRate


;* $Log: timer.inc,v $
;* Revision 1.3  1997/01/16 18:41:59  pekangas
;* Changed copyright messages to Housemarque
;*
;* Revision 1.2  1996/05/30 22:38:46  pekangas
;* no changes?
;*
;* Revision 1.1  1996/05/22 20:49:33  pekangas
;* Initial revision
;*
[ RETURN TO DIRECTORY ]