Csound Csound-dev Csound-tekno Search About

[Csnd] scanned synthesis - table generator - CsoundQt

Date2011-11-07 12:08
FromTarmo Johannes
Subject[Csnd] scanned synthesis - table generator - CsoundQt
Attachmentsgen7creator  gen7-ftables.py  
Hello,

I am through now from some travelling, concerts and another very intense inetractive experiment with around 50 switches, sliders, mice and keyboards among the public. Life is strarting to normalize  and I can have again some hobby time with Csound and hopefully I can contribute something to the mailing list.

I was exploring the possibilites of the scanned synthesis and experimented with different shapes of the hammer (the table pointed by the init parameter), I created some scripts that make creating the f-tables (for now only the GEN7-lines bitween points, well, GEN05 - exponential lines is basically the same), I hope they turn useful for others too:

1) John Ffitch suggested about a month ago small perl scripts brkpt, linseg and tabdes in the standard Csound installation. I took linseg and changed it a bit so that it creates a f-statement in the form like:
f XX 0  7 
User just has to create the desired line with clicking (with the right button) and dragging the points, press "print" and the definition will be printed to the standard output (console). It is possible to change the max and min values (also the number of point in the table) on the screen.
I attach the script (gen7creator)

You need perl-Tk installed to run the script.

2) next step was to bring it closer to the real work with the score. Thanks to the new great capabilities of CsoundQt to us the embedded python interpreter and interact with the score ( q.insertText(string) ) and also to use Qt objects to write your own custom interfaces,   it turned completely possible and not too hard at all.
 
I wrote a python script that should be saved to your CsoundQt scripts folder (set in the Configure window of CsQt) and you can put the cursor to any point in your score where you need the f (gen7) definitions, run the script from your "scripts" menu and you can easily create dozens of line-ftables!

Thes script is pretty simple:

import subprocess
from PythonQt import *
 
# output message using QtGui messagebox
msg=QtGui.QMessageBox()
msg.setWindowTitle("Message")
msg.setText('''Afetr you click OK:\n
1) Place the cursor in your csd where you want the f-statements appear
2) Draw the lines (rightclick for new point),
change the max/min values, if you need
3) Press  after you have completed a line 
4) the f-definitions appear in you csd after you have clicked 
5) Change the f table numbers as you need.
\n''')
msg.exec_()  # NB! in python it has to be exec_() (not exec() like in the C documentation, since exec is a reserved word in python and they needed to make the change here


#run the table-generator script and capture output
process = subprocess.Popen(['/home/tarmo/src/Csound5.13.0/csound5/gen7creator'],stderr=subprocess.STDOUT,stdout=subprocess.PIPE)
stat = process.wait()
if (stat==0):	
    output = process.stdout.read()
    print output
    q.insertText(output) # place it to the active document at the position of the cursor


Especially by scanned sythesis, where half of the parameters are set by tables, it makes so much difference to be able to easily form the tables as you imagine them!

greetings,
tarmo




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"


Date2011-11-07 14:02
FromAndres Cabrera
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
Hi,

Tk inside Perl inside Python inside CsoundQt. That's hacky! :) But I'm
glad it's possible, and that's what the python API is for!

I've been meaning to write a table editor directly in Pyhton using Qt,
but as usual, haven't had time...

Cheers,
Andrés

