Welcome to %s forums

BrainModular Users Forum

Login Register

mondo combo

Discussions about add-ons, announcements
Post Reply
woodslanding
Member
Posts: 1327
Contact:

Unread post by woodslanding » 15 Mar 2010, 09:36

I've just posted mondo combo.

This is my solution to the double-click problem with V5 comboboxes. And the layout problems from V4 comboboxes.

It lays your items out in 4 columns of 8 rows, with as many pages as needed to list all the items. When you select an item, it closes, but you can also put it in 'browse' mode, which keeps it open after a selection, so you can try out multiple options before closing it.

It uses a good bit of CPU, unfortunately.

Hope someone can use it. I've found it indispensable for selecting presets from VSTs.

-e
Custom Ryzen 5900x MATX build, Win10, Fireface UFX, touchscreen
Custom 2 manual midi keyboard
Usine, Kontakt, Reaktor, Synthmaster, Byome, Arturia, Soundtoys, Unify

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 15 Mar 2010, 11:07

It's brilliant and better than I could do myself!
on my computer the cpu load is 0.6%

Clearscreen
Member
Posts: 482
Location: Australia
Contact:

Unread post by Clearscreen » 15 Mar 2010, 11:25

Cheers mate - this is great! :)

bsork
Site Admin
Posts: 1334
Location: Asker, Norway
Contact:

Unread post by bsork » 15 Mar 2010, 11:54

Yes - great! I've just had a quick look at on my work machine (w/ASIO4ALL), and the CPU fluctuated between approx 1.5% and 2.4%, usually around 2.1% with the window open. Strangely, clicking like mad on the prev/next page didn't seem to increase the load.

Maybe it could be improved by using the IML to set the texts? At least it would be simpler to edit without all the wiring. A negative side effect might be an increased load when changing pages. Mind you, I'm far from being an expert on IML, but I'm fairly sure it's doable... :)
Bjørn S

23fx23
Member
Posts: 2545
Contact:

Unread post by 23fx23 » 15 Mar 2010, 11:55

nice job! cpu may be optimized by swiching off the patch when not open maybe,? a tin pulse when open is receive swich the patch on for a while for the script to compile then go back off until the mouse object returns a mouse down. didn't try but should work...

i was wondering if maybe someone worked on reverse concept im also after, take several caption in and output a comma text?

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 15 Mar 2010, 15:01

in this particular case, here the best way to save CPU:

Image
the patch is calculated every 100 ms
the cpu load is 0.03% ...

bsork
Site Admin
Posts: 1334
Location: Asker, Norway
Contact:

Unread post by bsork » 15 Mar 2010, 15:54

...so simple... :cool:
Bjørn S

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 17 Mar 2010, 19:11

now the good idea should be to create a template in order to replace the basic comboBox by this add-on automatically!
[large]any candidate?[/large]

ethnix73
Member
Posts: 604
Location: France, Caen
Contact:

Unread post by ethnix73 » 17 Mar 2010, 20:03

Something like this perhaps:

Combo Box Mod
* // file name ext ('wav', 'usr', etc...)
1 // none=0,in=1,out=2
* // term flowtype (ftNone=0,ftPCM=1,ftInternText=2,ftData=3,ftMIDI=4,ftArray=5,ftUser=6,ftEvtText=7,ftPointer=8,ftIntern=9,ftOther=maxInt)
* // term display flow type (dftText=0,dftgain=1,dftDir=2,dftSwitch=3,dftButton=4,dFtInt=5,dftFloat=6,dftColor=7,dftListBox=8,dftArray=9,dftIpAddress=10,dftSmpte=11,dftFileName=12,dftMidiNote=13)
* // termainal name can be '*' or "any string"

SET_TARGET_PATCH SENDER_PATCH
CREATE_MODULE mondoComboExample 6 MOUSE_X MOUSE_Y "mondocombo subpatch path"
CREATE_LINK mondoComboExample text SRC_MODULE SRC_TERM_NUM
SET_COMMATEXT mondoComboExample text SRC_COMMATEXT
SET_VALUE mondoComboExample text SRC_VALUE
RENAME_MODULE mondoComboExample SRC_TERM_NAME
Seb.Dub

