Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright

Design concept question [selectable GUI]

For general discussion related FlowStone

Re: Design concept question [selectable GUI]

Postby RJHollins » Sat May 03, 2014 6:19 am

OK ... I've got some of the basics assembled for a GUI display that can be changed dynamically. :shock:

Instead of using video switching [much like multi-tabbed windows], I've tried to focus on using things like VECTOR knobs that can be re-configured.

The basis of the idea [which mirrors of type of EQ], is having a main GUI window that has EMPTY slots. Within each 'slot', a module can be assigned. Each module has a 'radio button' switcher that directs the configuration.
What I'm showing is just one module example.

The basic look is something like this:
capture2.jpg
capture2.jpg (33.51 KiB) Viewed 13432 times

I'm just getting some of the often used control objects pre-assembled in order to troubleshoot and finetune the design and flow.

There are some important design goals that I'm looking toward, such as, radio-switching between available choices should each retain their last setting. Globally, the main PresetManager should capture and restore everything. The actually number of GUI modules could be anything from 1 to a dozen [or more I suppose]. That would depend on the size of each module, and would be restricted by the overall size of the main GUI window [VST].

I'm still early in putting this together, and there are still some outstanding issues that I'd like to fix ... but for those interested in helping troubleshoot and refine ... that would be most welcomed !!!

Some of the GURUs here might recognize some of their works contain within. I hesitate to mention names, because NO DOUBT, an important one [or three] would be left off :roll:

I must single out of of our Gurus .... that would be Mr.NuBeat . ;) Beside some wonderful designs and examples that he has shared ... he has also helped a 'newb' expand the thinking/design process.

The inspiration for this project stems from the 'dual-function' slider that NuBeat had posted awhile back.

I caution though .... it will be easy to see what my rookie work is like ... and this is with conscience effort to try and improve :shock: I've got much to learn, and a long ways to go .... but I sincerely appreciate the volumes of help I have received here and previously on the SM forum.

Thanks to everyone for any comments, suggestions, improvements and replacement coding. At this point, the module doesn't actually do anything ... but before it does, I would like to get a solid GUI core happening.

Here's my current schematic:
Multi function GUI [RJH]-1.fsm
(84.09 KiB) Downloaded 910 times


Thanks GANG !
8-)
RJHollins
 
Posts: 1571
Joined: Thu Mar 08, 2012 7:58 pm

Re: Design concept question [selectable GUI]

Postby Nubeat7 » Sat May 03, 2014 7:49 am

thx Rj for the kind of words,

nice clean schematic, what i could see is that you`ve still putted the selected module index to the end of the presetname, you shouldn`t do this (anyway the presetparameter array do the same automatically) it only can have one name other wise the DAW gets confused when loading parameters,

lets say the current index is 2 and you load a preset where it is 4 - it is looking for a presetparameter(array)name with 4 on the end but there is none because its set to 2 atm... its the same like with normal presets you need a unique name for the presetparameter prim to get found when loading presets

just try it in a daw and watch your automation parameters for your app (dont forget to turn auto on, it is not connected in my original module - so its set to off!)
User avatar
Nubeat7
 
Posts: 1347
Joined: Sat Apr 14, 2012 9:59 am
Location: Vienna

Re: Design concept question [selectable GUI]

Postby RJHollins » Sat May 03, 2014 10:51 am

Nubeat7 wrote:what i could see is that you`ve still putted the selected module index to the end of the presetname, you shouldn`t do this (anyway the presetparameter array do the same automatically) it only can have one name other wise the DAW gets confused when loading parameters,

just try it in a daw and watch your automation parameters for your app (dont forget to turn auto on, it is not connected in my original module - so its set to off!)

Thanks NuBeat !

I pulled the INDEX suffix off all the sub modules, and while in there, added a TRUE link to the AUTO.

I'd had not tested yet in any DAW ... still working through much of the logic.

There is one function I still don't have working as I'd like .... that small ON/OFF button is tied into the GAIN control. What it is suppose to do is change the OUTPUT value to the gain's DEFAULT value ... while STILL holding the position of the needle on the gain knob. The numeric displays go the RED to indicate that this is in a soft bypass mode. The FREQ also turns red, but it is NOT set to default [this way we have a choice if this feature is needed or not]. I use this as a quick A/B comparison of the GAIN [+/-] that a band is given. This would allow auditioning that applied level. Even when the gain is 'bypassed', the level can still be adjusted [silently], and then when UN-bypassed, the NEW level is kicked out. I use this in my regular designs, but this new 'multi' approach is different. Hope I can fix this :roll:

