On December 9, 2012 08:46:36 PM Robert Jonsson wrote:
> Hi guys,
> 
> >---------- Forwarded message ----------
> >From: SourceForge.net <[email protected]>
> >Date: 2012/12/9
> >Subject: [ lmuse-Bugs-3594221 ] simpledrums doesn't play consecutive notes
> >etc. To: "SourceForge.net" <[email protected]>
> >
> >Bugs item #3594221, was opened at 2012-12-09 01:03
> >
> >Summary: simpledrums doesn't play consecutive notes etc.
> >
> >Initial Comment:
> >I suspect this issue could have the same cause as whatever is stopping
> >Euphoria from working properly. The problem is that if you have multiple
> >consecutive notes on a simpledrums track, only the first note (sample) in
> >any block of consecutive notes gets played.
> I had a look at this and if two notes are placed directly after each
> other, with the note-off snap:ed to the same place as the second note
> the noteoff will be done after the noteon.
> Here's a trace out:
> MidiOut: Synth: <SimpleDrums-0>: time:485105038 port:4 chan:1 NoteOn
> c1(0x24) 70 MidiOut: Synth: <SimpleDrums-0>: time:485125710 port:4 chan:1
> NoteOn c1(0x24) 70 MidiOut: Synth: <SimpleDrums-0>: time:485125710 port:4
> chan:1 NoteOn c1(0x24) 0 MidiOut: Synth: <SimpleDrums-0>: time:0 port:4
> chan:1 NoteOn c1(0x24) 0
> 
> The third line, the noteoff, is really related to the first noteon.
> I think it should have been scheduled before the Noteon but maybe
> there are other circumstances to consider?
> Could this be due to a recent change or has it always been like this?
> I can't see that other synths are affected so maybe this is a case the
> synth should take care of?
> 

Thanks for the pass, been neglecting that list for a few days.

Try it now:

- Fix VST names: Use filename if effect name or product name blank. 

- Fix bug 3594221: End-to-end midi notes don't retrigger. My bad. 
In my MEvent::sortingWeight(): Note-ons with zero velocity are 
 really note-offs.

Yes, it was broken recently with my sorting weight thingy.

NOTE: For this to be, or ever have been, correct we need to ensure 
 in a few key places that the length of a note is never allowed to 
 be zero, else that's a note-on and off at the same time and 
 MPEventList will put the note-on last and will have no corresponding 
 note-off thus a stuck note.
The places I think some are already thoughtfully taken care of, 
 one example to check is the piano roll note length - is it allowed to 
 be zero? Tested: Thankfully someone enforced it to 1.
Another would be in the function buildMidiEventList.

----------- 
Now, about /overlapping/ notes: I tested several synths and
 incredibly (hearteningly ?) Deicsonze was the only one that 
 handled note situations like this:

                X X X X X XYXYXYXYXYXY Y Y Y Y Y Y Y
 or
                X X X X X XYXYXYXYXYXY X X X X X X X 

Amazing but it must be awfully arbitrary since it could not possibly
 know which note-off goes with which note-on.
It's a real tricky subject, one that I think Dennis or the LMS plugins guy
 brought up, and I kind of jokingly said maybe we ought to 'bump' other
 notes out of the way when moving notes around.
One really wants to allow this kind of thing for ease of editing while
 moving notes around - you know move this one here on top of this one
 then move the other one somewhere else kind of thing. 
(In case that person missed my response in the noise, we have translucent
 note drawing, it may have been a bit hard to notice at the time so I
 recently lowered the default setting a bit. Still slightly hard to notice
 without vertical expansion.)

Anyway I agree that only MusE knows for sure which note-off belongs
 with which note-on and that only MusE has a chance to correct it
 before it gets out to the device.
But how? 
I'm thinking it involves arbitrary blocking of note-ons.
For the extreme example two notes same length on top of each other
 but with different velocities: Who do we block and who do we allow?
Easy? Send only one note-on and one-note off and SUM the velocities?

But then there's note-offs that come after each other...

And then, what of synths that actually /support/ this kind of
 two note-ons in a row stuff? Deicsonze starts a new oscillator
 and you'll notice depending on where the second note is placed,
 the waves may CONSTRUCTIVELY or DESTRUCTIVELY sum.
 i.e. it /can/ go to twice the volume - or very little volume.
Of course, that's a synth function and could (maybe already) be made
 to 'sync up' the oscillators starting...

Hm, let us ponder some more. I hope there's a logical way to 
 deal with this. More input welcome on this of course.

> I saw the report for Euphoria but don't have it installed so haven't
> checked.

And speaking of the LMS plugins guy, bada boom boom, hey if 
 you're out there Euphoria and pretty much the rest of the suite
 crashes with illegal instruction. I compiled it myself. 
I'd say usually that's either 32/64 bit stuff or AMD/Intel stuff.
At the moment I'm running AMD64 box, but with 32-bit Lubuntu.

I built the deb package.
Later the package manager (Synaptic) said it's a broken package and 
 removed it on me!

> >Also:
> >
> >Within the simpledrums window between the channel on/off and note on/off
> >check boxes there are supposed 'Volume' buttons that don't do anything. I
> >think they should be rotary dials but they're not.
> Dan, could you supply a screenshot, for me it's a slider and it works fine.
> 
> >There is a unneeded slider on the right that doesn't slide anything.
> 

All features tested OK here channel volume OK. 
And right-side master volume worked, live in real-time too.

You guys getting this multiple annoying terminal message with SimpleSynth?
 QGradient::setColorAt: Color position must be specified in the range 0 to 1
I tried to look before but didn't have much time.

Cheers.
Tim.

> Master volume, also works here, I think we'll need more info.
> 
> >Under the Synth -> MESS window it is called SimpleSynth but its 'about'
> >button says its called SimpleDrums which I think is a better name. I think
> >it'd be better renamed to SimpleDrums in the menus as I think its
> >misleading to call it a 'synth'.
> Yeah, not sure when it switched name, it used to be called SimpleDrums.
> As for being a synth... it doesn't do synthesis but it sure is a synth
> as I would use the term. Still I think it should be called SimpleDrums
> as drum-sampler was the purpose of the synth.
> 
> Changing the name breaks backwards compatibility though but I think
> I'll change it anyway.
> 
> Regards,
> Robert
> 


------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Lmuse-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmuse-developer

Reply via email to