Page 1 of 4

Super Text Box

PostPosted: Mon Nov 19, 2012 11:12 pm
by trogluddite
Hi All,
Here's my first complete all singing and dancing Ruby project - an advanced text box...
STB 01B01.png
STB 01B01.png (43.08 KiB) Viewed 35784 times

Super Text Box 01 Beta 04 BettaDraw.fsm
(14.29 KiB) Downloaded 1606 times

Features...
- Input data as a 'green' string, string array or Ruby array
- Scroll bar for navigating lots of data (Permanent, Auto-hide & Off modes)
- Any number of columns with custom headings (Headings can be hidden)
- Column width can be adjusted by dragging the vertical dividers
- Click on column headings to sort the data - numbers are parsed out of strings for proper ordering
- Select single items, CTRL-click to select/deselect multiple items, SHIFT-click to select a range
- Any combination of input column fields can be sent to the output - including extra 'hidden' columns that are not displayed.
- When using Ruby Arrays as inputs, you can freely mix data types, and even tag individual rows with a text colour.
- Selections can be stored by the preset manager.
- Module properties for GUI customising, and turning off unwanted features - you could make it purely a display box if you wanted to.
- User guide built into the properties panel (purged on export to save file size)
- Screen redraws limited to prevent GUI CPU hogging.

The schematic file contains examples of the various inputs formats etc. It has been fairly well tested, but I'm calling it a Beta just for now - so please report any bugs you find, or any ideas for improvement.
Couple of things to watch out for...
- When using Ruby arrays, there are some data types that cannot be converted to text. They are allowed in 'hidden' columns, though.
- Some built in Ruby classes cannot be saved within a schematic (e.g. brushes). If these are present in the input or output arrays, there will be an error at startup. Nothing I can do about this - the dev's will need to write the correct methods into the Ruby API classes.
- Take care if using the preset manager. It can only store the indexes of the selected rows, so it only makes sense to use this if the displayed data always stays in the same order (turn the sorting features off in the properties panel)

Hopefully coming soon....
A dedicated single column version - this will save CPU load from the array and hash lookups needed to support multiple columns.
MIDI monitor - what I really built this for, but I have a few 'special' features in mind that I'm still working on....
File Browser - possibly?! I never liked having to use the horrible Windows one, and it still only lets you select a file but not folders.

It's free for all to use any way you like. If you make use of it, I'd love to see what you've done - and my name in your credits is always appreciated.
Enjoy.

Trog.

Re: Super Text Box

PostPosted: Tue Nov 20, 2012 3:54 am
by unkargherth
Absolutely awesome @Trogg

And check your PM !!

Re: Super Text Box

PostPosted: Tue Nov 20, 2012 9:08 am
by TheAudiophileDutchman
Great example :!:
Betatesting: pressing the left-top trigger results in an 'error-inside-module'.

Re: Super Text Box

PostPosted: Tue Nov 20, 2012 10:00 am
by trogluddite
Cheers guys,
@ Audiophile - can you do me a favour - take a little look inside the module when you get the error, and tell me what it says in the little message pane at the bottom of the Ruby window. Possibly there'll be a line number or method name there that will help me to de-bug.

Re: Super Text Box

PostPosted: Tue Nov 20, 2012 12:39 pm
by unkargherth
It seems to consistently fail after selecting "Example data (String array)" and then sorting on any column. Then if you click the "Select One"trigger
Code: Select all
NoMethodError: (In method 'event'): undefined method '[]' for nil:NilClass

Which leads me to think that is an index out of bounds type error. "Select One" trigger sends a "6 value", while "Example data (String array)" provides six lines of text.Assuming standard array this means array elements are numbered form 0 to 5 both included.... maybe that is the problem.. (or maybe not.. just an idea)

Re: Super Text Box

PostPosted: Tue Nov 20, 2012 3:29 pm
by trogluddite
Great - thanks for the detailed report. I'll get onto it when I get home tonight. I would guess you are right, the bounds test is most likely not robust enough - I get the (a..b) and (a...b) ranges mixed up every time!

Re: Super Text Box

PostPosted: Tue Nov 20, 2012 4:27 pm
by unkargherth
trogluddite wrote:MIDI monitor - what I really built this for, but I have a few 'special' features in mind that I'm still working on....


Take (my?) basic MIDI Monitor from here if it's worth to you. I'm very .."lazy" fro user interface... Yours is better by far

Re: Super Text Box

PostPosted: Tue Nov 20, 2012 7:16 pm
by Tronic
Trog compliments for the quick learning curve.
Now we would like the Mouse Whell support, which is also supported in the vst sdk 2.4.

please support make the rat on the wheel :)

Re: Super Text Box

PostPosted: Tue Nov 20, 2012 7:43 pm
by trogluddite
Tronic wrote:please support make the rat on the wheel

He he, guess it must be because I use a track-ball and graphics tablet, but I never even thought to try it! :oops:
A good challenge, I think, learning the .dll thing is something that I'd really like to dig into, and that is a great excuse to experiment!

Bugs first though, I think! And a peek at Unkargherth's MIDI schematic (thanks for that!).

Re: Super Text Box

PostPosted: Tue Nov 20, 2012 7:48 pm
by Drnkhobo
:o

THANKS TROG!!!!!!!!!!!!!!!

You deserve a reward my friend, if I had any dollar, it would be yours! LOL

Keep it up man, you picked up Ruby FASTER than I did and ive been learning for months!

peace