23fx23
Member
Posts: 2545
Contact:

Unread post by 23fx23 » 17 Mar 2010, 20:35

well done ethnix, i would love to master the templates as you do, actually im loosing a bit of time patching cause miss that knowledge, will probaly ask you some tips/tut soon ;)

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 17 Mar 2010, 20:44

yes:)
but I think we have to repackage the patch, especially include it into a sub-patch in order to have only one outlet?

ethnix73
Member
Posts: 604
Location: France, Caen
Contact:

Unread post by ethnix73 » 17 Mar 2010, 21:25

Well....I'm not not able to set commatext from the source module by iml...will look forward. I wonder if the difficulty comes from the script with his "comma text inlet"...

At least, this template is ok for the moment:

Combo Box Mod
* // file name ext ('wav', 'usr', etc...)
1 // none=0,in=1,out=2
3 // term flowtype (ftNone=0,ftPCM=1,ftInternText=2,ftData=3,ftMIDI=4,ftArray=5,ftUser=6,ftEvtText=7,ftPointer=8,ftIntern=9,ftOther=maxInt)
8 // term display flow type (dftText=0,dftgain=1,dftDir=2,dftSwitch=3,dftButton=4,dFtInt=5,dftFloat=6,dftColor=7,dftListBox=8,dftArray=9,dftIpAddress=10,dftSmpte=11,dftFileName=12,dftMidiNote=13)
* // terminal name can be '*' or "any string"

SET_TARGET_PATCH SENDER_PATCH
CREATE_MODULE mondoComboExample 6 MOUSE_X MOUSE_Y "f:TempaudioHostUsineadd onsothersmondoComboExample.pat"
CREATE_LINK mondoComboExample text SRC_MODULE SRC_TERM_NUM
Seb.Dub

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 17 Mar 2010, 21:53

the variable SRC_COMMATEXT contains the commatext of the source.
also, if you locate the patch in the template folder you don't have to specify the path
"f:TempaudioHostUsineadd onsothersmondoComboExample.pat" and mondoComboExample.pat is enough

ethnix73
Member
Posts: 604
Location: France, Caen
Contact:

Unread post by ethnix73 » 17 Mar 2010, 22:20

Thanks Olivier...

I know this IML message, but using SET_COMMATEXT mondoComboExample comma SRC_COMMATEXT, where comma is a "data in" module (caption=comma) replacing the "text" module in the woddslanding patch, doesn't seem to work....Don't know why
Seb.Dub

ethnix73
Member
Posts: 604
Location: France, Caen
Contact:

Unread post by ethnix73 » 17 Mar 2010, 22:44

I have replaced the "text" module in your patch woodslandind, with an empty combobox module. From this combobox, the outlet "comm text" is wired to the inlet "comma text" of your subpatch mondo combo ...No "data in" module added in your patch:

Image


Adding: SET_COMMATEXT mondoComboExample list SRC_COMMATEXT at the end of the IML message will work, you can set automatically the text!
Great, but strangely, you've got to open the combobox i've added, to populate your patch....
Seb.Dub

ethnix73
Member
Posts: 604
Location: France, Caen
Contact:

Unread post by ethnix73 » 17 Mar 2010, 23:35

I've understood why i had to open the combobox. I had to set the value, i believe...

So, the template might be:

Code: Select all

Combo Box Mod 2
*   // file name ext ('wav', 'usr', etc...)
1   // none=0,in=1,out=2
3  // term flowtype (ftNone=0,ftPCM=1,ftInternText=2,ftData=3,ftMIDI=4,ftArray=5,ftUser=6,ftEvtText=7,ftPointer=8,ftIntern=9,ftOther=maxInt)
8 // term display flow type (dftText=0,dftgain=1,dftDir=2,dftSwitch=3,dftButton=4,dFtInt=5,dftFloat=6,dftColor=7,dftListBox=8,dftArray=9,dftIpAddress=10,dftSmpte=11,dftFileName=12,dftMidiNote=13)
*   // terminal name can be '*' or "any string"

