Discussion:
line break error ?
Rob Canning
2006-09-12 20:28:57 UTC
Permalink
hi again,

when writing to [textfile] in pd, pd sticks in a line break when a line gets too long

fomus doesnt like this

eg.

note 2 :off 4.25 :dur 0.25 :note 63 :marks (:portato :accent :PP);
is fine

note 2 :off 4.25 :dur 0.25 :note 63 :marks (:portato :accent :PP :marcato);

where the marcato is on the next line
gives this error

;;; *****ERROR*****
;; End-of-File on #<String-Input Stream>

maybe it should be that fomus only percives a line break when it sees a ;

is there a solution to this ?

thanks
rob


-----------------------------------------------------------------
Find the home of your dreams with eircom net property
Sign up for email alerts now http://www.eircom.net/propertyalerts
David Psenicka
2006-09-12 22:09:19 UTC
Permalink
Post by Rob Canning
hi again,
when writing to [textfile] in pd, pd sticks in a line break when a line gets too long
fomus doesnt like this
eg.
note 2 :off 4.25 :dur 0.25 :note 63 :marks (:portato :accent :PP);
is fine
note 2 :off 4.25 :dur 0.25 :note 63 :marks (:portato :accent :PP :marcato);
where the marcato is on the next line
gives this error
;;; *****ERROR*****
;; End-of-File on #<String-Input Stream>
maybe it should be that fomus only percives a line break when it sees a ;
It should give a more informative error (the "file" is one line of text
that was read in). I've added in support for a "\" character that will
tell fomus to continue reading the next line of text before parsing
(will be in the next update).

I'll have to think about how to add end-of-line delimiter,
though--fomus/Lisp recognizes ";"s as comment marks, so I might choose a
different character for this, or just have fomus look for the "note" or
"init" or "part" marker at the beginning of line and only begin parsing
new lines when it sees this (this seems more appealing to me)... I'll
try to get this in the next update--I've been working lately on
improving the command-line interface in general.

Also, BTW if anyone happened to run into this working w/ input files,
I've removed any need to use Lisp formats like "#S(fm:instr ..." or
"#Z(fm:timesig ..." to define objects in certain places (pretty
confusing and ugly-looking, and only a Lisp programmer would guess to
specify something like that). I'll update the docs to reflect all these
changes.

Thanks,

-David
David Psenicka
2006-09-12 23:20:20 UTC
Permalink
Actually, (I had forgotten about this alternate syntax, I'll
double-check the docs to make sure it's in there)--you can wrap
parenthesis around lines like this:

(NOTE 0
:voice 1
:off 7.5
:dur 0.5
:note 84.0
:marks ((:tremolo 1/4)))
(NOTE 0
:voice 1
:off 8.0
:dur 0.5
:note 72.0
:marks ((:tremolo 1/4)))

So if the line starts with an open-parenths, fomus reads everything up
to the matching close-parenths and ignores line-breaks--I think this
shouldn't be too hard to do from pd...

-David

Loading...