On Wed, 6 Mar 2024 19:06:38 +0100 ichthyo <p...@ichthyostega.de> wrote:
>On 06.03.24 11:20, Will Godfrey wrote: >> It was me that changed the effect's graph to horizontal lines. This was to >> get rid of those weird discontinuities, which seem to be due to the FLTK >> drawing routines not handling lines that are more than one pixel wide and >> offset vertically by fractional amounts. > >Not sure how to take that; in the draw() code, currently all ingoing parameters >are already truncated to int, and moreover start point and end point are always >at least 1px apart horizontally, since we loop over pixels. It would be > >interesting if we could get hold of an reproducible setup producing such gaps. >I'd propse then to put in print statements and look at the ingoing values. My suspicion is that while we work horizontally in whole pixels, FLTK is trying to do some interpolation vertically when we're scaled up so that the line thickness is (say) 4 pixels but the next defined point is (maybe) only 3 pixel different vertically. >> I noticed an oddity when loading instruments with EQ either from banks, or >> a copy loaded with 'Instrument._Load External...". with 'Companion/Stopped >> Pipe' it sometimes shows a straight line for the graph (low shelf), with >> 'Collection/Bright Rushes' it shows the wrong shape. With both of these, >> just nudge one of the controls and it jumps to the correct shape. > >I've investigated that in more detail, and there seems to be something broken >way more deep down. The new update mode just amplifies these problems and makes >them blatantly visible. > >Since it seems to be more important to continue with development, I'd prefer >to prepare the pull request non the less, and investigate those problems later. > >Just to add in some more details I've observed.... > >(1) the most simple, reproducible scenario is as follows: > * perepare Yoshimi so that it comes up with the Part-Eff-UI already open > and the Current Bank set to "Companion" > * launch Yoshimi > * klick on "60 Stopped Pipe" > ==> Result: EQ Graph comes up flat > >I have confirmed with the debugger, that this does *not happen* in the new >update code. From SynthEngine::pushEffectUpdate(part) we call now >EQ::renderResponse(EQGraphArray). This loops over the whole frequency range. >In the above mentioned scenario, the response function comes out flat from >the EQ implementation itself. I.e. the function filter[i].l->H(freq) >yields 1.0 for every frequency (which is clearly wrong, because filter[0] >has a Ptype = 8, Pfreq =32, Pgain = 81, Pq =57, and stages = 0 > > >(2) The strange behaviour becomes visible on all presets, which happen to >have an EQ at Part-Effect-Nr. 0. To name some examples: > Collection > 12 simple Square > 70, 71... bright Rushes long und Verwandte > 75 Breathy Pad > 92 Eeoow > 107 Smooth Guitar > 108 Nylon Guitar > 109 Tunel Piano > 118 Soft Choir > 119 Full Choir > Companion > 4 Muffled Bells > 16 Soft Metal > 60 stopped pipe > >(3) moreover (and most concerning): the produced EQ-curve is not consistent. > If you turn the knob +1 -1 -1 +1, the curve does not return to the same > shape, but rather seems to lag behind. > >(4) The inconsistent behaviour is already present on *last Release v 2.3.2* > There it can be seen that the EQ curve is redrawn twice after selecting > a new instrument, and it jumps, i.e. it shows two different shapes. > > Most notably: if you repeatedly re-load the same instrument, the produced > curve is not consistent and jumps to different shapes similar as detailed > above at (3) > > Try to toggle between 16. Soft Metal and 60 stopped pipe. Try to switch > back and forth between some other instrument without EQ and 60 stopped > pipe. > > Try to load Collection / 119 Full Choir repeatedly: the notch jumps to > different frequencies. Irregularely, sometimes it comes up initially > at a clearly wrong frequency. > > Load Collection 107 Smooth Guitar -> Graph comes up with a Lowpass shape, > but actually Band-1 is *off*, only Band-2 is set to Lp2 > > >-- Hermann Going in the wrong direction when you move a control seems to have happened between V 2.0.1 and 2.1.0 I have both of those versions built here and have just discovered this. However, I can't see a 'smoking gun' in the changelog :( -- Will J Godfrey {apparently now an 'elderly'} https://willgodfrey.bandcamp.com/ http://yoshimi.github.io Say you have a poem and I have a tune. Exchange them and we can both have a poem, a tune, and a song. _______________________________________________ Yoshimi-devel mailing list Yoshimi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/yoshimi-devel