| Sorry for double posting. In other words, the orchestra is like C, and
the score is like HTML. Schedule and friends are like the code for the
JS engine etc.
Adam
On 4/19/11, Adam Puckett wrote:
> I didn't consider hyperlinks in my original comparison -.-
>
> Actually I was thinking of pages with no links. And here's another
> thing: the orchestra is like the language the browser is written in,
> so opcodes like schedule, which trigger instrument events, "script"
> the score, which is like the HTML the pages are written in. It's like
> the Internet speaks UDP instead of TCP.;)
>
> On that note, I am also interested somewhat in sockets programming. Is
> UDP/IP possible?
>
> Adam
>
> On 4/19/11, Justin Glenn Smith wrote:
>> That's how I took it, thus the comparison to IEs notorious unreliability
>> (if
>> orchestra code is like javascript, then we are using a browser that needs
>> to
>> be restarted for every web page).
>>
>> Adam Puckett wrote:
>>> Justin,
>>>
>>> When I was talking about the client/server model, I was thinking
>>> specifically of JavaScript-enabled Web browsers - sorry I wasn't clear
>>> about that before. What I mean is:
>>>
>>> To me the orchestra is in a sense a programming language. Opcodes like
>>> schedule and event_i are to me like using JavaScript. On the other
>>> hand, using Python to generate i-events in the score is like using
>>> server-side scripting languages. I know it's not an exact comparison,
>>> but I was thinking from the UI point of view.
>>>
>>> Adam
>>>
>>>
>>>
>>> On 4/19/11, Justin Glenn Smith wrote:
>>>> For larger projects I treat my main programming language as a compiler,
>>>> the
>>>> csound syntax as an IR, and the csound command as a postprocessor for
>>>> the
>>>> IR
>>>> that the compiler generates. Sadly, in this analogy, the VM and
>>>> assembled
>>>> bytecode are deeply intertangled with the postprocessor in a single
>>>> execution context. And as such the bytecode and VM seem to be
>>>> unavailable
>>>> as
>>>> separate entities for examination, reuse, or tweaking.
>>>>
>>>> I have considered the desirability (but not yet looked very close at
>>>> the
>>>> *feasability*) of breaking csound down into a series of independent
>>>> executables: the sorter that would simplify and order a block of score
>>>> syntax and generate a "canonical score representation", the instrument
>>>> compiler which would turn a given instrument into a directed graph of
>>>> the
>>>> opcodes, and the actual csound VM which would load directed graphs
>>>> describing ways to process events, and simplified scores describing
>>>> those
>>>> events, and output audio. The graphs would essentially be plugins, and
>>>> the
>>>> simplified scores would be similarly modular and ready to immediately
>>>> be
>>>> loaded into memory without further processing (except of course each
>>>> would
>>>> have to be sorted and intermixed with already loaded instruments and
>>>> events
>>>> as appropriate). If you just ran "csound" as a command, it would run
>>>> each
>>>> of
>>>> these in the proper order and behave just like csound does now. It does
>>>> something kind of like this already with the
>>>> .srt files that can be optionally saved, right?
>>>>
>>>> It's only to be expected that a DSL written and maintained by people
>>>> mainly
>>>> interested in the target domain, moreso than the domain of language
>>>> design,
>>>> wouldn't be state of the art. I would include myself in that category
>>>> of
>>>> people mainly interested in the target domain of music, with a passing
>>>> interest in compiler and language design. But I am confident that we
>>>> would
>>>> have quite a bit to gain if we got a pragmatically minded PL design
>>>> expert
>>>> to give some suggestions for simplifying and modularizing csound for
>>>> version
>>>> 6. In my (admittedly non-expert) opinion this modularization I
>>>> suggested
>>>> would be the best way to implement the "dynamically loading new
>>>> instrument
>>>> definitions" request that some folks here have made.
>>>>
>>>> The client/server metaphor almost works, except you need to restart the
>>>> client after making trivial requests (in that way maybe it is like IE
>>>> in
>>>> terms of client robustness ;)).
>>>>
>>>> Adam Puckett wrote:
>>>>> Nil,
>>>>>
>>>>> Back to your original question, you can also do the following, which
>>>>> breaks down the math a little:
>>>>>
>>>>> i1 0 1 10000 [~*(8-3)+3]
>>>>>
>>>>> And regarding scripting languages, as Victor stated earlier, the score
>>>>> is simple so that any program (not to mention language, e.g. Python)
>>>>> can generate it. I am someone who uses Python to generate massive
>>>>> scores to create pop music in Csound, which mostly involves using
>>>>> loops and conditional statements. The Csound score language, for good
>>>>> reason in my opinion, does not support high amounts of looping because
>>>>> there are those other languages that do it well. In fact, I have
>>>>> thought over the past few days about Csound, in the "language" sense,
>>>>> as somewhat of a client-server model in this way, with other scripting
>>>>> languages "serving" Csound orchestras and scores. I might write an
>>>>> article for the Csound Journal if anyone would be interested to hear
>>>>> more on this subject.
>>>>>
>>>>> Hope this helps.
>>>>>
>>>>> Adam
>>>>>
>>>>> On 4/19/11, Victor Lazzarini wrote:
>>>>>> Well, we have been collecting suggestions for a wishlist. You are
>>>>>> welcome to contribute to it.
>>>>>> On 19 Apr 2011, at 09:18, Nil Geisweiller wrote:
>>>>>>
>>>>>>> On Tue, Apr 19, 2011 at 11:04 AM, Victor Lazzarini
>>>>>>> wrote:
>>>>>>>> And possibly the use of third-party tools would become more
>>>>>>>> unwieldy. The
>>>>>>>> thing about Csound's score language is that it is simple and
>>>>>>>> any program can spill it out. Since there are lots of good
>>>>>>>> scripting
>>>>>>>> languages out there, I don't think we need to reinvent the wheel.
>>>>>>> hmmm, not reinventing the wheel, but it would not cost much in the
>>>>>>> score language complexity to have a bit larger set of operators.
>>>>>>> Since
>>>>>>> the score language handles loops it can already do a lot of stuff.
>>>>>>>
>>>>>>> Nil
>>>>>>>
>>>>>>>> Victor
>>>>>>>>
>>>>>>>> On 19 Apr 2011, at 08:27, Nil Geisweiller wrote:
>>>>>>>>
>>>>>>>>> I think it'd be nice if the scoring language was slightly more
>>>>>>>>> expressive, that way there would be no need for third-party
>>>>>>>>> languages
>>>>>>>>> (like Python) to generate sophisticated score.
>>>>>>>> Dr Victor Lazzarini
>>>>>>>> Senior Lecturer
>>>>>>>> Dept. of Music
>>>>>>>> NUI Maynooth Ireland
>>>>>>>> tel.: +353 1 708 3545
>>>>>>>> Victor dot Lazzarini AT nuim dot ie
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Send bugs reports to the Sourceforge bug tracker
>>>>>>>>
>>>>>>>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
>>>>>>>> "unsubscribe
>>>>>>>> csound"
>>>>>>>>
>>>>>>>>
>>>>>>> Send bugs reports to the Sourceforge bug tracker
>>>>>>>
>>>>>>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>>>>>> Discussions of bugs and features can be posted here
>>>>>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
>>>>>>> "unsubscribe csound"
>>>>>>>
>>>>>> Dr Victor Lazzarini
>>>>>> Senior Lecturer
>>>>>> Dept. of Music
>>>>>> NUI Maynooth Ireland
>>>>>> tel.: +353 1 708 3545
>>>>>> Victor dot Lazzarini AT nuim dot ie
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Send bugs reports to the Sourceforge bug tracker
>>>>>>
>>>>>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>>>>> Discussions of bugs and features can be posted here
>>>>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
>>>>>> "unsubscribe
>>>>>> csound"
>>>>>>
>>>>>>
>>>>>
>>>>> Send bugs reports to the Sourceforge bug tracker
>>>>>
>>>>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>>>> Discussions of bugs and features can be posted here
>>>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
>>>>> "unsubscribe
>>>>> csound"
>>>>>
>>>>>
>>>>
>>>>
>>>> Send bugs reports to the Sourceforge bug tracker
>>>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>>> Discussions of bugs and features can be posted here
>>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body
>>>> "unsubscribe
>>>> csound"
>>>>
>>>>
>>>
>>>
>>> Send bugs reports to the Sourceforge bug tracker
>>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>> Discussions of bugs and features can be posted here
>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>>> csound"
>>>
>>>
>>
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>> https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>> csound"
>>
>>
>
Send bugs reports to the Sourceforge bug tracker
https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
|