[Csnd] Actual situation concerning FLTK widgets
Date | 2019-09-10 13:39 |
From | Bernard Geyer |
Subject | [Csnd] Actual situation concerning FLTK widgets |
I just tested the FLTK examples from IainMccurdyExamples. It seemed to be a very interesting project, much more complete than all actual GUI widgets, specialy with the possibility of multiple windows and tabs in each windows that can also be scrolled and other goodies like to have different kind of sliders. Another nice feature is the possibility to change the text of the widgets from csound. I suppose, this offer f.e. the possibility to have a group of buttons containing the name of the sound files of a whole folder. Unfortunaly, it works correctly on Windows (or Linux too maybe), but not on Mac OS X. There are horrible clicks that happens when moving any slider, even when using port opcodes. I should have read before the following thread here: http://csound.1045644.n5.nabble.com/Fw-Current-Viability-of-FLTK-td5727452.html specially the message from Iain McCurdy himself. It would be nice to use all the features of FLTK in a more modern GUI, based on Qt, Juce or something else, eventually in another application connected thru OSC. Best, Bernard P.S. I tested the html examples in CsoundQt, there is a problem with the buttons: they send their value when the button is released instead of when the button is pushed. This is a big problemr in a music application. -- Sent from: http://csound.1045644.n5.nabble.com/Csound-General-f1093014.html Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2019-09-10 14:00 |
From | Victor Lazzarini |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
Unfortunately, the FLTK library doesn’t play well with the MacOS objective-c graphics. In this system, FLTK is used with no threads, which might explain the behaviour, as every time you touch the interface, the audio thread is interrupted causing the clicks or the sound to stop. Threads in FLTK cause Csound to crash on MacOS so that’s why they are not used. Maybe it’s possible to make them work, but I do not think any of us core developers will be spending time trying to hack FLTK to behave. If anyone wants to do this, they’re welcome. ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 10 Sep 2019, at 13:39, Bernard Geyer |
Date | 2019-09-10 14:45 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
Could it be possible to disable these opcodes in the macOS build and add a warning in the manual, that these opcodes are not present in macOS? On a side note, with csoundqt and fltk not being supported anymore there is no simple way to share a .csd file with a user interface that will work out of the box on all major platforms On 10.09.19 15:00, Victor Lazzarini wrote: > Unfortunately, the FLTK library doesn’t play well with the MacOS objective-c graphics. > In this system, FLTK is used with no threads, which might explain the behaviour, as > every time you touch the interface, the audio thread is interrupted causing the > clicks or the sound to stop. Threads in FLTK cause Csound to crash on MacOS > so that’s why they are not used. > > Maybe it’s possible to make them work, but I do not think any of us core developers > will be spending time trying to hack FLTK to behave. If anyone wants to do this, they’re > welcome. > > ======================== > Prof. Victor Lazzarini > Maynooth University > Ireland > >> On 10 Sep 2019, at 13:39, Bernard Geyer |
Date | 2019-09-10 15:19 |
From | Victor Lazzarini |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
It’s first time I hear that CsoundQT is not supported anymore. ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 10 Sep 2019, at 14:45, Eduardo Moguillansky |
Date | 2019-09-10 16:19 |
From | Steven Yi |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
I got the impression from Tarmo's email is that CsoundQt was in maintenance mode. That doesn't prevent anyone else from contributing and/or taking up maintaining the application. As for user interface, WebAudio Csound works pretty well and designing an interface for HTML has many options. I'm going to be assembling some templates/examples for the workshop at the Csound Conference and will try to cover a number of use cases including MIDI I/O and realtime audio processing. (I will be posting the examples once the workshop is complete, as I'll probably be working on them up until the conference. ;) ) One todo I have is looking into loading opcode plugins; I think there's a path to make that work but just need to spend the time to investigate. On Tue, Sep 10, 2019 at 10:20 AM Victor Lazzarini |
Date | 2019-09-10 16:50 |
From | Michael Gogins |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
Csound.node in the csound-extended github repository runs in NW.js. It's faster than WebAssembly and can access the local filesystem. All the HTML goodies can be used. On Tue, Sep 10, 2019, 11:20 Steven Yi <stevenyi@gmail.com> wrote: I got the impression from Tarmo's email is that CsoundQt was in |
Date | 2019-09-10 18:44 |
From | Tarmo Johannes |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
HI, Yes, Victor is correct - I am going to maintain CsoundQt, I it will not disappear soon. I agree with Steven and Michael - Csound + html is very likely something that will be more important in future. Greetings, tarmo Kontakt Michael Gogins (<michael.gogins@gmail.com>) kirjutas kuupäeval T, 10. september 2019 kell 18:50:
|
Date | 2019-09-10 22:36 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
Just by reading the answers I realize that we have very different needs, and that is fine. For myself, I need to be able to give a student or a musician, who has at most been exposed to something like max a .csd file and he/she should be able to figure out how to run that. Up to now, csoundqt would sort of fill this niche, although quite bug-ridden in macOS (which is what 99% of all students / musicians use), and too complex in general. All other major computer-music frameworks have this solved (pd, supercollider, etc). Of course it's great to be able to run csound code in so different environments, but I think we should all share an interest in designing a better / more polished frontend experience. eduardo On 10.09.19 17:19, Steven Yi wrote: > I got the impression from Tarmo's email is that CsoundQt was in > maintenance mode. That doesn't prevent anyone else from contributing > and/or taking up maintaining the application. > > As for user interface, WebAudio Csound works pretty well and designing > an interface for HTML has many options. I'm going to be assembling > some templates/examples for the workshop at the Csound Conference and > will try to cover a number of use cases including MIDI I/O and > realtime audio processing. (I will be posting the examples once the > workshop is complete, as I'll probably be working on them up until the > conference. ;) ) One todo I have is looking into loading opcode > plugins; I think there's a path to make that work but just need to > spend the time to investigate. > > On Tue, Sep 10, 2019 at 10:20 AM Victor Lazzarini > |
Date | 2019-09-11 01:32 |
From | Michael Gogins |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
I have contributed to CsoundQt and developed my own Csound front ends, including CsoundVstMain, CsoundHtml5, and of course the Csound for Android app. I also have used NW.js, SciTE, and Atom as front ends for Csound. So I think I have some experience in this area. I agree that CsoundQt provided a good selection of features for the general user of Csound. I would summarize these as: 1. Run any CSD, ORC/SCO combination, or HTML file with one click. 2. Provide syntax coloring and context-sensitive help. 3. Provide a form builder for Csound control widgets. 4. Provide sensible defaults for Csound command-line options. 5. Install easily. 6. Use the core Csound API for compatibility across versions of Csound. 7. Come with an extensive library of examples that work (this is probably the most important item). There are some things about CsoundQt that I did not like. 1. The HTML5 integration depended on Qt's WebEngine, for which the app had to provide some glue code to inject JavaScript proxy classes for the native Csound object. 2. The key bindings were idiosyncratic in some cases. 3. Copy and paste did not work for me very well between CsoundQt and other editors. 4. The use of defaults and presets was not intuitive. If I were to improve CsoundQt, I would: 1. Change from the WebEngine to the Chromium Embedded Framework, which is more feature complete and more performant. 2. Make key bindings like other editors on the same operating system, with user customizability. 3. Change the copy and paste behavior to work like other editors. 4. Simplify the settings pages, and assume that expert users will simply specify command line flags or use the |
Date | 2019-09-11 03:38 |
From | Steven Yi |
Subject | [Csnd] Csound Frontend (was Re: [Csnd] Actual situation concerning FLTK widgets) |
I think it's good discuss the topic of frontends since we haven't had a conversation about this kind of thing in a while. I'll describe my perspective so the comments are understood through that lens. I myself don't use CsoundQt, nor do I teach with it, so I can't say I know the issues involved there. The students I have use Windows as that is what is in the classrooms, but I am in a college of computing rather than at a conservatory. I am using a web-based editor for teaching at the moment (live.csound.com, though I will switch to ide.csound.com once that is ready), and it has worked for me on my Mac as well as in the classroom. I think if I introduce a desktop csound frontend, I will probably use Blue or Cabbage as they would work better for the particular topics I am covering in my course, but I will likely not have time to go into either program this semester unfortunately. I was not aware CsoundQt was not running well, but the last time I tried it was on Windows and it worked for the small amount of things I tested. I downloaded it just now on Mac and had problems. Using the default CsoundQt settings with portaudio I kept getting messages of '*** PortAudio: error: -9998: Invalid number of channels'. I had to to either turn off using CsoundQt's settings for audio and just use CsOptions or switch to CoreAudio driver to get Csound to run. When running, I ran into the app freezing, sometimes asking for microphone access or sometimes just frozen requiring force quitting. I don't know if the situation is different on other versions of OSX, but on 10.14.6 it was not a great experience and very different than what I remember from running on Windows. As for complexity, I did find the UI feeling a bit cluttered to start, but reorganizing things and leaving just the code editor, console, and opcode help windows there felt good to me. If I used CsoundQt, I'm not sure I'd ever use the live events, HTML view, or Python-related features. I also tend to use dark themes in most of my software so I did not find the code editor easy to look at. I do like that CsoundQt has a GUI builder rather than having to use code to create GUIs. Right now, I'm focused on the Web IDE for teaching and (hopefully) for community building purposes, csound-live-code for performance, and Blue for my own composing work. When I do live coding on the desktop I typically to use vim, but I would like to revisit the Csound VS Code plugin sometime to add a few more features like support for live coding. Regarding GUIs and Csound, the Web IDE won't have an interface builder to start but it's a part of the roadmap for later phases. For myself, I use Blue's interface builder when I build GUI instruments and effects, but that doesn't overlap with the use cases that most people here use UI's for when working with Csound. I do have hopes that the Web IDE will be a good and useful environment for working with Csound. Ed, Hlodver, and I are working on this now but it is not quite ready for general testing yet (hopefully soon). For my mention of HTML and WebCsound, it was just to discuss a possibility and perhaps because it's a lot on my mind. Thinking about it in terms of appropriateness for musicians in general, I am not so sure. It'd be very flexible and powerful if you're already versed in web programming, but I imagine it would be a steep learning curve otherwise. That said, being able to deliver music projects that "just run" via browser has been a pretty amazing experience for me. Perhaps a combination of the Web IDE for general usage and WebCsound+HTML/JS/CSS for custom applications can address many of the use cases. On Tue, Sep 10, 2019 at 5:36 PM Eduardo Moguillansky |
Date | 2019-09-13 09:20 |
From | Mauro Giubileo |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
If you need a GUI for your Csound code, you could try Cabbage (https://cabbageaudio.com/). It's an opensource project by Rory Walsh (based on the Juce framework) that allows to make very nice GUIs for Csound programs, and you can easily export your work as a VST or AU plugin. It works nicely on Windows and MacOSX and it should work on Linux too (I haven't tried yet on Linux). This is an example of what you can get with its widgets: It has a nice Csound IDE too, with syntax highlighting: Regards, --- Il 2019-09-10 14:39 Bernard Geyer ha scritto:
|
Date | 2019-09-13 09:52 |
From | Rory Walsh |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
Note the IDE looks a lot better now thanks to Maruo who added custom themes! I should also mention that Csound can be used to control all aspects of any widget on-screen. As it happens, I'm in touch with Bernard off-list about more user-friendly multi-channel configs in Cabbage. We're making progress, but there are still a few issues to iron out. On Fri, 13 Sep 2019 at 09:20, Mauro Giubileo <mgiubileo@computeraltafed.it> wrote:
|
Date | 2019-09-13 11:29 |
From | Bernard Geyer |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
I'm very interested by custom themes, but I couldn't find the doc about them. Multi-channel seems to work correctly now, I just tested it in 5.1. Maybe more people should try to test it now. Greetings, Bernard -- Sent from: http://csound.1045644.n5.nabble.com/Csound-General-f1093014.html Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2019-09-13 11:29 |
From | Rory Walsh |
Subject | Re: [Csnd] Actual situation concerning FLTK widgets |
The colours can be set from the Settings dialogue. Themes can be exported from the main menu. If you want to also include icons, you can add them to the exported theme folder. Check the Cabbage.app contents to see how the current theme folder is structured. Probably better to discuss this stuff on the Cabbage list so others can read about it too ;) On Fri, 13 Sep 2019 at 11:23, Bernard Geyer <micamusic2@gmail.com> wrote: I'm very interested by custom themes, but I couldn't find the doc about them. |