On Mon, Nov 7, 2011 at 12:08 PM, Tarmo Johannes  wrote:
> Hello,
>
> I am through now from some travelling, concerts and another very intense inetractive experiment with around 50 switches, sliders, mice and keyboards among the public. Life is strarting to normalize  and I can have again some hobby time with Csound and hopefully I can contribute something to the mailing list.
>
> I was exploring the possibilites of the scanned synthesis and experimented with different shapes of the hammer (the table pointed by the init parameter), I created some scripts that make creating the f-tables (for now only the GEN7-lines bitween points, well, GEN05 - exponential lines is basically the same), I hope they turn useful for others too:
>
> 1) John Ffitch suggested about a month ago small perl scripts brkpt, linseg and tabdes in the standard Csound installation. I took linseg and changed it a bit so that it creates a f-statement in the form like:
> f XX 0  7 
> User just has to create the desired line with clicking (with the right button) and dragging the points, press "print" and the definition will be printed to the standard output (console). It is possible to change the max and min values (also the number of point in the table) on the screen.
> I attach the script (gen7creator)
>
> You need perl-Tk installed to run the script.
>
> 2) next step was to bring it closer to the real work with the score. Thanks to the new great capabilities of CsoundQt to us the embedded python interpreter and interact with the score ( q.insertText(string) ) and also to use Qt objects to write your own custom interfaces,   it turned completely possible and not too hard at all.
>
> I wrote a python script that should be saved to your CsoundQt scripts folder (set in the Configure window of CsQt) and you can put the cursor to any point in your score where you need the f (gen7) definitions, run the script from your "scripts" menu and you can easily create dozens of line-ftables!
>
> Thes script is pretty simple:
>
> import subprocess
> from PythonQt import *
>
> # output message using QtGui messagebox
> msg=QtGui.QMessageBox()
> msg.setWindowTitle("Message")
> msg.setText('''Afetr you click OK:\n
> 1) Place the cursor in your csd where you want the f-statements appear
> 2) Draw the lines (rightclick for new point),
> change the max/min values, if you need
> 3) Press  after you have completed a line
> 4) the f-definitions appear in you csd after you have clicked 
> 5) Change the f table numbers as you need.
> \n''')
> msg.exec_()  # NB! in python it has to be exec_() (not exec() like in the C documentation, since exec is a reserved word in python and they needed to make the change here
>
>
> #run the table-generator script and capture output
> process = subprocess.Popen(['/home/tarmo/src/Csound5.13.0/csound5/gen7creator'],stderr=subprocess.STDOUT,stdout=subprocess.PIPE)
> stat = process.wait()
> if (stat==0):
>    output = process.stdout.read()
>    print output
>    q.insertText(output) # place it to the active document at the position of the cursor
>
>
> Especially by scanned sythesis, where half of the parameters are set by tables, it makes so much difference to be able to easily form the tables as you imagine them!
>
> greetings,
> tarmo
>
>
>
>
> 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"


Date2011-11-08 19:10
FromTarmo Johannes
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
Hello,


> I've been meaning to write a table editor directly in Pyhton using Qt,
> but as usual, haven't had time...

Absolutely, a table editor inside CsoundQt would be most logical and very welcome extension!
So far I think the litle perltk scirpts (linseg, brkpt and my gen7creator) can fill the gap a little bit.

Should we brain-strorm, what we, user, expect from a table editor?
As Peiman wrote in his precedin e-mail, building open-source graphical solutions is really time-consuming and if we knew exactly, what are the most basic and necessary things, perhaps it would be a good start for the creators like Andrés and others.

I personally would be happy to be able to build  envelope type of f-tables from lines and curves and to be able to see any table created from numbers (for example f 0 1024 10 0.9 0.8 0  0 0.2 or any similar ) visually before it enters the score. (Basically the Graph widget but before running the score). And to have good links to documentation about the according GEN routines.

Please comment and extend this idea!

tarmo


