FLtabs — Creates a tabbed FLTK interface.
Plugin opcode in widgets. This opcode is part of the plugin repository and has to be installed separately. These FLTK widgets do not work on the Mac. The plugin repository can be found here: https://github.com/csound/plugins
FLtabs is a “file card tabs” interface that is useful to display several areas containing widgets in the same windows, alternatively. It must be used together with FLgroup, another container that groups child widgets.
iwidth -- width of widget.
iheight -- height of widget.
ix -- horizontal position of upper left corner of the valuator, relative to the upper left corner of corresponding window. Expressed in pixels.
iy -- vertical position of upper left corner of the valuator, relative to the upper left corner of corresponding window. Expressed in pixels.
Containers are useful to format the graphic appearance of the widgets. The most important container is FLpanel, that actually creates a window. It can be filled with other containers and/or valuators or other kinds of widgets.
There are no k-rate arguments in containers.
FLtabs is a “file card tabs” interface that is useful to display several alternate areas containing widgets in the same window.
It must be used together with FLgroup, another FLTK container opcode that groups child widgets.
The following example code:
FLpanel "Panel1", 450, 550, 100, 100 FLscroll 450, 550, 0, 0 FLtabs 400, 550, 5, 5 FLgroup "sliders", 380, 500, 10, 40, 1 gk1, ihs FLslider "FLslider 1", 500, 1000, 2 ,1, -1, 300,15, 20,50 gk2, ihs FLslider "FLslider 2", 300, 5000, 2 ,3, -1, 300,15, 20,100 gk3, ihs FLslider "FLslider 3", 350, 1000, 2 ,5, -1, 300,15, 20,150 gk4, ihs FLslider "FLslider 4", 250, 5000, 1 ,11, -1, 300,30, 20,200 gk5, ihs FLslider "FLslider 5", 220, 8000, 2 ,1, -1, 300,15, 20,250 gk6, ihs FLslider "FLslider 6", 1, 5000, 1 ,13, -1, 300,15, 20,300 gk7, ihs FLslider "FLslider 7", 870, 5000, 1 ,15, -1, 300,30, 20,350 gk8, ihs FLslider "FLslider 8", 20, 20000, 2 ,6, -1, 30,400, 350,50 FLgroupEnd FLgroup "rollers", 380, 500, 10, 30, 2 gk1, ihr FLroller "FLroller 1", 50, 1000,.1,2 ,1 ,-1, 200,22, 20,50 gk2, ihr FLroller "FLroller 2", 80, 5000,1,2 ,1 ,-1, 200,22, 20,100 gk3, ihr FLroller "FLroller 3", 50, 1000,.1,2 ,1 ,-1, 200,22, 20,150 gk4, ihr FLroller "FLroller 4", 80, 5000,1,2 ,1 ,-1, 200,22, 20,200 gk5, ihr FLroller "FLroller 5", 50, 1000,.1,2 ,1 ,-1, 200,22, 20,250 gk6, ihr FLroller "FLroller 6", 80, 5000,1,2 ,1 ,-1, 200,22, 20,300 gk7, ihr FLroller "FLroller 7",50, 5000,1,1 ,2 ,-1, 30,300, 280,50 FLgroupEnd FLgroup "joysticks", 380, 500, 10, 40, 3 gk1, gk2, ihj1, ihj2 FLjoy "FLjoy", 50, 18000, 50, 18000, 2, 2, -1, -1, 300, 300, 30, 60 FLgroupEnd FLtabsEnd FLscrollEnd FLpanelEnd
...will produce the following result:
(Each picture shows a different tab selection inside the same window.)
Here is an example of the FLtabs opcode. It uses the file FLtabs.csd.
Example 338. Example of the FLtabs opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o FLtabs.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; A single oscillator with frequency, amplitude and ; panning controls on separate file tab cards sr = 44100 kr = 441 ksmps = 100 nchnls = 2 FLpanel "Tabs", 300, 350, 100, 100 itabswidth = 280 itabsheight = 330 ix = 5 iy = 5 FLtabs itabswidth,itabsheight, ix,iy itab1width = 280 itab1height = 300 itab1x = 10 itab1y = 40 FLgroup "Tab 1", itab1width, itab1height, itab1x, itab1y gkfreq, i1 FLknob "Frequency", 200, 5000, -1, 1, -1, 70, 70, 130 FLsetVal_i 400, i1 FLgroupEnd itab2width = 280 itab2height = 300 itab2x = 10 itab2y = 40 FLgroup "Tab 2", itab2width, itab2height, itab2x, itab2y gkamp, i2 FLknob "Amplitude", 0, 15000, 0, 1, -1, 70, 70, 130 FLsetVal_i 15000, i2 FLgroupEnd itab3width = 280 itab3height = 300 itab3x = 10 itab3y = 40 FLgroup "Tab 3", itab3width, itab3height, itab3x, itab3y gkpan, i3 FLknob "Pan position", 0, 1, 0, 1, -1, 70, 70, 130 FLsetVal_i 0.5, i3 FLgroupEnd FLtabsEnd FLpanelEnd ; Run the widget thread! FLrun instr 1 ifn = 1 asig oscili gkamp, gkfreq, ifn outs asig*(1-gkpan), asig*gkpan endin </CsInstruments> <CsScore> ; Function table that defines a single cycle ; of a sine wave. f 1 0 1024 10 1 ; Instrument 1 will play a note for 1 hour. i 1 0 3600 e </CsScore> </CsoundSynthesizer>
FLgroup, FLgroupEnd, FLpack, FLpackEnd, FLpanel, FLpanelEnd, FLscroll, FLscrollEnd, FLtabsEnd