SET_TARGET_PATCH SENDER_PATCH
CREATE_MODULE mondoComboMod 6 MOUSE_X MOUSE_Y "f:TempaudioHostUsineadd onsothersmondoComboMod.pat"
CREATE_LINK mondoComboMod text SRC_MODULE SRC_TERM_NUM
SET_COMMATEXT  mondoComboMod list SRC_COMMATEXT
SET_VALUE mondoComboMod text SRC_VALUE
RENAME_MODULE mondoComboMod SRC_TERM_NAME
SET_TARGET_PATCH SRC_TERM_NAME
SET_STRING_VALUE comboin caption SRC_TERM_NAME
I had also to modify just a little bit the patch, in order to get it to work.



Image



Be careful:
To name the combobox "comboin", and to wire the "textfield" module to tje outlet "SELECTION" of the subpatch mondoCombo.
To save the slightly modified patch as mondoComboMod in order to get the template to work .
And to set the good path to the patch (if you dont save it in your template folder. Look up for the Senso tip)




EDIT: You always have to double click on the combobox first....Strange:(
Seb.Dub

woodslanding
Member
Posts: 1327
Contact:

Unread post by woodslanding » 21 Mar 2010, 01:16

Wow, I had no idea this would be so popular!!

And a great cpu solution as well!

I can't wait to update my wkp. I use about 1.2% on each box, and there are 24 in my setup!

Thanks, Senso!
Custom Ryzen 5900x MATX build, Win10, Fireface UFX, touchscreen
Custom 2 manual midi keyboard
Usine, Kontakt, Reaktor, Synthmaster, Byome, Arturia, Soundtoys, Unify

23fx23
Member
Posts: 2545
Contact:

Unread post by 23fx23 » 21 Mar 2010, 02:17

hi woodslanding, by waiting you can check also my tweaked version of your great patch:

http://www.sensomusic.com/forums/upload ... lowCpu.pat

here from 2 percent to 0.25 simple IML and "patch" active example.

I tried to delete/recreate all wires inside, but finally got better results this way.
in fact the list is huge and represent a very big array, that's what is cpu consumming.
the simple iml exemple create the link from comma to mondocombo, wait a bit, and delete the wire.
then mondo combo is active only a short pulse as you clic (.with a tiny delay to avid problems , a wait one was enough for select value to pass, not text)
,a different solution, but as i doubt you clic constantly every 100ms, think may be better than clock (but might results in spikes if you will use 24, so offseted clocks might be better with high nb of box, have to try..)
seems to work not bad here, 0.25 cpu average. (im on save battery option, on good dual core should be around 0.10 percent)
on first open list don't update correctly , but as soon as you press prev or next, it's ok, then closing/reopening with no pb

btween have to adapt it with what ethnix has done, just rename correctly in "send usine messag" should do the job.

woodslanding
Member
Posts: 1327
Contact:

Unread post by woodslanding » 21 Mar 2010, 07:05

I picked the big list (512) as an example. This is the factory preset bank from the Pro53. Many of my lists are only 32 or 64 items. I didn't notice that larger lists use more cpu!

I think there are many places that I can use IML to remove things that I don't need in performance..... that's a great approach!

Only problem so far--when I want to quickly page forward or back, I lose about 1/2 the button presses. Senso's solution seems to be about the same CPU (0.12) but it doesn't lose button presses.

But I'm wondering--will all the clocks run simultaneously, if I have a bunch of these, causing spikes like you mention? I don't know how to test this, actually!

thanks!
-e

P.S. The combo used to be named "wurlitzer", but it was fed by a buss that is gone now--- you can feel free to change it to something more helpful than "W"! Or eliminate the title altogether ;)
Custom Ryzen 5900x MATX build, Win10, Fireface UFX, touchscreen
Custom 2 manual midi keyboard
Usine, Kontakt, Reaktor, Synthmaster, Byome, Arturia, Soundtoys, Unify

Post Reply

Who is online

Users browsing this forum: No registered users and 115 guests