| 1 |
|
| 2 | |
| 3 | * OSS compatible sequencer driver
|
| 4 | * timer handling routines
|
| 5 | *
|
| 6 | * Copyright (C) 1998,99 Takashi Iwai <[email protected]>
|
| 7 |
|
| 8 |
|
| 9 | #ifndef __SEQ_OSS_TIMER_H
|
| 10 | #define __SEQ_OSS_TIMER_H
|
| 11 |
|
| 12 | #include "seq_oss_device.h"
|
| 13 |
|
| 14 | |
| 15 | * timer information definition
|
| 16 |
|
| 17 | struct seq_oss_timer {
|
| 18 | struct seq_oss_devinfo *dp;
|
| 19 | reltime_t cur_tick;
|
| 20 | int realtime;
|
| 21 | int running;
|
| 22 | int tempo, ppq;
|
| 23 | int oss_tempo, oss_timebase;
|
| 24 | };
|
| 25 |
|
| 26 |
|
| 27 | struct seq_oss_timer *snd_seq_oss_timer_new(struct seq_oss_devinfo *dp);
|
| 28 | void snd_seq_oss_timer_delete(struct seq_oss_timer *dp);
|
| 29 |
|
| 30 | int snd_seq_oss_timer_start(struct seq_oss_timer *timer);
|
| 31 | int snd_seq_oss_timer_stop(struct seq_oss_timer *timer);
|
| 32 | int snd_seq_oss_timer_continue(struct seq_oss_timer *timer);
|
| 33 | int snd_seq_oss_timer_tempo(struct seq_oss_timer *timer, int value);
|
| 34 | #define snd_seq_oss_timer_reset snd_seq_oss_timer_start
|
| 35 |
|
| 36 | int snd_seq_oss_timer_ioctl(struct seq_oss_timer *timer, unsigned int cmd, int __user *arg);
|
| 37 |
|
| 38 | |
| 39 | * get current processed time
|
| 40 |
|
| 41 | static inline abstime_t
|
| 42 | snd_seq_oss_timer_cur_tick(struct seq_oss_timer *timer)
|
| 43 | {
|
| 44 | return timer->cur_tick;
|
| 45 | }
|
| 46 |
|
| 47 | #endif
|