Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] internal callback

Date2006-10-28 21:46
FromVictor Lazzarini
SubjectRe: [Cs-dev] internal callback
yes, that's what I mean: no threads whatsoever, because
this means csoundPerformKsmps() running on
that thread and calling FLTK functions which causes
the problems. It's not just a matter of csound calling
FLTK through the internal yield, but the host also
running csound through a timer callback or something
similar that is called by the application event loop.

FLTK is quite limited in the way it can handle threads,
so because FLTK code is called from inside opcodes
(and thus by csoundPerformKsmps()), any widget orchestra
cannot run on a multithreaded application, according
to FLTK guidelines. This effectively means that the whole
design of the widget opcode set is somewhat flawed.

What can be done is either: (1) disable widgets on
multithreaded hosts (by setting the FLTK configuration
flags that Istvan created) (2) create single-threaded
hosts for widget use. This is what we are doing in fact:
csound, winsound, csound5GUI, csound5 (OSX GUI) are
single-threaded and accept FLTK widgets. CsoundVST and
Lettuce are not and don't support them (so in fact they
should disable widgets).

Victor





>
> Hi Victor,
>
> I'm on Linux but I am also compiling csound with
> noFLTKThreads which #ifdef's out any FL:lock, unlock, etc.
> code, doesn't it? Or are you talking about the host
> frontends that shouldn't be able to compile because they
> have the FLTK locking code within them?  If so, then I've
> been misunderstanding something I think.  Should we add
> "#ifndef NO_FLTK_THREADS" in the csound5gui and CsoundVST
> code that contains locking?
>
> I'll set up WIn2K tomorrow and see what happens.
>
> steven
>
>
> On 10/28/06, Victor Lazzarini 
> > wrote: yes, but you are on Linux aren't you? This seems
> > to be a Windows XP issue (well, the threading issue is
> > that FLTK threading guidelines aren't being followed.
> > Works on Linux because we are lucky).
> >
> > Also, if you hadn't compiled FLTK with threads enabled,
> > you would not be able to build anything that uses
> > FL::lock
> >
> > Victor
> > >
> > > I don't think it matters if the library is built with
> > > threads as I have it built with threads here on Linux.
> > > What version of FLTK do you have? I'm using the latest
> > > stable 1.1.7.
> > >
> > > steven
> > >
> > >
> > > On 10/28/06, Michael Gogins 
> > > > wrote: Sorry, with MingW completely rebuilt with
> > > noFLTKthreads=1, it still doesn't work. I can run
> > > CsoundVST but not with widgets. The widget panel is
> > > > > dead. Does it make a difference if the FLTK
> > > library itself is built with threads enabled? >
> > > > Regards,
> > > > Mike
> > > >
> > > >
> > > > ----- Original Message -----
> > > > From: "Michael Gogins" 
> > > > To: 
> > > > Sent: Saturday, October 28, 2006 1:58 PM
> > > > Subject: Re: [Cs-dev] internal callback
> > > >
> > > >
> > > > > I'll check it out immediately. Thanks!
> > > > >
> > > > > Best,
> > > > > Mike
> > > > >
> > > > > ----- Original Message -----
> > > > > From: "Steven Yi" 
> > > > > To: ; "Developer
> > > > > discussions" 
> > > > > Sent: Saturday, October 28, 2006 12:57 PM Subject:
> > > > Re: [Cs-dev] internal callback >
> > > > >
> > > > >> Hi Victor and Michael,
> > > > >>
> > > > >> I think I fixed CsoundVST to work with FLTK
> > > > widgets now.  I've just >> checked in CsoundVST.cpp
> > > > and basically what I did was match up the >>
> > > > fltkFlags being passed in with the ones from
> > > csound5gui.  CsoundVST >> had it set to disable graphs
> > > > , FL::awake, and FL::wait, flags 4, 8. >>
> > > > (Csound5GUI has 4,8, and 16 on).  I recompiled and
> > > > was able to run >> examples with FLTK widgets, as
> > > > well as able to use the new virtual >> keyboard
> > > > along with it. >> >> I did notice though a segfault
> > > > at the end when I closed out CsoundVST. >> I don't
> > > > know if it was related to the widgets.  (Was working
> > > > with my >> non-debug build). >>
> > > > >> Michael, could you let me know if this has fixed
> > > > it up for you? >>
> > > > >> BTW: I've also been further improving the virtual
> > > > keyboard.  I just >> fixed an issue where if you
> > > > minimized it and reactivated it it was >> dead.  I
> > > > am still getting stuck midi-notes on occasion, but
> > > am now >> able to repeat this (seems if you run across
> > > > and release outside of >> the window it'll happen)
> > > > so hope to get that fixed up shortly. >>
> > > > >> I still have no idea why the graph display
> > > > doesn't show if the >> keyboard is on though.
> > > > >>
> > > > >> Thanks!
> > > > >> steven
> > > > >>
> > > > >>
> > > > >> On 10/28/06, Victor Lazzarini
> > > >  wrote: >>> yes, but is
> > > > the GUI (using FLTK) for your host in a separate >>>
> > > > thread from Csound? If it is, that is the problem.
> > > > >>> >>> Winsound uses Yield to update its GUI and
> > > > therefore >>> is completely single-threaded.
> > > > >>>
> > > > >>> Victor
> > > > >>>
> > > > >>> > But I have the same problem (dead widget
> > > > windows) with or >>> > without FLTK  threads. I may
> > > > have yet another thread in >>> > there, it was so
> > > >  long ago I have forgotten. Would that >>> > cause a
> > > > problem? >>> >
> > > > >>> > Regards,
> > > > >>> > Mike
> > > > >>> >
> > > > >>> > ----- Original Message -----
> > > > >>> > From: "Victor Lazzarini"
> > > >  >>> > To: "Developer
> > > > discussions" >>> >
> > > >  Sent: Saturday,
> > > > >>> > October 28, 2006 4:26 AM Subject: Re: [Cs-dev]
> > > > internal >>> > callback >>> >
> > > > >>> >
> > > > >>> > > No FLTK threads fixes it for widgets and
> > > > graphs, >>> > > but not widgets, graphs and
> > > > keyboard. >>> > >
> > > > >>> > > As for CsoundVST, if you use FLTK on a
> > > > separate >>> > > thread inside it for its GUI, then
> > > > that's why it >>> > > does not work. Winsound works
> > > > because it's >>> > single-threaded. >
> > > > >>> > > Victor
> > > > >>> > >
> > > > >>> > >>
> > > > >>> > >> Hi All,
> > > > >>> > >>
> > > > >>> > >> I just wanted to say I tried compiling with
> > > > >>> > noFLTKThreads >> last night and was able to
> > > > run the >>> > keyboard or widget >> windows, but not
> > > > the graph displays. >>> > >>
> > > > >>> > >> For CsoundVST, what happens when you try to
> > > > run CSD's >>> > with >> FLTK widgets?  (No Windows,
> > > > dead windows, etc.) >>> > >>
> > > > >>> > >> steven
> > > > >>> > >>
> > > > >>> > >> On 10/28/06, Michael Gogins
> > > >  >>> > wrote: >> > Could you
> > > > either take a look at the >>> > CsoundVST.cpp and >>
> > > > > CsoundVstFltk.cpp code (it is >>> > currently
> > > > built with >> > noFLTKThreads=0), or explain to >>>
> > > > > me what I would need to >> do to get FLTK widgets
> > > > to work >>> > in CsoundVST? > >> > Regards, >>> > >>
> > > > > Mike >>> > >> >
> > > > >>> > >> > ----- Original Message -----
> > > > >>> > >> > From: "Victor Lazzarini"
> > > >  >>> > >> > To:
> > > >  >>> > >> >
> > > > Sent: Friday, October 27, 2006 8:32 AM >>> > >> >
> > > > Subject: [Cs-dev] internal callback >>> > >> >
> > > > >>> > >> >
> > > > >>> > >> > >I have made the changes and tested on
> > > > Windows, all >>> > >> > seems OK, now in CVS. >Now
> > > > >>> > >> > > we need to test more carefully to see
> > > > if this has >>> > >> > > actuall fixed anything. But
> > > > >>> > >> > > I think this *at least* will prevent
> > > > future issues >>> > >> > > with host yield
> > > > callbacks. >>> > >> > >
> > > > >>> > >> > > Victor
> > > > >>> > >> > >
> > > > >>> > >> > > Victor Lazzarini
> > > > >>> > >> > > Music Technology Laboratory
> > > > >>> > >> > > Music Department
> > > > >>> > >> > > National University of Ireland,
> > > > Maynooth >>> > >> > >
> > > > >>> > >> > >
> > > > >>> > >> > >
> > > > >>> > >>
> > > > >>> >
> > > >
> > >
> > >
> ----------------------------------------------------------
> > > > >>> > >> > > --------------- Using Tomcat but need
> > > > to do more? >>> > Need >> > > to support web
> services, security? Get stuff >>> > done >> > > quickly
> > > > with pre-integrated technology to make >>> > your >>
> > > > > > job easier Download IBM WebSphere Application
> > > > >>> > Server >> > > v.1.0.1 based on Apache Geronimo
> > > > >>> > >> >>> > >
> > > > >>> >
> > > > >>>
> > >
> >
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > > > >>> > >> > >
> > > > _______________________________________________ >>>
> > > > > > > >> Csound-devel mailing list >>> > >> > >
> > > > Csound-devel@lists.sourceforge.net >>> > >> > >
> > > > >>> > >>
> > > > >>> >
> > > >
> > >
> > > >
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> > > > >>> > >> > > >> > >>> > >> >>> >
> > > >
> > >
> > >
> ----------------------------------------------------------
> > > > >>> > >> > --------------- Using Tomcat but need to
> do more? >>> > Need >> > to support web services,
> > > > security? Get stuff >>> > done >> quickly with
> > > > pre-integrated technology to make >>> > your job >>
> > > > > easier Download IBM WebSphere Application >>> >
> > > > Server v.1.0.1 >> > based on Apache Geronimo >>> >
> > > > >> >>> > >
> > > > >>> >
> > > > >>>
> > >
> >
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > > > >>> > >> >
> > > > _______________________________________________ >>>
> > > > > > >> Csound-devel mailing list >>> > >> >
> > > > Csound-devel@lists.sourceforge.net >>> > >> >
> > > > >>> > >>
> > > > >>> >
> > > >
> > >
> > > >
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> > > > >>> > >> > >> >>> > >> >>> >
> > > >
> > >
> > >
> ----------------------------------------------------------
> > > > >>> > >> --------------- Using Tomcat but need to do
> > > > more? Need >>> > to >> support web services,
> security? Get stuff done >>> > quickly >> with
> > > > pre-integrated technology to make your job >>> >
> > > > easier >> Download IBM WebSphere Application Server
> > > > >>> > v.1.0.1 based on >> Apache Geronimo >>> > >>
> > > > >>> > >
> > > > >>> >
> > > > >>>
> > >
> >
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > > > >>> > >>
> > > > _______________________________________________ >>>
> > > > > >> Csound-devel mailing list >>> > >>
> > > > Csound-devel@lists.sourceforge.net >>> > >>
> > > > >>> >
> > > >
> > >
> > > >
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> > > >>> > > > >>> > >
> > >
> > >
> ----------------------------------------------------------
> > > > >>> > > --------------- Using Tomcat but need to do
> > > > more? Need >>> > > to support web services,
> security? Get stuff done >>> > > quickly with
> > > > pre-integrated technology to make your job >>> > >
> > > > easier Download IBM WebSphere Application Server
> > > > v.1.0.1 >>> > > based on Apache Geronimo >>> >
> > > > >>>
> > >
> >
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > > > >>> > >
> > > > _______________________________________________ >>>
> > > > > > Csound-devel mailing list >>> > >
> > > > Csound-devel@lists.sourceforge.net >>> > >
> > > > >>> >
> > > >
> > >
> > > >
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> > > > >>> > >>> > >>> >
> > > >
> > >
> > >
> ----------------------------------------------------------
> > > > >>> > --------------- Using Tomcat but need to do
> more? Need to >>> > support web services, security? Get
> > > > stuff done quickly >>> > with pre-integrated
> > > > technology to make your job easier >>> > Download
> > > > IBM WebSphere Application Server v.1.0.1 based on
> > > > >>> > Apache Geronimo >>> >
> > > > >>>
> > >
> >
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > > > >>> >
> > > > _______________________________________________ >>>
> > > > > Csound-devel mailing list >>> >
> > > > Csound-devel@lists.sourceforge.net >>> >
> > > >
> > >
> > > >
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> > > >>> >>>
> > > >
> ----------------------------------------------------------
> > > > --------------- >>> Using Tomcat but need to do
> more? Need to support web services, security? >>> Get
> > > stuff done quickly with pre-integrated technology to
> > > > make your job easier >>> Download IBM WebSphere
> > > > Application Server v.1.0.1 based on Apache Geronimo
> > >>> >
> >
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > > > >>> _______________________________________________
> > > > >>> Csound-devel mailing list
> > > > >>> Csound-devel@lists.sourceforge.net
> > > > >>>
> > > >
> > >
> > > >
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> > > > >>> >> >>
> > >
> > > >
> ----------------------------------------------------------
> > > > --------------- >> Using Tomcat but need to do more?
> > > Need to support web services, security? >> Get stuff
> > > > done quickly with pre-integrated technology to make
> your job easier >> Download IBM WebSphere Application
> > > > Server v.1.0.1 based on Apache Geronimo >>
> > >
> >
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > > > >> _______________________________________________
> > > > >> Csound-devel mailing list
> > > > >> Csound-devel@lists.sourceforge.net
> > > > >>
> > > >
> > >
> > > > >
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> > > > > >
> > > > >
> > >
> > > > >
> ----------------------------------------------------------
> > > > > --------------- Using Tomcat but need to do more?
> > > Need to support web services, security? Get stuff done
> > > > > quickly with pre-integrated technology to make
> > > > > your job easier Download IBM WebSphere Application
> > Server v.1.0.1 based on Apache Geronimo >
> >
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > > > > _______________________________________________
> > > > > Csound-devel mailing list
> > > > > Csound-devel@lists.sourceforge.net
> > > > >
> > >
> > > >
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> > > > >
> > > >
> > >
> > > >
> ----------------------------------------------------------
> > > > --------------- Using Tomcat but need to do more?
> > > Need to support web services, security? Get stuff done
> > > > quickly with pre-integrated technology to make your
> job easier Download IBM WebSphere Application Server
> > > > v.1.0.1 based on Apache Geronimo
> > >
> >
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > > > _______________________________________________
> > > > Csound-devel mailing list
> > > > Csound-devel@lists.sourceforge.net
> > > >
> > >
> > >
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> > > >
> > >
> > >
> ----------------------------------------------------------
> > > --------------- Using Tomcat but need to do more? Need
> > > to support web services, security? Get stuff done
> quickly with pre-integrated technology to make your job
> > > easier Download IBM WebSphere Application Server
> > > v.1.0.1 based on Apache Geronimo
> > >
> >
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > > _______________________________________________
> > > Csound-devel mailing list
> > > Csound-devel@lists.sourceforge.net
> > >
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> > >
> ----------------------------------------------------------
> > --------------- Using Tomcat but need to do more? Need
> > to support web services, security? Get stuff done
> quickly with pre-integrated technology to make your job
> > easier Download IBM WebSphere Application Server v.1.0.1
> > based on Apache Geronimo
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > _______________________________________________
> > Csound-devel mailing list
> > Csound-devel@lists.sourceforge.net
> >
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> >
>
> ----------------------------------------------------------
> --------------- Using Tomcat but need to do more? Need to
> support web services, security? Get stuff done quickly
> with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on
> Apache Geronimo
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net