[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: New in CVS
From: |
Unkargherth |
Subject: |
RE: New in CVS |
Date: |
Sat Apr 21 05:18:02 2001 |
> -----Mensaje original-----
> De: address@hidden [mailto:address@hidden nombre de
> David O'Toole
> Enviado el: martes, 17 de abril de 2001 07:04
> Para: address@hidden
> Asunto: re: New in CVS
>
>
>
> This won't work. If you keep your own copy of the frequency table you'll
> break the system-tune feature.
>
> The user /must/ be able to re-tune the note table for all machines
> globally, otherwise Octal would be useless for integrating synthetic
> instruments with live/impromptu recordings, where very often you will
> not get everything recorded with a perfect 440.0 Hz base.
Ok. I get It. So then should be a way ( in gearlib or in octal core )
to access this kind of information outside the machines. Posibly and
external
enable call to functions in package will work if'its posible
( by the way I'll take out this functions from GR_Conv as soon as i can)
>
> ------------------------
> ---David: What's the reason fro this two
> ---methods beign deeclared as static?
> ------------------------
>
> Initialize (also ox_init) /has/ to be static because it will only be
> called when it's impossible for any machine instances to exist. The init
> function is where you tell Octal about your machine type (by filling in
> that machine_type structure.) Octal needs this information to create an
> instance of your machine, and since it doesn't get the information till
> Initialize is called, there is no way to call "object.Initialize" since
> no objects can exist before then.
>
> Describe (ox_desc) is just your machine library's function for making
> its own parameter values into human-readable text in a consistent way.
> It has nothing to do with machine instances, and because of this, there
> are places in the host where there's not going to be any machine
> instances handy to pass to it if it weren't static.
>
OK. Now I'm making a machine , MGEN that uses Oscillator class to have
a two Osc generator one maodulating ( AM or FM selectable) the other.
As you sougested, thes Oscillatros are initialized, and he external
tables loaded at init time. and I' dont touch it anymore. The cuestion is:
The numbers of waves depends on the tables read, and if I try to access
the function Oscillator::GetWaveNum ( renamed, before was
Oscillator::GetnWaves)
from MGen::Initialize it doesn't compiles, as it's static, and haven't
access to
oscillator object, cause the machie object don't exixst at that point. Right
?
The same in the call to get the wavename form MGen::describe.
Now. How i Can do that ? I see no way but it's really need it ?
I suspect that if you add a Machine::Reset funcion to ox_wrappers that it's
guaranteed
it's called inmediately after Initialize method, but with the object
instantiated and working
everything can be done there ( you have all the attributes and methods off
your machine, plus
acces to all package,core,etc method's and functions) . Plus this function
swould be useful if
somebody need to reset his machine in any moment ( all the value-
inizialization could be there)
An , once we started to request, Don't be a good idea to add a help function
for the machine?
It could open an info dialog, or spawn an external command to show info, get
tips,etc ?
More on Gearlib. Do you think the Oscillator Object should go in GearLib.
It's generic, has nothing
to do with machine itself.... ?
For the records: My real Name is Marti Trasmonte i Soro, but I prefer to be
know and be referred as
my alias, Unkargherth
---------------------------------------------
Life is deadly. It always manages to kill you
Unkargherth <address@hidden>
http://www.unkargherth.f2s.com
----------------------------------------------