Having said that: I've tried moving to Direct3D from GDI (for normalization support), but every time I do, I end up hunting for shaders that have already been written, disliking their look and going back to GDI.

I'd propose either adding normalization support for GDI, or instating some kind of repository for example shaders (or even just a preset dir).In any case, it might be worth it to mandate an explicit split of the shader code into elements responsible for different parts of the rendering process. Complete control over the shader code is nice, but it's not very accessible or convenient.

If I implement something composable going forward, it'll probably be in the form of simple layers achieving a single thing, which can be stacked and blended together.

Modularisation as it stands is hard, as I'd have to interpret the contents of the blocks and compose them into unified HLSL that wouldn't blow the instruction limits.The default effect is already very close to the limits of some of the 2.x shader models.

As for a looks repository, I've pondered it but it would involve web-dev, which makes my eyes bleed.

--------------------

Zao shang yong zao nong zao rang zao ren zao.To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

Hey, I'm pretty new to editing the foobar interface so sorry if this is a dumb question, but is there some way to replace the normal seekbar with the waveform seekbar or at least put it up on/near the toolbar?

urutapu:In the Default UI, I do not currently have the capability to add any custom toolbars, it can only go where UI elements can go.In Columns UI, the component works both as an UI panel and an UI toolbar.

The closest you can get to having it a toolbar is making a top/bottom split, putting the seekbar in the upper half and the rest of your UI in the lower half.

--------------------

Zao shang yong zao nong zao rang zao ren zao.To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

For you people who for some strange reason listen to .1 content and display it mixed down to stereo or mono, there are changes coming up in 0.2.39.3 where I now include the LFE channel in the mixdown result after consulting relevant documentation and mindmelding with testers.

QUOTE

LFE mixdown factor is now 0.5 per channel.Removing the LFE channel completely from mixdowns is a bit of a lie, asthe content, even while purely supplemental, has some meaning in thecontext of a track.

As every mixdown is a reinterpretation of the data, having an effectover-represented is better than completely omitting it, particularly asthere is now shader parameters to adjust the displayed range of awaveform.

ITU recommendation BS.775 specifies a choice of four mixin factors forLFE content: 0.7071, 0.5, 0.0 and 'reserved', to be specified by thebroadcaster. As any such information is not available, I've selected 0.5as the coefficient due to it being the lowest non-zero choice, avoidingover-attenuation while still representing the content somehow.

--------------------

Zao shang yong zao nong zao rang zao ren zao.To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

Modularisation as it stands is hard, as I'd have to interpret the contents of the blocks and compose them into unified HLSL that wouldn't blow the instruction limits.The default effect is already very close to the limits of some of the 2.x shader models.

I wasn't aware that anybody still cared about 2.x shader model limits. 3.0 was introduced 9 years ago

Concerning the modularisation: you could also create more of an implicit social contract between people who write shader code. That is: just have several designated text editors for different parts of the shader code, but simply concatenate their contents. This would not break flexibility nor should it be a lot of work, but it would stimulate more segmented customization.

I wasn't aware that anybody still cared about 2.x shader model limits. 3.0 was introduced 9 years ago

The machines people use to play music tend to more often than not be considered 'vintage'. There's lots of bending over in the Direct3D9 component to support all kinds of odd texture formats and GPU quirks.

QUOTE (dinfinity @ Jun 10 2013, 11:25)

Concerning the modularisation: you could also create more of an implicit social contract between people who write shader code. That is: just have several designated text editors for different parts of the shader code, but simply concatenate their contents. This would not break flexibility nor should it be a lot of work, but it would stimulate more segmented customization.

The optimal solution would be one that has a minimum amount of GUI work needed for me in the component itself. The sane solution would probably be a standalone effect designer, either using some weirdo GUI toolkit like Qt, or driven via the browser or something. The current scintilla component as I use it is ... not good, and tends to be slightly unstable.

--------------------

Zao shang yong zao nong zao rang zao ren zao.To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

Hey, I'm pretty new to editing the foobar interface so sorry if this is a dumb question, but is there some way to replace the normal seekbar with the waveform seekbar or at least put it up on/near the toolbar?