Anyway ... thanks for catching my initial errors. Tomorrow I'll post up the changes.

Still much more to do on this design.

I started to play with the module that collects all the values [wireless]. I need to get all this data into a MIDI stream.
I hope to stay with this modular type design.

Thanks again !
8-)
RJHollins
 
Posts: 1571
Joined: Thu Mar 08, 2012 7:58 pm

Re: Design concept question [selectable GUI]

Postby RJHollins » Tue May 06, 2014 8:05 am

Hello NuBeat !!

Hope you see this ... as we have a question to ask :o

In the example you posted, were one or 2 'pull-down' menus. They were different than the stock ones, as they also had the selections in both columns and rows.

Here's the question ... due to seeing a RUBY error message ...

If a blank string is used for the list entries ... we get a RUBY complaint. [error with red]. Normal pull-downs just won't open. Is there a way to protect from this error ???

Along the same line ...

For stock pull-downs, I've used a TEXT box [like an array] to fill the entries, however, you're [really cool' one] uses a 'string'. For me to make it work with what I need to have, I have to follow the TEXT box with a 'STR ARR to Selector STR' prim.

Could it be possible to mod your design like the stock ones, but still have the color and selection layout like you did ??

It would be great to have the flexibility to use these without having to change the schematic layout ! 8-)

As to this 'GUI Project' ... I've had a little more time to tweak the design while getting to test it. Generally, it is behaving quite well :D With this type of interface design, with lots of sharing of components, I'm having to test extensively.

I've not yet filled the rack with a full stack of modules ... but it should be interesting to compare resources usage to my V1 design.

Anyway ... Thanks for any help NuBeat !!
:D
RJHollins
 
Posts: 1571
Joined: Thu Mar 08, 2012 7:58 pm

Re: Design concept question [selectable GUI]

Postby Nubeat7 » Tue May 06, 2014 9:03 am

RJHollins wrote:If a blank string is used for the list entries ... we get a RUBY complaint. [error with red]. Normal pull-downs just won't open. Is there a way to protect from this error ??


:) i wanted to do this since ages, just always was to lazy...

just add this line
Code: Select all
label = ' ' if label == nil

after this one
Code: Select all
label = @items.split(',')[@check]

so if label is nil which is the case at empty items input it just shows 1space or what ever you want

and if you want to use a textbox(array) instead of commaseperated itemslist just eliminate the .split(',')
User avatar
Nubeat7
 
Posts: 1347
Joined: Sat Apr 14, 2012 9:59 am
Location: Vienna

Re: Design concept question [selectable GUI]

Postby RJHollins » Tue May 06, 2014 7:09 pm

Hi NuBeat,

I went in and made the mods posted above, but the display of the selected item is not working correctly :|

here's the code from example:
Code: Select all
def draw i,v
  #        label = @items.split(',')[@check]
   label = @items [@check]
   label = ' ' if label == nil
   
   
   rc = [0.2,0.2,v.width-0.4,v.height-0.4]
   outl = Pen.new @c5,0.2
   b = Brush.new @c4
   font = Font.new 'Arial',1.125,'bold'
   sf = StringFormat.new
   sf.setAlignment "center"
   sf.setLineAlignment "center"
   
   v.drawRoundRect outl,rc,0.2
   v.drawString label,font,sf,rc,b
end
def isInMousePoint
   true
end
def mouseLDown
   p = [0,0]
   createDropList 0,1,p,@items,@check,6
end
def dropListFinished id,index,name
   if id == 1
      output index      
   end   
end
def event i,v
   redraw
end



something else I'm confused on is what the formatting settings are [in the code] that can alter the pulldown layout. Could you 'comment' the line that handles that ... I've been using the ole, 'trial and error' method ... which means plenty of 'trying errors' :roll: :lol:
RJHollins
 
Posts: 1571
Joined: Thu Mar 08, 2012 7:58 pm

Re: Design concept question [selectable GUI]

Postby Nubeat7 » Tue May 06, 2014 11:55 pm

ha, sorry just checked it fast in the morning only with a,b,c,d in the text box where it was working but using whole words it shows only the first letter...

