New Xhip alpha

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Locked New Topic
RELATED
PRODUCTS

Post

When you export the png you need to disable (uncheck) the colored layer (named "gray") to allow the alpha in the image.

That layer is only there for previewing.

With a solid color image like this, it makes the colors selection in the GUI (click on the logo) useless.

It works by drawing the color gradient first, then overlaying this background image.

I'll see if I can quickly implement the code required to allow over-ride of the images.

I can add any custom colors or gradients requested.

The format is:

Code: Select all

Color_name
rgb(red, green, blue)

Gradient_name
blend:
hls(hue, lightness, saturation)
hls(hue, lightness, saturation)
hls(hue, lightness, saturation)
hls(hue, lightness, saturation)
You can use simple equations here (add/sub/mul/div) such as:
1/16, 42*99, 1/12 + 3/5

This will also be imported as part of the skinning capability at some point...

Here is the actual code used:

Code: Select all

	cmap_t("Red",        "hls(0/12, 2/5, 7/8)"),
	cmap_t("Orange",     "hls(1/12, 2/5, 7/8)"),
	cmap_t("Yellow",     "hls(2/12, 2/5, 7/8)"),
	cmap_t("Chartreuse", "hls(3/12, 2/5, 7/8)"),
	cmap_t("Green",      "hls(4/12, 2/5, 7/8)"),
	cmap_t("Spring",     "hls(5/12, 2/5, 7/8)"),
	cmap_t("Cyan",       "hls(6/12, 2/5, 7/8)"),
	cmap_t("Sky",        "hls(7/12, 2/5, 7/8)"),
	cmap_t("Blue",       "hls(8/12, 2/5, 7/8)"),
	cmap_t("Purple",     "hls(9/12, 2/5, 7/8)"),
	cmap_t("Violet",     "hls(10/12, 2/5, 7/8)"),
	cmap_t("Pink",       "hls(11/12, 2/5, 7/8)"),
	cmap_t("Dark",       "hls(2/3, 3/18, 1/10)"),
	cmap_t("Gray",       "hls(0, 1/2, 0)"),
	cmap_t("White",      "hls(0, 1, 1)"),

	// blends
	cmap_t("RGBK",
		"blend:\n"
		"hls(0/3, 1/2, 1)\n"
		"hls(1/3, 1/2, 1)\n"
		"hls(2/3, 1/2, 1)\n"
		"hls(0, 0, 1)\n"),
	cmap_t("Cotton candy",
		"blend:\n"
		"hls(8/9, 5/9, 1)\n"
		"hls(8/9, 7/9, 1)\n"
		"hls(5/9, 5/9, 1)\n"
		"hls(5/9, 7/9, 1)\n"),
	cmap_t("Florida sunset",
		"blend:\n"
		"hls(11/15, 2/5, 1)\n"
		"hls(11/15, 1/2, 1)\n"
		"hls(1/15, 2/5, 1)\n"
		"hls(1/15, 1/2, 1)\n"),
If you offer me a color/gradient suggestion I can write it directly into the code for you.

Your color in HSV = 140/360, 1/2, 3/4 - 1/100

http://colormine.org/convert/hsl-to-hsv

HSV -> HLS translation = 0.388, 0.553, 0.412
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

It'll take me a little while to get everything set up correctly. I might just decide to get the skin override functionality working rather than do a custom version, but as it is now I'll try to update the alpha without actually testing it.

I "think" everything is okay and good to go but without testing it and reviewing changes you never know...

http://i.imgur.com/tSguakV.png

Don't worry, if anyone doesn't like this it isn't a big deal, I'll most likely use the "high contrast" as a default in the future. I think this white text looks a bit blurry since turning it white makes the text fatter.

So consider this a special/temporary version. (Get it from the alpha page.)

I've added the big knobs/etc back for resizing. This makes it a lot bigger but zip helps a bit.

Note if you use the resize function it'll use the cached background bitmaps. I haven't added any function to deal with this yet so you'll need to go in and manually delete them if you want them replaced.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