On Monday 07 November 2011 16:02:26 Andres Cabrera wrote:
> Hi,
> 
> Tk inside Perl inside Python inside CsoundQt. That's hacky! :) But I'm
> glad it's possible, and that's what the python API is for!
> 
> I've been meaning to write a table editor directly in Pyhton using Qt,
> but as usual, haven't had time...
> 
> Cheers,
> Andrés
> 
> On Mon, Nov 7, 2011 at 12:08 PM, Tarmo Johannes  wrote:
> > Hello,
> >
> > I am through now from some travelling, concerts and another very intense inetractive experiment with around 50 switches, sliders, mice and keyboards among the public. Life is strarting to normalize  and I can have again some hobby time with Csound and hopefully I can contribute something to the mailing list.
> >
> > I was exploring the possibilites of the scanned synthesis and experimented with different shapes of the hammer (the table pointed by the init parameter), I created some scripts that make creating the f-tables (for now only the GEN7-lines bitween points, well, GEN05 - exponential lines is basically the same), I hope they turn useful for others too:
> >
> > 1) John Ffitch suggested about a month ago small perl scripts brkpt, linseg and tabdes in the standard Csound installation. I took linseg and changed it a bit so that it creates a f-statement in the form like:
> > f XX 0  7 
> > User just has to create the desired line with clicking (with the right button) and dragging the points, press "print" and the definition will be printed to the standard output (console). It is possible to change the max and min values (also the number of point in the table) on the screen.
> > I attach the script (gen7creator)
> >
> > You need perl-Tk installed to run the script.
> >
> > 2) next step was to bring it closer to the real work with the score. Thanks to the new great capabilities of CsoundQt to us the embedded python interpreter and interact with the score ( q.insertText(string) ) and also to use Qt objects to write your own custom interfaces,   it turned completely possible and not too hard at all.
> >
> > I wrote a python script that should be saved to your CsoundQt scripts folder (set in the Configure window of CsQt) and you can put the cursor to any point in your score where you need the f (gen7) definitions, run the script from your "scripts" menu and you can easily create dozens of line-ftables!
> >
> > Thes script is pretty simple:
> >
> > import subprocess
> > from PythonQt import *
> >
> > # output message using QtGui messagebox
> > msg=QtGui.QMessageBox()
> > msg.setWindowTitle("Message")
> > msg.setText('''Afetr you click OK:\n
> > 1) Place the cursor in your csd where you want the f-statements appear
> > 2) Draw the lines (rightclick for new point),
> > change the max/min values, if you need
> > 3) Press  after you have completed a line
> > 4) the f-definitions appear in you csd after you have clicked 
> > 5) Change the f table numbers as you need.
> > \n''')
> > msg.exec_()  # NB! in python it has to be exec_() (not exec() like in the C documentation, since exec is a reserved word in python and they needed to make the change here
> >
> >
> > #run the table-generator script and capture output
> > process = subprocess.Popen(['/home/tarmo/src/Csound5.13.0/csound5/gen7creator'],stderr=subprocess.STDOUT,stdout=subprocess.PIPE)
> > stat = process.wait()
> > if (stat==0):
> >    output = process.stdout.read()
> >    print output
> >    q.insertText(output) # place it to the active document at the position of the cursor
> >
> >
> > Especially by scanned sythesis, where half of the parameters are set by tables, it makes so much difference to be able to easily form the tables as you imagine them!
> >
> > greetings,
> > tarmo
> >
> >
> >
> >
> > 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"


Date2011-11-08 19:15
FromRory Walsh
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
> Should we brain-strorm, what we, user, expect from a table editor?

I feel for Andres here. All the brain storming in the world ins't
going to buy him extra time to implement this feature. What we/he
needs is an extra few pairs of hands to help him! Any QT developers
lurking around?


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"

Date2011-11-08 19:17
Frompeiman khosravi
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
indeed, hence my suggestion that he adds some sort of plug-ability
into csoundQT.

P

On 8 November 2011 19:15, Rory Walsh  wrote:
>> Should we brain-strorm, what we, user, expect from a table editor?
>
> I feel for Andres here. All the brain storming in the world ins't
> going to buy him extra time to implement this feature. What we/he
> needs is an extra few pairs of hands to help him! Any QT developers
> lurking around?
>
>
> 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"


Date2011-11-08 19:22
FromRory Walsh
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
Isn't that what Python adds? I don't really know, I never use it?!

On 8 November 2011 19:17, peiman khosravi  wrote:
> indeed, hence my suggestion that he adds some sort of plug-ability
> into csoundQT.
>
> P
>
> On 8 November 2011 19:15, Rory Walsh  wrote:
>>> Should we brain-strorm, what we, user, expect from a table editor?
>>
>> I feel for Andres here. All the brain storming in the world ins't
>> going to buy him extra time to implement this feature. What we/he
>> needs is an extra few pairs of hands to help him! Any QT developers
>> lurking around?
>>
>>
>> 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"


Date2011-11-08 19:39
Frompeiman khosravi
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
I don't know either!

If so, maybe Cecilia's table editor could be somehow integrated in there?

On 8 November 2011 19:22, Rory Walsh  wrote:
> Isn't that what Python adds? I don't really know, I never use it?!
>
> On 8 November 2011 19:17, peiman khosravi  wrote:
>> indeed, hence my suggestion that he adds some sort of plug-ability
>> into csoundQT.
>>
>> P
>>
>> On 8 November 2011 19:15, Rory Walsh  wrote:
>>>> Should we brain-strorm, what we, user, expect from a table editor?
>>>
>>> I feel for Andres here. All the brain storming in the world ins't
>>> going to buy him extra time to implement this feature. What we/he
>>> needs is an extra few pairs of hands to help him! Any QT developers
>>> lurking around?
>>>
>>>
>>> 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"