You can use top/bottom splitter in Default UI (as Zao said), and additionally you can turn off regular seekbar when you rightclick on toolbar. I turned off regular seekbar, but I placed waveform one at the bottom of my layout.

0.2.39.6 is out now. If you've installed any of the 0.2.39 series, please upgrade to this one, it resolves a bug where the foobar2000 installer will not finish due to my component being stupid.Changelog 0.2.39.6

--------------------

Zao shang yong zao nong zao rang zao ren zao.To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

Zao, one question - could coefficients for downmixing display of multichannel tracks to mono/stereo be made as user editable values? For example in that script window or somewhere in foobar's "Advanced Preferences"?

A core problem with making things configurable is that anything is made configurable, it's set in stone forever. You cannot distinguish between a user-selected value and one that was the default in the past, which makes it quite a bother for changing the defaults for a reason.

--------------------

Zao shang yong zao nong zao rang zao ren zao.To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

OK, but do you see such possibility in future or is it just impossible from your point of view? I know that I can't force you and I understand that you can simply don't have enough time. If you don't plan it at any time then just say "no"

The machines people use to play music tend to more often than not be considered 'vintage'. There's lots of bending over in the Direct3D9 component to support all kinds of odd texture formats and GPU quirks.

I doubt the 'more often than not' part of that, but it is noble that you choose to support such hardware nonetheless (and endure all the pain that comes with it ;-).

QUOTE

The optimal solution would be one that has a minimum amount of GUI work needed for me in the component itself. The sane solution would probably be a standalone effect designer, either using some weirdo GUI toolkit like Qt, or driven via the browser or something. The current scintilla component as I use it is ... not good, and tends to be slightly unstable.

I'd say that 'adding some extra textareas' is about the least amount of GUI work definable within the realm of GUI work ;-)

Anyway, I've switched back to GDI rendering again. Although it sounds awesome, I really can't justify spending several hours on 'programming shaders for a static waveform visualization in my music player' ;-)Still a thankful user of your component, of course.

That depends on why you need them. If there's something that is inferior or unacceptable in a newer version, I'd rather work in public towards resolving that than to have a bunch of people staying on versions with eternal bugs.

--------------------

Zao shang yong zao nong zao rang zao ren zao.To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

i would also like to know where i could find an older version of your plugin. the reason for that is, that i'm running foobar2k with wine on ubuntu linux. starting with some version which i don't exactly remember, foobar started crashing when waveform seekbar was installed. unfortunately, i couldn't find a workaround yet, but i'd love to continue using the plugin.

i would also like to know where i could find an older version of your plugin. the reason for that is, that i'm running foobar2k with wine on ubuntu linux. starting with some version which i don't exactly remember, foobar started crashing when waveform seekbar was installed. unfortunately, i couldn't find a workaround yet, but i'd love to continue using the plugin.

The only way I can ever find out about these kinds of problems is if I'm told about them, as wine is explicitly ignored by the crash reporting system.

--------------------

Zao shang yong zao nong zao rang zao ren zao.To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

That depends on why you need them. If there's something that is inferior or unacceptable in a newer version, I'd rather work in public towards resolving that than to have a bunch of people staying on versions with eternal bugs.

Sorry for late answer. D3D mode worked fine few versions back. But now it is displayed wrong.I admit, it is an old laptop, maybe it lacks some new hardware features. :/

nesvariigi: Is this a custom effect? Could you put your D3D effect code in a post with a codebox, as well as mention what graphics card and OS this is running on. I haven't seen that look since 2009

I have no custom effects (default code). Graphics adapter is Trident CyberALADDiN-P4 v6.4612.22ICD_SE_NP. OS is WinXP Pro SP3 x86. As I mentioned, it is old laptop used mainly for music listening. I added pictures with D3D features support.

Amazing. The code must be falling into some sort of software rasterisation mode, or the driver for that card does some extreme magic.It's also possible that all this time it has been falling back onto GDI mode transparently and _something_ changed enough to make the frontend kind of load.

--------------------

Zao shang yong zao nong zao rang zao ren zao.To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

Older versions are available for testing purposes, so if you can find the version change where it stops working it would help me find out if it's something I did and what the reason might be. Make sure you look at the console and see if it succeeds at loading the Direct3D9 frontend or if it's falling back to GDI mode.