aciddose wrote:When you export the png you need to disable (uncheck) the colored layer (named "gray") to allow the alpha in the image.

That layer is only there for previewing.

With a solid color image like this, it makes the colors selection in the GUI (click on the logo) useless.

It works by drawing the color gradient first, then overlaying this background image.
Ahhh, you should have said earlier! As I said, I'm a noob at image editing and I don't even see where this "gray" layer is, or know where I should look for it. It's not among the other layers, nor in the save dialog - so where is it?

Your jargon is too technical, I'm not a coder. :oops:

Anyway, big thanks for the implementation, I use it in 100% size so it's fine for me. The colors are exactly (or very close to) the way I want them, and you know their RGB values, so if you implement them as part of the code - that's fine. As for the text, I like it white, and yes, maybe the letters are a bit too fat, but I didn't make them that way. So if you can make them sharper - great, please do!

Post

I've already implemented it, it's on the alpha page.

I think I did mention the gray thing although yes, my descriptions are lengthy and technical :)

I'm rarely succinct or eloquent.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

I already downloaded it. You've made the colours a bit darker though. Color Cop says so. What about the tiny-tiny grey letters that were not in the paint.net file? As in the bottom of the Control panel? Can you make them white?

(I can export the png with the grey layer disabled if you want me to, just say where to look for it. Or just send you the pdn file.)

Post

Oh, yeah those are drawn directly by the GUI code.

I could make them white, it will take a bit more effort. I'll look into that later.

This is all more a skinning thing. Really those aren't supposed to be readable, you only need to read them once to understand what they are and from then on shouldn't need to see them.

That is why having them white is annoying. With gray text they blend in and don't demand much attention.

I've already reproduced what you did in PDN, so no need to export that.

I may end up drawing all the text at some point, but this is a lot! of work. It will take me months of effort to do the skinning system and get absolutely everything to work correctly.

Replacement of the bitmaps is reasonably easy but full skinning is complex and involves 100s of different issues that need to be dealt with or solved.

The color is actually exact. 100% the same color. It just is used as the color for a gradient, so the intensity is varied across it.

I can fix that too, I'll add a "flat" version of the color when I make the label text white.

ATM though my aim is to make variable fonts work correctly so this is a bit too much of a distraction to play with for too long.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

As far as I'm concerned, you already did enough. You made a skin I can use - thanks a lot! Please keep it among the options - could be useful to somebody else too. What you do with the whole skinning implementation thing is up to you really. I could only say - good luck!
aciddose wrote:The color is actually exact. 100% the same color. It just is used as the color for a gradient, so the intensity is varied across it.
It looks darker here. And Color Cop can measure it. But this is nitpicking, totally not important for me. I just mentioned it.

Post

