summaryrefslogtreecommitdiff
path: root/muse2/muse/driver/timerdev.h
blob: 944bc2134f4b01c4be8c4ce32e8a68c6de546c4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//=========================================================
//  MusE
//  Linux Music Editor
//  $Id: timerdev.h,v 1.1.2.3 2005/08/21 18:11:28 spamatica Exp $
//
//  Plenty of code borrowed from timer.c example in 
//  alsalib 1.0.7
//
//  (C) Copyright 2004 Robert Jonsson (rj@spamatica.se)
//=========================================================

#ifndef __TIMERDEV_H__
#define __TIMERDEV_H__

#include "alsa/asoundlib.h"

#define TIMER_DEBUG 0

//---------------------------------------------------------
//   AlsaTimer
//---------------------------------------------------------

class Timer {
    
     public:
       Timer() {};
       virtual ~Timer() {};
       
       virtual signed int initTimer() = 0;
       virtual unsigned int setTimerResolution(unsigned int resolution) = 0;
       virtual unsigned int getTimerResolution() = 0;
       virtual unsigned int setTimerFreq(unsigned int freq) = 0;
       virtual unsigned int getTimerFreq() = 0;
       
       virtual bool startTimer() = 0;
       virtual bool stopTimer() = 0;
       virtual unsigned int getTimerTicks(bool printTicks = false) = 0;
        
};

#endif //__ALSATIMER_H__