Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] PortMIDI cleanup

Date2005-11-04 20:29
FromVictor Lazzarini
SubjectRe: [Cs-dev] PortMIDI cleanup
Tclcsound is both a frontend and language wrapper
for Tcl/Tk. With it you can control csound using
tcl scripts. Two basic applications spring to mind:
GUIs can be built using Tk commands; A csound server
can be set up to receive incoming commands via TCP
from a remote client.

My motivation was actually to provide the infrastructure
for Cecilia to use the csound API. However, this thing
is proving to be useful for applications beyond it.

I have not yet announced or explained it in the csound
list as I want to complete a basic set of commands
(I think it's done now, but not committed) and I want
to test it a little more, providing examples as well.

You should be able to build it, if you have Tcl/Tk
(8.4 or later recommended) installed and define
buildTclcsound=1. I have tested it in all three platforms
and it seems to build OK.

You can find an example script for cswish in
examples/tclcsound.

Victor

>
> Hi All,
>
> I haven't had a chance to get tclcsound running and am
> curious what it is. =)  Could someone post a screenshot?
>
> Thanks!
> steven
>
>
> On 11/4/05, Victor Lazzarini 
> > wrote: >
> > > Hi Victor,
> > >
> > > After some rigorous testing, I have found some
> > > interesting anomalies.
> > >
> > > 1) As a solution to try and not have to see the
> > > unsightly "libxxx.dylib  is not a Csound plugin
> > > library" I tried copying the tclcsound.dylib to
> > > /usr/local/bin (in other words in the $PATH). What
> > > happens is that I  can run the test.tcl but I get
> > >
> > > SetFrontProcess failed,-606
> >
> > tclcsound.dylib is a tcl module, that needs to be loaded
> > with something like
> >
> > load tclcsound.dylib Tclcsound
> >
> > or package require
> >
> > this is for people to load the tclcsound commands on
> > a tclsh or wish. If you are using cswish or cstclsh, the
> > commands are statically linked to the interpreter
> program. >
> > I am not sure what you are doing exactly. However I am
> > also not sure exactly about paths for tcl modules.
> >
> > >
> > > When clicking on the window to try and move it. The
> > > buttons still  respond.
> > >
> > > Re-executing the scons command and producing another
> > > dylib /  executables in the same directory as Csound5
> > > solves the problem.
> > >
> > > The sliders, buttons, etc seem to operate at the same
> > > speed / latency  as FLTK if not actually a little
> > > faster. This is on Mac OS 10.3.9.
> > >
> > >  From what I understand Mac OS 10.4.x is the first to
> > > include Tcl/Tk as  part of the OS so it is possible
> > > Apple has "improved" the  implementation for it's
> > > release and is the subsequent cause of the  latency
> > > that is being reported.
> >
> > a-ha, so that might be the problem! I have to have a
> > look at it myself. On my 10.3.9 old laptop, it works as
> > you described.
> >
> > > 2) Another curious problem I have encountered recently
> > > is when making a  CSD file intended for realtime
> > > performance, I experimented by not  initializing any
> > > f-tables in the score or orchestra in favor of an
> > > attempt to try an initialize them purely from the
> > > csTable method. Unfortunately when I do csCompile and
> > > it returns 0, then I declare all  csTables, it aborts
> > > notes due to a missing f-table if I do a csPlay,  but
> > > performance is as expected with a csNote.
> >
> > I think it is because the event function is executing
> > after the first call to csoundKsmps or csoundBuffer.
> > A solution for the above problem might be to declare the
> > ftables as blank tables (eg. f1 0 1024 7 0 1024 0) and
> > then re-initialise then as you need with csTable.
> >
> > > Is this because csPlay explicitly looks to the score ?
> >
> > No csPlay just sets a thread rolling with calls to
> > csoundKsmps
> > or csoundBuffer. But as I said it does not guarantee
> > that the ftable event call happens before it.
> >
> > Thanks. I am actually quite pleased with the way this is
> > shaping up now. Today I tried my listener script with
> > pd and I can control cstclsh from it quite well (using
> > netsend). It might open up possibilities of
> > client-server csound set-ups with a variety of client
> > programs (so far I have a wish script and a PD patch,
> > but it is possible to write custom clients with a
> variety of languages). >
> > Victor
> >
> > >
> > > -David
> > >
> > > On Nov 4, 2005, at 3:31 AM, Victor Lazzarini wrote:
> > >
> > > > Good. I have been working on a few more commands
> > > > for it, which I'll commit next week, alongside more
> > > > examples.
> > > >
> > > > I have been playing with socket connections and it
> > > > is possible with cstlcsh to set up a server and
> > > > control it via network connections (as an
> > > alternative to OSC). >
> > > > By the way, would you be able to test cswish with
> > > > the test.tcl example script? I had reports of a
> > > > lag time in the slider response, but here it works
> > > > OK, as fas as I can see.
> > > >
> > > > Victor
> > > >
> > > >>
> > > >>
> > > >> On Nov 3, 2005, at 2:12 PM, Victor Lazzarini wrote:
> > > >>
> > > >>> Would you consider it fixed then?
> > > >>>
> > > >>> Victor
> > > >>
> > > >> I certainly would, as now the cstclsh aspect of the
> > > >> language makes  Csound seem comparable to something
> > > like >> ChucK. Only with the entire  TCL and Wish
> > > libraries at the >> user's disposal!
> > > >>
> > > >> IMHO, the addition of Pt_Stop() to a Csound
> > > performance >> makes Csound's  realtime MIDI
> > > implementation improved! >>
> > > >>
> > > >> -David
> > > >> (now to learn about CoreMIDI to write a native
> > > driver....)
> > >
> > >
> > >
> > >
> > >
> -------------------------------------------------------
> > > SF.Net email is sponsored by: Tame your development
> > > challenges with Apache's Geronimo App Server. Download
> > > it for free - -and be entered to win a 42" plasma tv
> > > or your very own Sony(tm)PSP.  Click here to play:
> > > http://sourceforge.net/geronimo.php
> > > _______________________________________________
> > > Csound-devel mailing list
> > > Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> > >
> > -------------------------------------------------------
> > SF.Net email is sponsored by:
> > Tame your development challenges with Apache's Geronimo
> > App Server. Download it for free - -and be entered to
> > win a 42" plasma tv or your very own Sony(tm)PSP.  Click
> > here to play: http://sourceforge.net/geronimo.php
> > _______________________________________________
> > Csound-devel mailing list
> > Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> >
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by:
> Tame your development challenges with Apache's Geronimo
> App Server. Download it for free - -and be entered to win
> a 42" plasma tv or your very own Sony(tm)PSP.  Click here
> to play: http://sourceforge.net/geronimo.php
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-11-04 21:14
FromSteven Yi
SubjectRe: [Cs-dev] PortMIDI cleanup
AttachmentsNone