Old 09-02-2018, 06:27 PM   #41
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,030
Default

Check your messages.
pcartwright is offline   Reply With Quote
Old 09-03-2018, 12:07 AM   #42
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,643
Default

Thanks I got that to work.


With the slow strum keyswitch I got that to work the only problem is the keyswitch needs to be a bit before the strum note, not sure how to fix that.
I used slst = slider7; for the slow strum keyswitch.
This will set newstrm to the slow strum speed setting instead of slwstr setting.

Code:
function IsStrumDown()
(
  ((msg1 == (0x90 + mChan)) && (msg2 == dnst) && (msg3 > 0)) ? (1) : 0; 

);
(

  ((msg2 == slst))  ? newstrm = slwstrsp ;    
 
 
);  



function IsStrumUp()
(
  ((msg1 == (0x90 + mChan)) && (msg2 == upst) && (msg3 > 0)) ? (1) : 0;  
  
);
(

  ((msg2 == slst))  ? newstrm = slwstrsp ;    
 
 
 );
that then uses the
slow strum speed setting here

Code:
    // add all chord notes to buffer
    
    while(i < countNotes) (
      j != -1 ? (
        buf[k + 0] = os +  (n*newstrm); //(n*slwstr)
For the root strum (play the root note only) rtst = slider8;
don't know if there's a way where it counts the notes to count the first note only (the lowest) if msg2 == rtst ??
Attached Files
File Type: zip Midi Strummer - Modified.zip (2.3 KB, 172 views)
MusoBob is offline   Reply With Quote
Old 09-03-2018, 05:59 AM   #43
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,030
Default

I'm not sure I can answer your questions completely, but I'll give it a shot.

- First, I suggest moving your modifications to the "while (midirecv(os,msg1,msg2,msg3))" loop. Right now, your modifications are in between various functions that are called elsewhere in the effect. The impact is that these statements may not be checked against every MIDI message (I'm not sure if that is necessary, but it could potentially cause issues).

- Regarding the keyswitch timing, the keyswitch should be triggered immediately before the played notes. If that isn't enough time, you could adjust the offset in the strummer effect here:
Code:
buf[k + 0] = os + (n*strm);
Maybe something like this:
Code:
buf[k + 0] = os + (n*strm)+srate*.05;
This will push all the played notes out by .05 seconds (you can change the .05 to whatever you wish).

- I think (emphasis on "think") that the lowest note is found in activeNotes[0].
pcartwright is offline   Reply With Quote
Old 09-03-2018, 09:28 PM   #44
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,643
Default

Thanks I appreciate the help ! It is just the slow strum KS E-1 that I need to push (this then uses the Slow Strum Speed slider setting).
The Mute KS works on the snap as it's sending direct to the Guitar Instrument,
but this is how much I have to advance the slow strum KS E-1 before beat 2 to work and play a slow muted strum,
but if I have the strum patterns in megababy I need it to work on the same snap as the strum key.



I couldn't get the keyswitches to work where you suggested (not sure about the eel been using lua):
Code:
while (midirecv(os,msg1,msg2,msg3)) (
  // if CC 64
  (msg1 == (0xB0 + mChan)) && (msg2 == 64) && (msg3 >= 64) ? (
    latch = 1;
    latchTgl = 0;
  (
  
    ((msg2 == slst))  ? newstrm = slwstrsp ;    
   
   
  );
If I could get it to work one of these days as an all in one MIDI Strum/Megababy that would be great,
I could then create up the strum patterns and save them in it, then upload the patterns for users.
MusoBob is offline   Reply With Quote
Old 09-04-2018, 07:09 AM   #45
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,030
Default

The strummer effect and the corresponding mapper effect (the mapper is still very much in beta) aren't designed to generate a keyswitch in advance of the note. All the libraries that I test with are responsive to keyswitches sent with the note-on data, so it's odd that you have one that requires so much lead time.

I can try to tweak the mapping effect to send the keyswitch as early in the MIDI buffer as possible, but I can't guarantee that it will be early enough to trigger the effect you want. Furthermore, it's possible that triggering the keyswitch early might cause adverse effects in other situations (I'm not really sure).

Anyway, the intent of the strumming effect is to allow users to "strum" in real time. For me to add a specified amount of time between the keyswitch and the note-on messages would require a delay in the MIDI stream. Any sort of delay would be counter to the intent of live playback. I'll think about it, but I'm not sure that kind of change would be in scope of the effect.
pcartwright is offline   Reply With Quote
Old 09-04-2018, 12:06 PM   #46
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,643
Default

This is not the beta one I mean, I got that working thanks.
I'm just trying the original one I modified that sends a slow strum message internally within the MIDI Strummer effect when a keyswitch (slst = slider7; )
is added (not sending to the virtual instrument, the mute keyswitch sends fine to the instrument).
Maybe it's where I have ((msg2 == slst)) ? newstrm = slwstrsp ; in the script that's causing the problem ?
I don't need you to modify anything in your scripts I just need help with the eel JS programing.
Thanks.

Is this pic showing in the post ? I had problems with the server https://www.andyjaymusic.com/temp/Re...um-Timming.png
MusoBob is offline   Reply With Quote
Old 09-05-2018, 06:18 PM   #47
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,030
Default

Quote:
Originally Posted by MusoBob View Post
This is not the beta one I mean, I got that working thanks.
I'm just trying the original one I modified that sends a slow strum message internally within the MIDI Strummer effect when a keyswitch (slst = slider7; )
is added (not sending to the virtual instrument, the mute keyswitch sends fine to the instrument).
Maybe it's where I have ((msg2 == slst)) ? newstrm = slwstrsp ; in the script that's causing the problem ?
I don't need you to modify anything in your scripts I just need help with the eel JS programing.
Thanks.

Is this pic showing in the post ? I had problems with the server https://www.andyjaymusic.com/temp/Re...um-Timming.png
The photo is showing up fine.

If you want to add a little extra time between the keyswitch and the strum, then I suggest you add some sort of constant here:
Code:
buf[k + 0] = os + (n*strm); // add a constant after (n*strm)
I suggest something like:
Code:
buf[k + 0] = os + (n*strm) + srate*.01; // delay note by 1/100th of a second
You would then need to send your keyswitch at the original offset (os) value of the MIDI data.
pcartwright is offline   Reply With Quote
Old 01-03-2019, 12:45 AM   #48
Dex
Human being with feelings
 
Join Date: Sep 2017
Posts: 518
Default

I just discovered this and it's already great and useful. Thanks. I hope you continue developing it.
Dex is offline   Reply With Quote
Old 01-03-2019, 06:42 PM   #49
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,030
Default

Quote:
Originally Posted by Dex View Post
I just discovered this and it's already great and useful. Thanks. I hope you continue developing it.
What features would you like to see? I won’t make any promises, but I’ll take a shot at a feature if it isn’t too much work to update.
pcartwright is offline   Reply With Quote
Old 12-23-2020, 10:24 PM   #50
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 962
Default

Does anyone use this script with the current version of Reaper? He works? I could not get the desired result from him. I get silence, or notes without strumming.
cool is offline   Reply With Quote
Old 12-25-2020, 08:13 AM   #51
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,030
Default

It's still working fine for me. Can you send a screen cap of your effect window so I can see what settings you are using?
pcartwright is offline   Reply With Quote
Old 12-25-2020, 09:32 PM   #52
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 962
Default

Quote:
Originally Posted by pcartwright View Post
It's still working fine for me. Can you send a screen cap of your effect window so I can see what settings you are using?

Oh, sure.

Green note - is a ch2 (36) trigger note.

This gives me a normal chord sound as well as no effect. If the "green" note differs from C (36) or D (38), I only get the sound of that note, no chord.
The Kontakt input is set to omni.


Last edited by cool; 12-25-2020 at 09:54 PM.
cool is offline   Reply With Quote
Old 12-26-2020, 06:24 PM   #53
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,030
Default

First, the version you're using isn't my version. That is a modified version from MusoBob which includes extra settings (slow strum and root strum).

You can get to my original effect by following the link on the OP (or here: https://stash.reaper.fm/29593/MIDI%20Strummer.txt).

The original effect (with default settings) looks like this:



You might want to double check what C2 is mapped to (is it MIDI note 36, 24, or something else entirely?).

If it's MIDI note 36, then my guess is that something MusoBob adjusted is throwing off the logic when Down Strum equals Slow strum and Up Strum equals Root strum.

If that's the case, I suggest using the original effect as I can't speak to any of the modifications MusoBob made.
Attached Images
File Type: jpg Capture.JPG (40.1 KB, 411 views)
pcartwright is offline   Reply With Quote
Old 12-26-2020, 09:15 PM   #54
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 962
Default

pcartwright, thank you! Your version working good.


cool is offline   Reply With Quote
Old 12-30-2020, 03:34 AM   #55
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 962
Default

I have tested further. Great plugin! Thank you!

FR here. Is it possible to avoid additional note triggers? IMO, a plugin can be much more handy to use if it has the ability to trigger from chord notes without additional triggers. Ideally, if there is an option to alternate (RoundRobin) up and down strums, it will be a dream plugin
cool is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 10:46 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.