Date2011-11-08 20:46
Fromzappfinger
Subject[Csnd] Re: scanned synthesis - table generator - CsoundQt
You can also write a Csound table editor by using the Python Csound API.

http://www.csounds.com/journal/issue14/realtimeCsoundPython.html

Richard

--
View this message in context: http://csound.1045644.n5.nabble.com/scanned-synthesis-table-generator-CsoundQt-tp4970989p4975604.html
Sent from the Csound - General mailing list archive at Nabble.com.


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"

Date2011-11-08 20:56
FromStéphane Rollandin
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
> Should we brain-strorm, what we, user, expect from a table editor?

My take on this is there:
http://www.csounds.com/journal/issue15/shaping_envelopes.html

Stef



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"

Date2011-11-09 13:13
Frompeiman khosravi
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
Unfortunately I can't get my head around emacs! Other than that your
tools look amazing Stéphane.

I think though that what we need, as Dr Boulanger suggested at the
conference, is an interface builder that can be packaged into a
standalone (or semi standalone not requiring any set-up). So you can
just open the application and it all works out of the box, no need to
render in an editor and so on.

This is doable in Max and SC3 (and almost in pd) and so I think it
should be in Csound too. There are complex standalone applications out
there made with entirely with sc3 (see
http://www.birmingham.ac.uk/facilities/BEAST/research/mulch.aspx) so I
think those guys have the upper hand in this context.

But then SC's interface is mac only...

Best,

P

2011/11/8 Stéphane Rollandin :
>> Should we brain-strorm, what we, user, expect from a table editor?
>
> My take on this is there:
> http://www.csounds.com/journal/issue15/shaping_envelopes.html
>
> Stef
>
>
>
> 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"


Date2011-11-11 20:52
FromAndres Cabrera
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
Hi,

I've got already a lot of the work done towards this, but have not had
time to move it further... I've already got an engine that works (a
bit buggy but almost there), which can load and play csds and which
displays the GUI built in CsoundQt. I've also worked a bit on the
mechanism to export the binaries from CsoundQt, but that is also
unfinished. If anyone can help out, that would be great.

Cheers,
Andrés

On Wed, Nov 9, 2011 at 1:13 PM, peiman khosravi
 wrote:
> Unfortunately I can't get my head around emacs! Other than that your
> tools look amazing Stéphane.
>
> I think though that what we need, as Dr Boulanger suggested at the
> conference, is an interface builder that can be packaged into a
> standalone (or semi standalone not requiring any set-up). So you can
> just open the application and it all works out of the box, no need to
> render in an editor and so on.
>
> This is doable in Max and SC3 (and almost in pd) and so I think it
> should be in Csound too. There are complex standalone applications out
> there made with entirely with sc3 (see
> http://www.birmingham.ac.uk/facilities/BEAST/research/mulch.aspx) so I
> think those guys have the upper hand in this context.
>
> But then SC's interface is mac only...
>
> Best,
>
> P
>
> 2011/11/8 Stéphane Rollandin :
>>> Should we brain-strorm, what we, user, expect from a table editor?
>>
>> My take on this is there:
>> http://www.csounds.com/journal/issue15/shaping_envelopes.html
>>
>> Stef
>>
>>
>>
>> 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"


Date2011-11-11 20:56
FromAndres Cabrera
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
Hi,

I think that table editor can mean 3 different things...
One is an f-table editor, where you can edit the tables and parameters
in order to generate the f-table text. This is an ideal candidate for
something to be done using the Python API within CsoundQt.
The second one is an editor for f-table data (for existing tables, to
modify their values, like when using the pencil tool in audacity. This
could be done eventually using the Python API, but not currently as
getting and setting f-table data is not supported.
The third one is a breakpoint table editor, which can be useful to
hold automation. This would be a new widget type in CsoundQt, which
can be triggered so that values in its channels change in time
according to the points inside it.

Cheers,
Andrés

On Tue, Nov 8, 2011 at 7:10 PM, Tarmo Johannes  wrote:
> Hello,
>
>
>> I've been meaning to write a table editor directly in Pyhton using Qt,
>> but as usual, haven't had time...
>
> Absolutely, a table editor inside CsoundQt would be most logical and very welcome extension!
> So far I think the litle perltk scirpts (linseg, brkpt and my gen7creator) can fill the gap a little bit.
>
> Should we brain-strorm, what we, user, expect from a table editor?
> As Peiman wrote in his precedin e-mail, building open-source graphical solutions is really time-consuming and if we knew exactly, what are the most basic and necessary things, perhaps it would be a good start for the creators like Andrés and others.
>
> I personally would be happy to be able to build  envelope type of f-tables from lines and curves and to be able to see any table created from numbers (for example f 0 1024 10 0.9 0.8 0  0 0.2 or any similar ) visually before it enters the score. (Basically the Graph widget but before running the score). And to have good links to documentation about the according GEN routines.
>
> Please comment and extend this idea!
>
> tarmo
>
>
> On Monday 07 November 2011 16:02:26 Andres Cabrera wrote:
>> Hi,
>>
>> Tk inside Perl inside Python inside CsoundQt. That's hacky! :) But I'm
>> glad it's possible, and that's what the python API is for!
>>
>> I've been meaning to write a table editor directly in Pyhton using Qt,
>> but as usual, haven't had time...
>>
>> Cheers,
>> Andrés
>>
>> On Mon, Nov 7, 2011 at 12:08 PM, Tarmo Johannes  wrote:
>> > Hello,
>> >
>> > I am through now from some travelling, concerts and another very intense inetractive experiment with around 50 switches, sliders, mice and keyboards among the public. Life is strarting to normalize  and I can have again some hobby time with Csound and hopefully I can contribute something to the mailing list.
>> >
>> > I was exploring the possibilites of the scanned synthesis and experimented with different shapes of the hammer (the table pointed by the init parameter), I created some scripts that make creating the f-tables (for now only the GEN7-lines bitween points, well, GEN05 - exponential lines is basically the same), I hope they turn useful for others too:
>> >
>> > 1) John Ffitch suggested about a month ago small perl scripts brkpt, linseg and tabdes in the standard Csound installation. I took linseg and changed it a bit so that it creates a f-statement in the form like:
>> > f XX 0  7 
>> > User just has to create the desired line with clicking (with the right button) and dragging the points, press "print" and the definition will be printed to the standard output (console). It is possible to change the max and min values (also the number of point in the table) on the screen.
>> > I attach the script (gen7creator)
>> >
>> > You need perl-Tk installed to run the script.
>> >
>> > 2) next step was to bring it closer to the real work with the score. Thanks to the new great capabilities of CsoundQt to us the embedded python interpreter and interact with the score ( q.insertText(string) ) and also to use Qt objects to write your own custom interfaces,   it turned completely possible and not too hard at all.
>> >
>> > I wrote a python script that should be saved to your CsoundQt scripts folder (set in the Configure window of CsQt) and you can put the cursor to any point in your score where you need the f (gen7) definitions, run the script from your "scripts" menu and you can easily create dozens of line-ftables!
>> >
>> > Thes script is pretty simple:
>> >
>> > import subprocess
>> > from PythonQt import *
>> >
>> > # output message using QtGui messagebox
>> > msg=QtGui.QMessageBox()
>> > msg.setWindowTitle("Message")
>> > msg.setText('''Afetr you click OK:\n
>> > 1) Place the cursor in your csd where you want the f-statements appear
>> > 2) Draw the lines (rightclick for new point),
>> > change the max/min values, if you need
>> > 3) Press  after you have completed a line
>> > 4) the f-definitions appear in you csd after you have clicked 
>> > 5) Change the f table numbers as you need.
>> > \n''')
>> > msg.exec_()  # NB! in python it has to be exec_() (not exec() like in the C documentation, since exec is a reserved word in python and they needed to make the change here
>> >
>> >
>> > #run the table-generator script and capture output
>> > process = subprocess.Popen(['/home/tarmo/src/Csound5.13.0/csound5/gen7creator'],stderr=subprocess.STDOUT,stdout=subprocess.PIPE)
>> > stat = process.wait()
>> > if (stat==0):
>> >    output = process.stdout.read()
>> >    print output
>> >    q.insertText(output) # place it to the active document at the position of the cursor
>> >
>> >
>> > Especially by scanned sythesis, where half of the parameters are set by tables, it makes so much difference to be able to easily form the tables as you imagine them!
>> >
>> > greetings,
>> > tarmo
>> >
>> >
>> >
>> >
>> > 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"


