latest build cvs

You name it!
Post Reply
Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

latest build cvs

Post by Alex » Sun Aug 09, 2009 7:55 am

The latest build works fine, and things are humming along nicely.

I have what could be called a question and a feature request for builds after the latest release.
Just occasionally, i get hung midi notes. Using the panic button in openoctave midi has no effect, and it requires a restart of LS to stop it.
Just in case i've missed something, do we already have the ability to send a global notes off to LS in one form or another, and if not, is it possible to consider this for the future? It's been my experience across several DAWS that sending a note off message from a DAW can sometimes work, and sometimes not, so i don't think this an LS challenge, but the ability to use, for example, a keybinding, or some sort of transmit global note off message, from an exclusive CC message would be useful (I assume here the standard CC #120). I've tried to insert this in a track at various points, but once the note is stuck, and droning continuously, it doesn't seem to respond.

Food for thought?

Alex.

User avatar
cuse
Developer
Posts: 366
Joined: Wed Jan 23, 2008 10:07 pm
Location: Germany

Re: latest build cvs

Post by cuse » Sun Aug 09, 2009 8:42 am

That's already implemented.
  • CC #120 ("All sound off") -> gig::Engine::KillAllVoices()
  • CC #121 ("Reset all controllers") -> gig::EngineChannel::ResetControllers()
  • CC #123 ("All notes off") -> gig::Engine::ReleaseAllVoices()
But ATM CC #123 is only processed if the compile time macro CONFIG_PROCESS_ALL_NOTES_OFF is activated in config.h.

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: latest build cvs

Post by Alex » Sun Aug 09, 2009 11:00 am

Christian, thanks for the heads up. It's already activated in config.h, so i'll look to openoctave, and check to see we have the message send implemented properly.

Alex.

ccherrett
Advanced User
Posts: 162
Joined: Wed Jan 23, 2008 11:24 pm
Contact:

Re: latest build cvs

Post by ccherrett » Mon Aug 24, 2009 3:28 am

Hi Christian,

I have a question about "all notes off". Is it possible to send that event via LSCP?

The reason I am asking is because I have this setup:

OOMIDI->A2JMIDID->LS

A2JMIDID acts as a bridge between alsa and jack allowing us to have much better timing than we had with alsa. The problem is that if a2jmidid dies before it sends a note off LS keeps playing that sample. If we could netcat an LSCP command to LS then all would be well.

Or do you see another way to do this?

Thanks!
Christopher Cherrett
Founder of The Open Octave Project
http://www.openoctave.org

User avatar
cuse
Developer
Posts: 366
Joined: Wed Jan 23, 2008 10:07 pm
Location: Germany

Re: latest build cvs

Post by cuse » Mon Aug 24, 2009 9:40 am

Currently only note-on and note-off MIDI messages are covered by LSCP. Wouldn't be a problem though to extend this. But I haven't understood why you need that bridge. Does OpenOctave only have ALSA MIDI output? Because LinuxSampler offers ALSA MIDI and JACK MIDI.

ccherrett
Advanced User
Posts: 162
Joined: Wed Jan 23, 2008 11:24 pm
Contact:

Re: latest build cvs

Post by ccherrett » Mon Aug 24, 2009 10:23 am

Hey Christian,

Yes OOMIDI only has alsa ports right now. We are looking into a native jack driver but there are so many other things to get done first.

With a2jmidid as a bridge we have seen timing become stable for large orchestral scores. what was happening with alsa midi was playback became sluggish and unusable. a2jmidid allows us to use jack midi.

On the LS side of things we are now setup to use only jack midi.

P.S. If I knew more about what jack wanted I would have already wrote the jack midi driver for OOMIDI, however that is not the case yet. Hopefully soon.

Thanks!
Christopher Cherrett
Founder of The Open Octave Project
http://www.openoctave.org

ccherrett
Advanced User
Posts: 162
Joined: Wed Jan 23, 2008 11:24 pm
Contact:

Re: latest build cvs

Post by ccherrett » Mon Aug 24, 2009 10:26 am

It would be really nice to have it in lscp as a backup measure anyhow. We have a script that controls our studio setup. It monitors for dead processes. If something died we could potentially restart any part of our setup and the "all notes off" could become one of the functions of the script that fires an lscp command through netcat.
Christopher Cherrett
Founder of The Open Octave Project
http://www.openoctave.org

User avatar
cuse
Developer
Posts: 366
Joined: Wed Jan 23, 2008 10:07 pm
Location: Germany

Re: latest build cvs

Post by cuse » Tue Aug 25, 2009 4:19 pm

Ok, I'll try to add it soon, ... if I don't forget it. Or file an enhancement request otherwise on the BTS.

ccherrett
Advanced User
Posts: 162
Joined: Wed Jan 23, 2008 11:24 pm
Contact:

Re: latest build cvs

Post by ccherrett » Tue Aug 25, 2009 11:38 pm

Hey Christian,

I filed the feature request like you asked:

https://bugs.linuxsampler.org/cgi-bin/s ... cgi?id=130

Just so you know. This is that last thing in our setup before we can say it is usable with out much user intervention! Alex has been testing our setup for 3 days and it is very usable. This does not mean we are done, but instead that we can move forward with other things.

Thank you very much for all you have done so far!
Christopher Cherrett
Founder of The Open Octave Project
http://www.openoctave.org

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: latest build cvs

Post by Alex » Tue Aug 25, 2009 11:49 pm

I'll just add here that on a more generic basis, it might be useful to have an all notes off function as a general action with a keybinding for LS/Fantasia anyway. Use case i can think of where this would be important, is a user that simply cranks up LS, ports in the midi keyboard, and records the output into Ardour, Audacity, or something else.

As an example, the user's cruising along recording his masterpiece, and he gets a hanging note. Hit "CTL+P", it kills everything, and he or she is good to keep going.

At the moment, the only way we can deal with a hanging note, in the above use case particularly, is to kill LS, and start it again.

2 Roubles worth,

Alex.

Post Reply