From alsa-devel-owner@alsa.jcu.cz  Sat May 23 21:42:36 1998
Received: from altrade.nijmegen.inter.nl.net (altrade.nijmegen.inter.nl.net [193.67.237.6])
	by marvin.jcu.cz (8.8.8/8.8.8) with ESMTP id VAA06172
	for <alsa-devel@jcu.cz>; Sat, 23 May 1998 21:42:17 +0200
Received: from obelix.fvdpol.inter.nl.net by altrade.nijmegen.inter.nl.net
	via bd99-14.Breda.NL.net [193.79.246.239] with ESMTP for <alsa-devel@jcu.cz>
	id VAA11351 (8.8.8/3.27); Sat, 23 May 1998 21:42:19 +0200 (MET DST)
Received: (from frank@localhost) by obelix.fvdpol.inter.nl.net (8.8.7/8.7.3) id WAA32197 for alsa-devel@jcu.cz; Tue, 19 May 1998 22:59:23 +0200
From: Frank van de Pol <F.K.W.van.de.Pol@inter.nl.net>
Message-Id: <199805192059.WAA32197@obelix.fvdpol.inter.nl.net>
Subject: Re: New Sequencer core: Timing
To: alsa-devel@jcu.cz
Date: Tue, 19 May 1998 22:59:23 +0200 (MET DST)
In-Reply-To: <19980518001818.A17985@smoke.casema.net> from "smoke van c.r.a.p" at May 18, 98 00:18:18 am
Content-Type: text
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

smoke van c.r.a.p wrote:

> > But why are you refering to 1ms timing resolution. My (intel pentium) kernel
> > uses a 100 Hz system timer, and I end up with (for userland apps) about 20ms
> > timing accuracy. 
> 
> jep. this was what i was referring to. So i guess most of it has to be done
> in kernelspace, and I wanted to know whether you were going to use RtLinux
> or something alike (the pentium also has this instruction counter that could
> be used). Other programs would like to use that timer too, so please note
> that things may overlap; that is - you could break other projects currently
> in development..
> 

In my concept I was thinking of a <buzzz> 'virtual timer' per queue. Each of
these 'timers' is updated by a hardware timer, and can be sychronised to any
other source (audio/video/timecode etc.). All these 'timers' also have their
own current tempo/song position. 

There needs to be (at least) one hardware clock in the system that is used
for periodic scheduling and updating virtual timers. Depending on the
available hardware the user can (probably at installation time) select which
driver to use for the sequencer. Drivers I had in mind:

	- system timer (100Hz on i386), available on all systems!
	- RTC (programmable up to 8192 Hz)
	- Clock source on soundcard, eg. GUS, CS4231A
	- Other (capable of generating interrups) clock source???

The hardware clock only has to keep on ticking at a known pace. Using 2
different timers at different frequencies could be usefull if we have to
cope with lost interrupts (do we???)

Frank.

========================---------------->
#define NAME    "Frank van de Pol"     
#define ADDRESS "mgr. Nelislaan 10"  
#define CITY    "4741 AB Hoeven"    
#define COUNTRY "The Netherlands"  
#define EMAIL   "F.K.W.van.de.Pol@inter.NL.net     -o)
                                                   /\\
Linux - Why use Windows, since there is a door?   _\_v