so this should work
Code: Select all
def draw i,v

   label = @items.split(/\r\n/)[@check]
   label = ' ' if label == nil
   
   rc = [0.2,0.2,v.width-0.4,v.height-0.4]
   outl = Pen.new @c5,0.2
   b = Brush.new @c4
   font = Font.new 'Arial',1.125,'bold'
   sf = StringFormat.new
   sf.setAlignment "center"
   sf.setLineAlignment "center"
   
   v.drawRoundRect outl,rc,0.2
   v.drawString label,font,sf,rc,b
end
def isInMousePoint
   true
end
def mouseLDown
   p = [0,0]
   createDropList 0,1,p,@items,@check,6 #the last one (6 in this case) sets how many items will be in a row
end
def dropListFinished id,index,name
   if id == 1
      output index      
   end   
end


in the mouseLDown methode you create the Droplist and give it some values - the last of it sets the items in a row

hope it works well now because its late in the evening and it was only a fast check either :D
User avatar
Nubeat7
 
Posts: 1347
Joined: Sat Apr 14, 2012 9:59 am
Location: Vienna

Re: Design concept question [selectable GUI]

Postby RJHollins » Wed May 07, 2014 12:36 am

ahh .... Big Thanks NuBeat ... checking it out as we speak.

I just needed to add a
Code: Select all
def event i,v
   redraw
end


at the end of the code to refresh the display.

I'll be 'kickin the tires' with it ... but the quick test is looking good.

Interesting what you did on the 'split' code.
Code: Select all
label = @items.split(/\r\n/)[@check]

that is a confusing section of RUBY for me :roll: I kinda,almost get it ... then .... nothing :shock:
:lol:
again ... thanks for your time on knowledge helping me !!
8-)
RJHollins
 
Posts: 1571
Joined: Thu Mar 08, 2012 7:58 pm

Re: Design concept question [selectable GUI]

Postby Nubeat7 » Wed May 07, 2014 8:57 am

oh cool it worked with the redraw methode...
RJHollins wrote:Interesting what you did on the 'split' code.
Code: Select all
label = @items.split(/\r\n/)[@check]

that is a confusing section of RUBY for me :roll: I kinda,almost get it ... then .... nothing :shock:
:lol:

.split(/\r\n/)

means that it splits the string at every 'return' and 'newline' into the next array index - the textbox includes this 2 asci signs on every new line.. kind a similar with the comma in the common string version where you split at ','
User avatar
Nubeat7
 
Posts: 1347
Joined: Sat Apr 14, 2012 9:59 am
Location: Vienna

Re: Design concept question [selectable GUI]

Postby RJHollins » Wed May 07, 2014 10:25 am

Ahh thank-you !

I think it's the look of the code that throws me at first ... :roll:
Code: Select all
.split(/\r\n/)

I forget that the / and / are like markers ... and the \r and \n are the actions ... [my poor understanding] :oops:
But in its 'simplicity' I can appreciate the power.

I've put the changes in my project ... things seem to be working well.

In the continued effort to slim down and max a GUI interface, I've started looking at some of the 'pop-out' windows.
There are certain GUI controls that are not always needed [to be seen] at all times. I'm looking to place those into a pop-out, or slid-over window that would contain the controls. When the pop-out is not being used, I may display just the values on the main GUI.

I've also looked at some example 'mouse controlled' number boxes that can be 'dragged' to change values. It's an interesting concept ... but I've not found it as useful or practical as yet. [particularly when used to substitute for a slider]. Certain elements like up/down incrementing box displays is another design I've seen examples of.

I guess I'm looking to pull together a comprehensive package of GUI controls. This 'multi-function' design, where single elements can be modified in real-time is really nice. Just being able to switch a knob from STEPS to continuous also has it's advantages.

That means I really need to look closer at 'vector' designs. When using KNOBMan, it was nice to have the lighting and shadows to add some realism to a knob ... it just wish that we had more graphics ability with RUBY [although I've only scratched the surface there].

Anyway ... just trying to push the learning curve and get to different design concepts 8-)

Thanks !!!!
:D
RJHollins
 
Posts: 1571
Joined: Thu Mar 08, 2012 7:58 pm

PreviousNext

Return to General

Who is online

Users browsing this forum: Google [Bot] and 42 guests