XHip--Please finish your synth!!
- KVRAF
- 12615 posts since 7 Dec, 2004
okke, you know if you want, you can create a layout like you already have only with some improvements (offering a switch for 12/24 and 6/12 on the filters and other things) i can create a gui for xhip based upon your layout. i hope you havent put too much work into implementing the layout since i can probably do the same stuff much more quickly and easilly not to mention with much more flexability directly as an additional gui for xhip.
i could start implementing it right now, but i'm unsure about some of the controls since you've changed some labels and the layout is missing some things which have recently been added.
if you want, we can work togeather on this. have you noticed my posts asking for layout and control designs? this is exactly the kind of thing i was talking about.
by the way, the way you have things laid out isnt quite as bad as i would imagine everything on a single page in that format. great work!
i could start implementing it right now, but i'm unsure about some of the controls since you've changed some labels and the layout is missing some things which have recently been added.
if you want, we can work togeather on this. have you noticed my posts asking for layout and control designs? this is exactly the kind of thing i was talking about.
by the way, the way you have things laid out isnt quite as bad as i would imagine everything on a single page in that format. great work!
-
- KVRist
- 71 posts since 26 Feb, 2006 from Amsterdam
Hi Aciddose,
thank you for your comments. I'm generally interested in GUI design, but please notice that this particular one is made to use in combination with the Behringer BCR2000 midicontroller:
http://www.musikrestposten.de/images/ar ... 045-2o.jpg
&
http://media.zzounds.com/media/brand,zz ... 4d9bb5.jpg
You will probably recognize the same layout. My plugin is basically a control-dummy-box (Synthedit). All the advanced midi routing and feedback is done by Live. Making a GUI with this particular layout is important to me, because I have and like a bcr2000 controller (and Xhip), but want to reduce the mental re-mapping to a minimum. The reason I like to do this in Synthedit etc. is that I can expand my GUI concept to any synth or effect that I use in live.
If you want to make such a BCR2000 layout available with Xhip, I think it would be great.
I also think that a very good general purpose layout (with 1 main page) would look a little different. Either way, I would be glad to help you.
As how this will work out, we have to see. My time is limited and for now I am not interested in becoming a full blown GUI designer/programmer. If you say you can make GUI implementations with great speed, I could primarily stick to explaining my GUI and discuss with you future concepts, and probably sketch some other layouts.
Also please notice that I quite like the current Xhip GUI as it is, except for the tabbed layout. Again, the main reason for me to start working on my GUI is because of my hardware controller.
In general what I think would be good for the xhip layout is:
1. 1 main page
2. certain controls that do not offer visual understanding by means of the slider position, like waveforms and filtertypes, 'need' a constant readout.
PS I will send you a (graphical) explanation of my GUI & labels by e-mail, probably today.
thank you for your comments. I'm generally interested in GUI design, but please notice that this particular one is made to use in combination with the Behringer BCR2000 midicontroller:
http://www.musikrestposten.de/images/ar ... 045-2o.jpg
&
http://media.zzounds.com/media/brand,zz ... 4d9bb5.jpg
You will probably recognize the same layout. My plugin is basically a control-dummy-box (Synthedit). All the advanced midi routing and feedback is done by Live. Making a GUI with this particular layout is important to me, because I have and like a bcr2000 controller (and Xhip), but want to reduce the mental re-mapping to a minimum. The reason I like to do this in Synthedit etc. is that I can expand my GUI concept to any synth or effect that I use in live.
If you want to make such a BCR2000 layout available with Xhip, I think it would be great.
I also think that a very good general purpose layout (with 1 main page) would look a little different. Either way, I would be glad to help you.
As how this will work out, we have to see. My time is limited and for now I am not interested in becoming a full blown GUI designer/programmer. If you say you can make GUI implementations with great speed, I could primarily stick to explaining my GUI and discuss with you future concepts, and probably sketch some other layouts.
Also please notice that I quite like the current Xhip GUI as it is, except for the tabbed layout. Again, the main reason for me to start working on my GUI is because of my hardware controller.
In general what I think would be good for the xhip layout is:
1. 1 main page
2. certain controls that do not offer visual understanding by means of the slider position, like waveforms and filtertypes, 'need' a constant readout.
PS I will send you a (graphical) explanation of my GUI & labels by e-mail, probably today.
- KVRAF
- 12615 posts since 7 Dec, 2004
alright great. take note that any guis i make for xhip are going to be extra. you'll be able to load them like skins, so it isnt a big deal which designs are used, they'll all be optional. i can create as many as i like.
the programming aspects are all handled by me. what i need from people is just a combination of layout and widget design that i can implement. a basic bitmap example, a bitmap of each control, and some explaination is all i need to create the implementations from anyone's designs.
it'll be great if you can make the changes you want quickly and give me some basic documentation, i could implement this is no time since it only uses controls which i already have working.
i mean, you dont need to go through the whole process of doing everything in synthedit. if you want to make some basic changes just do some scribbling in mspaint. i just need to get the general idea, that is all.
the programming aspects are all handled by me. what i need from people is just a combination of layout and widget design that i can implement. a basic bitmap example, a bitmap of each control, and some explaination is all i need to create the implementations from anyone's designs.
it'll be great if you can make the changes you want quickly and give me some basic documentation, i could implement this is no time since it only uses controls which i already have working.
i mean, you dont need to go through the whole process of doing everything in synthedit. if you want to make some basic changes just do some scribbling in mspaint. i just need to get the general idea, that is all.
-
- KVRAF
- 8519 posts since 7 Apr, 2003
aciddose; how much flexibility is there in the paging? i mean is it assumed that if we just give you flat files and stuff it can work? what about animation? how do you handle that? is it stacked vertically (common) or are you drawing some pot tick on top of a flat graphic (like fl dashboard) ?
i'd love to take a whack at building a skin you. it's worthy of many great UIs for sure.
i'd love to take a whack at building a skin you. it's worthy of many great UIs for sure.
-
- KVRAF
- 10815 posts since 26 Nov, 2004 from UK
grymmjack wrote:aciddose; how much flexibility is there in the paging? i mean is it assumed that if we just give you flat files and stuff it can work? what about animation? how do you handle that? is it stacked vertically (common) or are you drawing some pot tick on top of a flat graphic (like fl dashboard) ?
i'd love to take a whack at building a skin you. it's worthy of many great UIs for sure.
i love your work & your online persona & i love Xhip & aciddose has a entertaining straight talking on line persona as well,
as you know via PM's i have sent you i really wanted a grymm GUI for Xhip, not only do they look shit hot but they also remove the need to RTFM
heres hoping i get to watch a xhip gui evolve
Subz
-
- KVRAF
- 8519 posts since 7 Apr, 2003
-
- KVRian
- 533 posts since 16 Jan, 2006 from France
+1. I'd really love a Grym skin for Xhip.
I'd keep the single page layout which is great but with more coloured-delimited sections, I mean, exactly the kind of work that went into reorganizing workflow in Oatmeal.
Grym, you're da man : )
edit : and it's 'Xhip' not 'XHip'
!!
I'd keep the single page layout which is great but with more coloured-delimited sections, I mean, exactly the kind of work that went into reorganizing workflow in Oatmeal.
Grym, you're da man : )
edit : and it's 'Xhip' not 'XHip'
- KVRAF
- 12615 posts since 7 Dec, 2004
i have pretty much everything you could ever dream of already implemented in xhip's gui code. it supports scaling, rotation, all sorts of blending. the only type of stuff i havent got would be projecting a texture onto a 3d plane and that sort of thing, but who needs that? :P
the only question is of how much cpu power the gui will take to render. currently it takes quite a lot and i'm not even doing that much. animation is no problem, with my gui each control has it's own idle function where if it wants it can redraw animated parts. timing isnt implemented, but that will take about ten minutes to code since i've already got it all working in my 3d engine.
i'm able to load bitmaps and jpgs, not pngs. if there is a bitmap you want to use where png can get better compression than jpg, chances are it'll be better to simply render everything in that bitmap using my graphics code.
the way the gui system works, every element is a "frame" which can contain a list of other elements. all elements have zorder (not yet working, but very soon) and can be opened and closed. the pagebox control i use in xhip's gui works by creating npages box controls and setting all of those to "closed" state. the selected/viewed page is then the only page set to the opened state, so it gets displayed and receives messages.
so, really there is no limitation on what we can do here. everything you can imagine is possible, and you'll end up having things discribed to you by me which you'd never have imagined otherwise :P
if it turns out you need a certain function, i'll implement it.
right now, the controls are all drawn completely. first the background is drawn, then the body, then the overlay, etc. the sliders for example are constructed from three elements. a region which contains a raised-3d element, which contains a contrast-text element, which contains two text elements.
the region paints the background either based upon a background bitmap index handed to it, or does a shaded/patterned/flat fill. the raised-3d element draws a rectangle and applies addition/subtraction to the edges to get the 3d effect. the same raised-3d element is used for the buttons and the sliders, checkboxes, etc. the contrast-text element then contains two sub text elements. when created, the color of the two elements is set based upon calculations to do with the intensity of the colors of the background and text. all of the white text in xhip you should see has a black version of the same text drawn behind it to improve the contrast.
if you need explainations for anything else just ask, i'll give you the code.
the only question is of how much cpu power the gui will take to render. currently it takes quite a lot and i'm not even doing that much. animation is no problem, with my gui each control has it's own idle function where if it wants it can redraw animated parts. timing isnt implemented, but that will take about ten minutes to code since i've already got it all working in my 3d engine.
i'm able to load bitmaps and jpgs, not pngs. if there is a bitmap you want to use where png can get better compression than jpg, chances are it'll be better to simply render everything in that bitmap using my graphics code.
the way the gui system works, every element is a "frame" which can contain a list of other elements. all elements have zorder (not yet working, but very soon) and can be opened and closed. the pagebox control i use in xhip's gui works by creating npages box controls and setting all of those to "closed" state. the selected/viewed page is then the only page set to the opened state, so it gets displayed and receives messages.
so, really there is no limitation on what we can do here. everything you can imagine is possible, and you'll end up having things discribed to you by me which you'd never have imagined otherwise :P
if it turns out you need a certain function, i'll implement it.
right now, the controls are all drawn completely. first the background is drawn, then the body, then the overlay, etc. the sliders for example are constructed from three elements. a region which contains a raised-3d element, which contains a contrast-text element, which contains two text elements.
the region paints the background either based upon a background bitmap index handed to it, or does a shaded/patterned/flat fill. the raised-3d element draws a rectangle and applies addition/subtraction to the edges to get the 3d effect. the same raised-3d element is used for the buttons and the sliders, checkboxes, etc. the contrast-text element then contains two sub text elements. when created, the color of the two elements is set based upon calculations to do with the intensity of the colors of the background and text. all of the white text in xhip you should see has a black version of the same text drawn behind it to improve the contrast.
if you need explainations for anything else just ask, i'll give you the code.
- KVRAF
- 12615 posts since 7 Dec, 2004
i decided to try to make a track with xhip as it is now so that i can ensure it is usable and working correctly. i fixed a couple bugs in the process too, so it seems to have been a good idea.
http://xhip.cjb.net/temp/public/capture001.mp3
this is just fooling around, only took an hour. runs in realtime (including effects) on this pc though which is pretty awesome. when did xhip get so fast? :) actually i think the major difference here is the work i did on the reverb, it takes hardly any cpu now.
http://xhip.cjb.net/temp/public/capture001.mp3
this is just fooling around, only took an hour. runs in realtime (including effects) on this pc though which is pretty awesome. when did xhip get so fast? :) actually i think the major difference here is the work i did on the reverb, it takes hardly any cpu now.
-
- KVRAF
- 8519 posts since 7 Apr, 2003
aciddose; ah lots of details 
i think i should have asked more specific questions:
- to create a fader (with all graphic images that are BMP files) how is it done?
i've seen it done several ways; the SE way is you have every single frame drawn with the fader knob and the slider on the same image in every frame. basically when you drag up or down with SE control it just adjusts the frame.. pretty simple but it works. the other kind are the kind that use a separate knob bitmap, and the skin definition file determines the width/heights of the distance it can travel on a background. so how does xhips work?
- to create a knob (with all graphic images that are BMP files) how is it done?
i've seen this done several ways too. the common way is to have again every frame contain the entire control (and if no PNG RGBA support then it means also the background around it since pots are circle shapes and images are always square) stacked vertically or horizontally. the other kind are the kind that are in flstudio dashboard where you define just the x/y and w/h and color of the ticks and the actual underlying pots dont change at all, in fact they aren't separate images but are stored as part of the background. so how will xhips work?
- to create a 2 state push button (with all graphic images that are BMP files)?
again most common i've found so far is stacked vertical or horizontal frames. how will xhips work?
thanks. i dont need to know the code specific stuff, just whatever is in the domain of 2D and flat images with skin definitions.. are you going to use .INI format for the skin files or XML or what?
thanks
i think i should have asked more specific questions:
- to create a fader (with all graphic images that are BMP files) how is it done?
i've seen it done several ways; the SE way is you have every single frame drawn with the fader knob and the slider on the same image in every frame. basically when you drag up or down with SE control it just adjusts the frame.. pretty simple but it works. the other kind are the kind that use a separate knob bitmap, and the skin definition file determines the width/heights of the distance it can travel on a background. so how does xhips work?
- to create a knob (with all graphic images that are BMP files) how is it done?
i've seen this done several ways too. the common way is to have again every frame contain the entire control (and if no PNG RGBA support then it means also the background around it since pots are circle shapes and images are always square) stacked vertically or horizontally. the other kind are the kind that are in flstudio dashboard where you define just the x/y and w/h and color of the ticks and the actual underlying pots dont change at all, in fact they aren't separate images but are stored as part of the background. so how will xhips work?
- to create a 2 state push button (with all graphic images that are BMP files)?
again most common i've found so far is stacked vertical or horizontal frames. how will xhips work?
thanks. i dont need to know the code specific stuff, just whatever is in the domain of 2D and flat images with skin definitions.. are you going to use .INI format for the skin files or XML or what?
thanks
-
- KVRAF
- 8519 posts since 7 Apr, 2003
- KVRAF
- 12615 posts since 7 Dec, 2004
with xhip's controls, i'll actually implement a different control for each design. there isnt any ini file or anything for skinning, this isnt skinning in the usual sense. it isnt skinning in any sense actually, i just ment to say when you load the gui's it will be like selecting a skin. each gui will be a seperate dll file, renamed to something like mygui.xhipgui
in order to use bitmaps, i can just map the bitmaps into the rectangles which are already drawn as thebackground for the existing slider control. basically it'll just use a stretchblit to fit the bitmap into any size you like. you can ask me to do anything, literally anything.
for example you could use a bitmap for the background of a slider, then have me render the handle from a 3d object which rotates in realtime (animation) casting a shadow onto the bitmap background. that sort of thing is fairly easy actually.
knob, same deal. itcan be done about 100 ways, i can do every single one of them. rather than use 100 rotated bitmaps though, i can easilly rotate a single bitmap in software.
example of a drawn knob:
http://xhip.cjb.net/temp/public/fancy_knob.dll
http://xhip.cjb.net/temp/public/sc_knob.dll
example of drawn slider:
http://xhip.cjb.net/temp/public/slider.dll
http://xhip.cjb.net/temp/public/sotoslider.dll
example of realtime rendered 3d:
http://xhip.cjb.net/temp/public/3dmodel.dll
i havent bothered to make an example of bitmap stuff due to the fact i dont really have a good general purpose bitmap control to use, and i'm also fairly lazy. if you like you can try this weasel-3000 thing which does a simple knob via a combination of bitmaps, bitmap rotation and scaling, and blending/overlay.
http://xhip.cjb.net/temp/public/binary/weasel-3000.dll
for configuration though, you have available to you a database format simmilar to the windows registry. i'm not sure what the correct term for this type of database is, i guess "registry" ?
anyway, you have keys, keys can contain additional keys. each key has an associated data value. the data value can be one of several types. an integer, a boolean, a text string or a binary chunk.
the format looks like the following, which is a plain text file that is parsed in.
you have that available to you if you want to be able to customize different settings on your gui.
in order to use bitmaps, i can just map the bitmaps into the rectangles which are already drawn as thebackground for the existing slider control. basically it'll just use a stretchblit to fit the bitmap into any size you like. you can ask me to do anything, literally anything.
for example you could use a bitmap for the background of a slider, then have me render the handle from a 3d object which rotates in realtime (animation) casting a shadow onto the bitmap background. that sort of thing is fairly easy actually.
knob, same deal. itcan be done about 100 ways, i can do every single one of them. rather than use 100 rotated bitmaps though, i can easilly rotate a single bitmap in software.
example of a drawn knob:
http://xhip.cjb.net/temp/public/fancy_knob.dll
http://xhip.cjb.net/temp/public/sc_knob.dll
example of drawn slider:
http://xhip.cjb.net/temp/public/slider.dll
http://xhip.cjb.net/temp/public/sotoslider.dll
example of realtime rendered 3d:
http://xhip.cjb.net/temp/public/3dmodel.dll
i havent bothered to make an example of bitmap stuff due to the fact i dont really have a good general purpose bitmap control to use, and i'm also fairly lazy. if you like you can try this weasel-3000 thing which does a simple knob via a combination of bitmaps, bitmap rotation and scaling, and blending/overlay.
http://xhip.cjb.net/temp/public/binary/weasel-3000.dll
for configuration though, you have available to you a database format simmilar to the windows registry. i'm not sure what the correct term for this type of database is, i guess "registry" ?
anyway, you have keys, keys can contain additional keys. each key has an associated data value. the data value can be one of several types. an integer, a boolean, a text string or a binary chunk.
the format looks like the following, which is a plain text file that is parsed in.
Code: Select all
default
{
background
{
= 1;
color = 0x00404040;
shade = 1;
}
border
{
= 1;
color = hls(0,0.5,0);
}
text
{
= true;
color = rgb(1,1,1);
background = "mypath/bitmap.jpg";
border = false;
}
-
- KVRAF
- 10815 posts since 26 Nov, 2004 from UK
-
- KVRAF
- 6241 posts since 26 Sep, 2003 from right here, as you can see ...
yes, a hughe "+1000" for a grymjack, aciddose!!
this guy is just marvelous!
btw, thanks for your detailled explanation on "what's a smpl chunk" ...
i'll dig into this further, asap ...
this guy is just marvelous!
btw, thanks for your detailled explanation on "what's a smpl chunk" ...
i'll dig into this further, asap ...
regards,
brok landers
BIGTONEsounddesign
gear is as good as the innovation behind it-the man
brok landers
BIGTONEsounddesign
gear is as good as the innovation behind it-the man
-
- KVRAF
- 10815 posts since 26 Nov, 2004 from UK
