hi again,

> Well, the "engine" is actually a "language interpreter". I don't think
> it makes much sense to have a configuration file for a language
> interpreter. This means the semantics of the language vary from site to
> site, which is a dangerous idea. PHP tried it, and you'd be crazy to say
> it's a good idea (magic quotes, anyone?). The Python lanugage itself has
> no configuration. The 'python' executable allows some configuration,
> such as setting environment variables like PYTHONPATH. Still, this isn't
> anything you couldn't do in the python language (sys.path), and in fact
> there are quite a few usages of python which do not include these
> configuration channels (most of them python interpreters embedded in
> other applications)

i see your point ... and actually, the search paths are the only point,
where i am currently configuring the language ... however future
settings will include the state of the audio engine and stuff like
that ...

> The engine is completely useless without an interface. Without it, it's
> a concept or maybe a library implementing that concept, but not
> something that a computer can execute. What you may have are multiple
> interfaces to the same engine, and different configuration files for
> each. Some interfaces may provide a superset of the others, so it would
> make sense to be able to share configuration files. What do all
> interfaces have in common? The ability to evaluate the nova language.

the engine is not useless without the interface at all:
- there still exists the text-based patcher language, that i developed
last year ... 
- there are people, who do not use a user interface for performance ...
i personally haven't used a graphical interface for any of my
performances for more than two years and currently i am using the nova
command-line interpreter to perform with nova 
- there are people, who may want to run it on headless machines like
this: http://dieb13.klingt.org/content/images/mix/klopfer/show.html

> If the engine provides a general mechinism to store and retrieve numbers
> (variables, essentially), then I don't see why anyone should say the GUI
> must not use them for its configuration. Sure, any patch that depends on
> their existence is invalid outside the context of the GUI, but if this
> is just the GUI configuration patch, why does this matter?

the engine would require a bit more than a (hierarchical)
general-purpose property mechanism ... thinks that i currently think of
are:
- accessing the property mechanism from within the language is not
realtime-safe, so some indirection is required (message-thread to system
thread)
- when setting a specific property, the gui clients have to be informed,
requiring an additional notification
- indirection ... you load a patch when starting the interpreter (gui
thread), which the objects are created (system thread), and synchronized
with the interpreter (message-thread). loadbangs are executed
(message-thread), properties are set (system thread), the observers are
notified (observer thread) and finally the gui is notified (gui
thread) ... not mentioning, that the configuration patch should probably
be closed as you don't want to have it laying around in (locked)
memory ...it is quite a lot of overhead, that i wouldn't mind if i can
avoid it ...
- using a text file as configuration file (xml, yaml, json, ini) is way
more easier to read and/or customize with a text-editor, trying to edit
a nova-patch file by hand, you will go crazy after 30 seconds (my own
experience from writing the first patches in a text-editor about one
year ago)


> If what
> you want is a program which displays your pd patch graphically, and
> changes the background to flashing teal and pink every time you enter
> the chorus of your song, why should you have to do it from scratch when
> there is already a program that does the hard part?

well, what i was talking about, were the _global_ preferences. in the
case you describe, it should be perfectly possible to customize single
(or groups of) gui objects via messages to the instance as is a common
practice in pd/max ...

i will keep your proposal in my mind ... but from what i see the
situation now, it just doesn't feel right to me ...

cheers, tim

--
[EMAIL PROTECTED]    ICQ: 96771783
http://tim.klingt.org

Every word is like an unnecessary stain on silence and nothingness
  Samuel Beckett

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
nova-dev mailing list
[email protected]
http://klingt.org/cgi-bin/mailman/listinfo/nova-dev
http://tim.klingt.org/nova

Reply via email to