Date2011-11-12 09:26
Frompeiman khosravi
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
This sounds amazing. Looking forward to it. I'll be happy to do any testing.

P

On 11 November 2011 20:52, Andres Cabrera  wrote:
> Hi,
>
> I've got already a lot of the work done towards this, but have not had
> time to move it further... I've already got an engine that works (a
> bit buggy but almost there), which can load and play csds and which
> displays the GUI built in CsoundQt. I've also worked a bit on the
> mechanism to export the binaries from CsoundQt, but that is also
> unfinished. If anyone can help out, that would be great.
>
> Cheers,
> Andrés
>
> On Wed, Nov 9, 2011 at 1:13 PM, peiman khosravi
>  wrote:
>> Unfortunately I can't get my head around emacs! Other than that your
>> tools look amazing Stéphane.
>>
>> I think though that what we need, as Dr Boulanger suggested at the
>> conference, is an interface builder that can be packaged into a
>> standalone (or semi standalone not requiring any set-up). So you can
>> just open the application and it all works out of the box, no need to
>> render in an editor and so on.
>>
>> This is doable in Max and SC3 (and almost in pd) and so I think it
>> should be in Csound too. There are complex standalone applications out
>> there made with entirely with sc3 (see
>> http://www.birmingham.ac.uk/facilities/BEAST/research/mulch.aspx) so I
>> think those guys have the upper hand in this context.
>>
>> But then SC's interface is mac only...
>>
>> Best,
>>
>> P
>>
>> 2011/11/8 Stéphane Rollandin :
>>>> Should we brain-strorm, what we, user, expect from a table editor?
>>>
>>> My take on this is there:
>>> http://www.csounds.com/journal/issue15/shaping_envelopes.html
>>>
>>> Stef
>>>
>>>
>>>
>>> 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"


Date2011-11-12 09:27
Frompeiman khosravi
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
Hello,

I guess I had in mind the second option. You could use this as
automation too if you read the automation data from table, which is
what I do mostly.

Thanks

P

On 11 November 2011 20:56, Andres Cabrera  wrote:
> Hi,
>
> I think that table editor can mean 3 different things...
> One is an f-table editor, where you can edit the tables and parameters
> in order to generate the f-table text. This is an ideal candidate for
> something to be done using the Python API within CsoundQt.
> The second one is an editor for f-table data (for existing tables, to
> modify their values, like when using the pencil tool in audacity. This
> could be done eventually using the Python API, but not currently as
> getting and setting f-table data is not supported.
> The third one is a breakpoint table editor, which can be useful to
> hold automation. This would be a new widget type in CsoundQt, which
> can be triggered so that values in its channels change in time
> according to the points inside it.
>
> Cheers,
> Andrés
>
> On Tue, Nov 8, 2011 at 7:10 PM, Tarmo Johannes  wrote:
>> Hello,
>>
>>
>>> I've been meaning to write a table editor directly in Pyhton using Qt,
>>> but as usual, haven't had time...
>>
>> Absolutely, a table editor inside CsoundQt would be most logical and very welcome extension!
>> So far I think the litle perltk scirpts (linseg, brkpt and my gen7creator) can fill the gap a little bit.
>>
>> Should we brain-strorm, what we, user, expect from a table editor?
>> As Peiman wrote in his precedin e-mail, building open-source graphical solutions is really time-consuming and if we knew exactly, what are the most basic and necessary things, perhaps it would be a good start for the creators like Andrés and others.
>>
>> I personally would be happy to be able to build  envelope type of f-tables from lines and curves and to be able to see any table created from numbers (for example f 0 1024 10 0.9 0.8 0  0 0.2 or any similar ) visually before it enters the score. (Basically the Graph widget but before running the score). And to have good links to documentation about the according GEN routines.
>>
>> Please comment and extend this idea!
>>
>> tarmo
>>
>>
>> On Monday 07 November 2011 16:02:26 Andres Cabrera wrote:
>>> Hi,
>>>
>>> Tk inside Perl inside Python inside CsoundQt. That's hacky! :) But I'm
>>> glad it's possible, and that's what the python API is for!
>>>
>>> I've been meaning to write a table editor directly in Pyhton using Qt,
>>> but as usual, haven't had time...
>>>
>>> Cheers,
>>> Andrés
>>>
>>> On Mon, Nov 7, 2011 at 12:08 PM, Tarmo Johannes  wrote:
>>> > Hello,
>>> >
>>> > I am through now from some travelling, concerts and another very intense inetractive experiment with around 50 switches, sliders, mice and keyboards among the public. Life is strarting to normalize  and I can have again some hobby time with Csound and hopefully I can contribute something to the mailing list.
>>> >
>>> > I was exploring the possibilites of the scanned synthesis and experimented with different shapes of the hammer (the table pointed by the init parameter), I created some scripts that make creating the f-tables (for now only the GEN7-lines bitween points, well, GEN05 - exponential lines is basically the same), I hope they turn useful for others too:
>>> >
>>> > 1) John Ffitch suggested about a month ago small perl scripts brkpt, linseg and tabdes in the standard Csound installation. I took linseg and changed it a bit so that it creates a f-statement in the form like:
>>> > f XX 0  7 
>>> > User just has to create the desired line with clicking (with the right button) and dragging the points, press "print" and the definition will be printed to the standard output (console). It is possible to change the max and min values (also the number of point in the table) on the screen.
>>> > I attach the script (gen7creator)
>>> >
>>> > You need perl-Tk installed to run the script.
>>> >
>>> > 2) next step was to bring it closer to the real work with the score. Thanks to the new great capabilities of CsoundQt to us the embedded python interpreter and interact with the score ( q.insertText(string) ) and also to use Qt objects to write your own custom interfaces,   it turned completely possible and not too hard at all.
>>> >
>>> > I wrote a python script that should be saved to your CsoundQt scripts folder (set in the Configure window of CsQt) and you can put the cursor to any point in your score where you need the f (gen7) definitions, run the script from your "scripts" menu and you can easily create dozens of line-ftables!
>>> >
>>> > Thes script is pretty simple:
>>> >
>>> > import subprocess
>>> > from PythonQt import *
>>> >
>>> > # output message using QtGui messagebox
>>> > msg=QtGui.QMessageBox()
>>> > msg.setWindowTitle("Message")
>>> > msg.setText('''Afetr you click OK:\n
>>> > 1) Place the cursor in your csd where you want the f-statements appear
>>> > 2) Draw the lines (rightclick for new point),
>>> > change the max/min values, if you need
>>> > 3) Press  after you have completed a line
>>> > 4) the f-definitions appear in you csd after you have clicked 
>>> > 5) Change the f table numbers as you need.
>>> > \n''')
>>> > msg.exec_()  # NB! in python it has to be exec_() (not exec() like in the C documentation, since exec is a reserved word in python and they needed to make the change here
>>> >
>>> >
>>> > #run the table-generator script and capture output
>>> > process = subprocess.Popen(['/home/tarmo/src/Csound5.13.0/csound5/gen7creator'],stderr=subprocess.STDOUT,stdout=subprocess.PIPE)
>>> > stat = process.wait()
>>> > if (stat==0):
>>> >    output = process.stdout.read()
>>> >    print output
>>> >    q.insertText(output) # place it to the active document at the position of the cursor
>>> >
>>> >
>>> > Especially by scanned sythesis, where half of the parameters are set by tables, it makes so much difference to be able to easily form the tables as you imagine them!
>>> >
>>> > greetings,
>>> > tarmo
>>> >
>>> >
>>> >
>>> >
>>> > 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"