aciddose wrote:I may end up drawing all the text at some point, but this is a lot! of work. It will take me months of effort to do the skinning system and get absolutely everything to work correctly.
OK... Aciddose, i know you are doing this for fun.
But please, maybe it will be better to just focus on the audio side of the plugin ?
btw. I like the original size.
Everything is perfectly readable on my 23 inch 2048x1152 screen and i can almost fit 6 Xhips there. :clap:
[====[\\\\\\\\]>------,

Ay caramba !

Post

Mutant wrote:But please, maybe it will be better to just focus on the audio side of the plugin ?
+1
First things first. I didn't mean to distract him from those... Currently waiting for the saving to be implemented.

Post

I haven't touched the audio side for years. It has all been GUI stuff really. I did recently add the new xmod modes, but the audio code was in there since years ago (soon after I released the last version) and it just needed the new menu functionality to actually control. Have you noticed the new layouts of the menus? Ever seen another plugin with this? That stuff is hard.

Actually saving the stuff in presets is more or less automatic. It amounts to adding a few lines really.

The problem is you need to have some ability to control this stuff! That's GUI.

The other stuff I've been working on (effects, route, etc) aren't really part of the audio/synthesizer, they're the "control matrix" or "controller". Xhip is basically a single monophonic voice. That is contained inside a voice manager where new voices are called up and global stuff (common to all voices) is managed. That is contained inside a synthesizer which handles things like parameters, pitch bend, routing stuff to the right voices and so on. Next we have the matrix/controller which sets up the synthesizer and manages unison, more parameters (mode flags) and the route functionality, layering / multi-timbrality that isn't yet on the GUI and a few other features most important of which is the ability for the synthesizer to save presets/banks/state. Then we have the VST wrapper which contains close to nothing, it depends upon the controller but the controller doesn't depend upon it, so it should be trivial to do other formats like AU, or in the case of my stand-alone stuff there is no plugin format, the controller is the plugin format. Then the VST wrapper also depends upon the GUI, which has its own complicated hierarchy.

I don't usually put any real effort toward the core modules the "voice" is built from. That stuff is fun and reasonably easy.

90% of everything is GUI and interfaces (interfaces as in between code, not user interfaces.)
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

The 32 bit Alpha r630 crashed both FL Studio and Orion.
None are so hopelessly enslaved as those who falsely believe they are free. Johann Wolfgang von Goethe

Post

How?

FL Studio's VST wrapper calls plugin->editor_idle() from multiple threads at once. There is absolutely no way to prevent crashes in certain situations because of this. No other hosts do this.

Orion is discontinued, unsupported and we've already established the last alpha/beta had serious issues. Which version are you running?

Regardless I won't be supporting Orion, period. It is completely impractical. Orion no longer exists as a host, it is completely discontinued.

If you can reproduce a crash with a specific method without using a bizarre environment (wine from OSX, old discontinued alpha/beta versions, broken vst implementations like FL Studio) it becomes very important to me to fix it.

If you can only tell me "it crashes" though there is really nothing I can do about it. Even looking into such a claim would be a complete waste of time for me.

I'd really appreciate it if specific information were provided.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

How ? That's for you to figure out. You're the synth genius.

EDIT: I'll remove the screenshot and error report that took me time to create since I'm being "useless".

For your information r627 works just fine in both FL and Orion. I have hundreds of plugins working perfectly in FL Studio Version 11 and 12, 32 bit and 64 bit. It's hardly a "bizarre environment" at least not to the dozens of developers who know how to code. I could test in Sonar and Reaper as well but see below..........
aciddose wrote: Even looking into such a claim would be a complete waste of time for me. I'd really appreciate it if specific information were provided.
Sorry after checking out the working r627 it's not a synth worth bothering with......... it would be a "complete waste of time for me".
Last edited by Teksonik on Sun Aug 23, 2015 4:00 am, edited 2 times in total.
None are so hopelessly enslaved as those who falsely believe they are free. Johann Wolfgang von Goethe

Post

Yes but what causes this?

As I said FL studio calls GUI functions from multiple threads at the same time. This means if code like this exists:

Code: Select all

if (pointer) {
 pointer->function();
}
Since FL Studio has set pointer = 0 in another thread, the thread executing this code will be inside the check and will attempt to call the function from a null pointer.

There is absolutely no way to work around this, it is a FL Studio bug.
Teksonik wrote:How ? That's for you to figure out. You're the synth genius.
Sorry after checking out the working r627 it's not a synth worth bothering with......... it would be a "complete waste of time for me".
I see.

So in other words you've come here on a personal vendetta to waste my time while flooding the thread to make it hard for users with genuine interest to read genuine content.
Last edited by aciddose on Sun Aug 23, 2015 3:54 am, edited 1 time in total.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

Like I said that's for you to figure out and like I also said I have hundreds of plugins working in FL Studio so it's obviously not that hard to figure out.

I've deleted Xhip. Good luck with future versions.
None are so hopelessly enslaved as those who falsely believe they are free. Johann Wolfgang von Goethe

Locked

Return to “Instruments”