Date2011-11-12 20:15
FromTarmo Johannes
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
Hello,

Andrés, I am not sure if I am  on the level to help really with developing it, but I would love to. I've been programming (as a dilettant) quite much last months in C++ and have started to explore the possibilities of Qt (that seems amazing!) recently. Could I have a look to the sources? Are they in the csv of CsoundQt (I have now  version:5140 installed)? I have used mostly kdevelop for different projects but with Qt-Cretor all the sources should be followable even easier, I guess. At least I could try, if I can understand and do something at all...

So, if I could help CsoundQt somehow to get even further, I would be more than happy!

(but I need to finish some things before that anyway...)

greetings,
tarmo

On Friday 11 November 2011 22:52:10 Andres Cabrera wrote:
> Hi,
> 
> I've got already a lot of the work done towards this, but have not had
> time to move it further... I've already got an engine that works (a
> bit buggy but almost there), which can load and play csds and which
> displays the GUI built in CsoundQt. I've also worked a bit on the
> mechanism to export the binaries from CsoundQt, but that is also
> unfinished. If anyone can help out, that would be great.
> 
> Cheers,
> Andrés
> 
> On Wed, Nov 9, 2011 at 1:13 PM, peiman khosravi
>  wrote:
> > Unfortunately I can't get my head around emacs! Other than that your
> > tools look amazing Stéphane.
> >
> > I think though that what we need, as Dr Boulanger suggested at the
> > conference, is an interface builder that can be packaged into a
> > standalone (or semi standalone not requiring any set-up). So you can
> > just open the application and it all works out of the box, no need to
> > render in an editor and so on.
> >
> > This is doable in Max and SC3 (and almost in pd) and so I think it
> > should be in Csound too. There are complex standalone applications out
> > there made with entirely with sc3 (see
> > http://www.birmingham.ac.uk/facilities/BEAST/research/mulch.aspx) so I
> > think those guys have the upper hand in this context.
> >
> > But then SC's interface is mac only...
> >
> > Best,
> >
> > P
> >
> > 2011/11/8 Stéphane Rollandin :
> >>> Should we brain-strorm, what we, user, expect from a table editor?
> >>
> >> My take on this is there:
> >> http://www.csounds.com/journal/issue15/shaping_envelopes.html
> >>
> >> Stef
> >>
> >>
> >>
> >> 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"


Date2011-11-13 07:41
FromAndres Cabrera
SubjectRe: [Csnd] scanned synthesis - table generator - CsoundQt
Hi Tarmo,

Any help is very welcome! Thanks for the offer. You can find
information about the source and building here:
http://qutecsound.sourceforge.net/dev.html

If you need some development ideas, you can have a look at the bug and
feature trackers:
https://sourceforge.net/tracker/?group_id=227265

Although I've probably done all the easy ones already...

So have a look, build CsoundQt from source and let me know if you need
any pointers.

Cheers,
Andrés



On Sat, Nov 12, 2011 at 8:15 PM, Tarmo Johannes  wrote:
> Hello,
>
> Andrés, I am not sure if I am  on the level to help really with developing it, but I would love to. I've been programming (as a dilettant) quite much last months in C++ and have started to explore the possibilities of Qt (that seems amazing!) recently. Could I have a look to the sources? Are they in the csv of CsoundQt (I have now  version:5140 installed)? I have used mostly kdevelop for different projects but with Qt-Cretor all the sources should be followable even easier, I guess. At least I could try, if I can understand and do something at all...
>
> So, if I could help CsoundQt somehow to get even further, I would be more than happy!
>
> (but I need to finish some things before that anyway...)
>
> greetings,
> tarmo
>
> On Friday 11 November 2011 22:52:10 Andres Cabrera wrote:
>> Hi,
>>
>> I've got already a lot of the work done towards this, but have not had
>> time to move it further... I've already got an engine that works (a
>> bit buggy but almost there), which can load and play csds and which
>> displays the GUI built in CsoundQt. I've also worked a bit on the
>> mechanism to export the binaries from CsoundQt, but that is also
>> unfinished. If anyone can help out, that would be great.
>>
>> Cheers,
>> Andrés
>>
>> On Wed, Nov 9, 2011 at 1:13 PM, peiman khosravi
>>  wrote:
>> > Unfortunately I can't get my head around emacs! Other than that your
>> > tools look amazing Stéphane.
>> >
>> > I think though that what we need, as Dr Boulanger suggested at the
>> > conference, is an interface builder that can be packaged into a
>> > standalone (or semi standalone not requiring any set-up). So you can
>> > just open the application and it all works out of the box, no need to
>> > render in an editor and so on.
>> >
>> > This is doable in Max and SC3 (and almost in pd) and so I think it
>> > should be in Csound too. There are complex standalone applications out
>> > there made with entirely with sc3 (see
>> > http://www.birmingham.ac.uk/facilities/BEAST/research/mulch.aspx) so I
>> > think those guys have the upper hand in this context.
>> >
>> > But then SC's interface is mac only...
>> >
>> > Best,
>> >
>> > P
>> >
>> > 2011/11/8 Stéphane Rollandin :
>> >>> Should we brain-strorm, what we, user, expect from a table editor?
>> >>
>> >> My take on this is there:
>> >> http://www.csounds.com/journal/issue15/shaping_envelopes.html
>> >>
>> >> Stef
>> >>
>> >>
>> >>
>> >> 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"