Old 10-30-2013, 01:44 PM   #1
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default New sequencer_baby version

TUTORIAL VIDEO:
Sequencer Megababy overview by Lachrimae (using nandy's mod version)
http://youtu.be/Wq2C-Qg9Hp4

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

This plugin is now included as Sequencer_megababy in Reaper installer.

------------------------------------------
I have updated my modified sequencer_baby_v2 JS plugin.

You can download the latest version here:
https://stash.reaper.fm/18598/sequencer_baby_v2_jnif.zip

Example from version 045:


----------------------------------------
Install instructions:

No need to install. It's included in Reaper installer.

Extract the sequencer_baby_v2_jnif.zip file. You will get the JS plugin file sequencer_baby_v2_jnif_xxx (where xxx is a version number).

In REAPER's main menu select
Options -> Show REAPER resource path in explorer/finder...

Then open Effects/MIDI folder and copy the sequencer_baby_v2_jnif_xxx file there.
The plugin will show up in FX Browser.

If you like you can also remove the version number from the end of file name and overwrite the previous version with the latest one. This will allow you to open old projects and presets using the latest sequencer_baby_v2_jnif version.


Drum map files are not included in Reaper installer. You might like to install those separately.

To use the Battery drum map files included in sequencer_baby_v2_jnif package you have to move the drum map files to
REAPER_resource_path/Data/seqbaby_data
folder.
----------------------------------------

Changes compared to official v4.55 version
- Velocity control for each note. Ctrl + Left click/drag.
You can drag over multiple notes on the same row to create velocity curves.
- Velocity adjust of all notes on the same row. Ctrl + Alt + left click/drag.
- More consistent or accurate grid square spacing.
- Global note length control in toolbar.
- Piano roll keys with 'C' note labels.
- Highlighting of current piano roll key under mouse cursor.
- Octave lines.
- Bar lines.
- Selectable Piano roll or Drum map mode.
- Each note row can be transposed individually in Drum map mode.
- Show edited velocity values.
- Audition notes using proper velocity.
- MIDI recording.
- Pass-through MIDI and recorded MIDI is transposed according to row transposes in Drum map mode
- Swing control in toolbar.
- Duplicate sequence using Shift + Left click on piano keys / note names.
- Tie / untie notes using Alt + Left click.
- Tie / untie multiple notes in a row using Alt + Left drag.
- Toolbar for changing and copying patterns. Left click toolbar button to change pattern. Ctrl + Left click on a toolbar button will copy the active pattern to clicked pattern and change to the clicked pattern.
- Adjust number of steps per beat independently for each pattern.
- Start offset adjustment of individual notes using Shift + Left drag.
- Start offset adjustment of all notes on a row using Shift + Alt + Left drag.
- Note drawing and erasing (Left click drag) is constrained to single row. Use Shift + Ctrl + Alt + Left drag for the old "freehand" drawing behavior.
- Quick Guide added to the start of plugin file.
- Compressed (run length coding) state/preset save data format.
- MIDI trigger. Change pattern using MIDI notes.
- "Trigger root note" control for selecting the bottom note of MIDI triggered pattern change.
- "Trigger root note" display in toolbar.
- Independent sequence length for each pattern.
- Mapping note rows to different MIDI channels in Drum map mode.
- Option to MIDI trigger pattern change + transpose. (aka "ARP mode")
- Clear pattern using Ctrl + Right click on pattern button.
- Show empty patterns using lighter color in toolbar.
- Pattern chaining. Alt + Left click pattern button to set last pattern in chain. Chained patterns will play automatically one after another. You can also record MIDI input to patterns while pattern chaining is automatically changing patterns.
- There is an octave_offset variable in the beginning of source code (@init section). It can be modified to easily change "MIDI octave name display offset".
- CC envelope lane with four selectable CC types.
- Control step probability with envelope type 127 (Prb) on first envelope lane. You can restrict the probability control to certain note rows by changing MIDI channels. Probability envelope will affect only note rows that have same channel as the Prb envelope.
- "Start beat position" setting to define the song position where patterns will start/loop.
- "Play before start position" setting to enable/disable pattern playback before start beat position.
- "End beat position" setting to define the song position where patterns will stop. "---" means play infinitely.
- Right click on "Start/End beat position" value in toolbar will reset the value to default.
- MIDI trigger options to resync "Start beat position" to trigger position, un-quantized or quantized to nearest beat.
- Subdivide notes using Shift + Right click drag up/down.
Notes can by divided up to 8 equal length partial steps.
- Mouse actions to change steps per beat
Ctrl + Left click piano keys / note names: Halve steps per beat, slow down
Ctrl + Right click piano keys / note names: Double steps per beat, speed up
- Mouse actions to halve/double steps per beat preserving note position. Warning! Halving removes notes in every other step.
Ctrl + Alt + Left click piano keys / note names: Halve steps per beat, preserve note positions. Sequence length is halved.
Ctrl + Alt + Right click piano keys / note names: Double steps per beat, preserve note positions. Sequence length is doubled.
- Display current/new note velocity in toolbar.
- Improved note previewing. Right click drag horizontally over existing notes to audition them.
- Piano keys on top of toolbar for setting/viewing grid base note, number of notes in grid, and MIDI trigger notes.
Left click drag green area on toolbar pianokeys: Change base note of the grid.
Right click drag green area on toolbar pianokeys: Change number of notes in the grid.
Left click drag red area on toolbar pianokeys: Change MIDI trigger notes for pattern triggering.
- Undo support for all edits.
- Load note names from file.
Sequencer Baby reads note name text files located in "REAPER_resource_path/Data/seqbaby_data/" folder.
Active Note name file can be selected from a drop down menu in plugin GUI.
Example note name files for NI Battery 3 and 4 factory kits are included in the package.

Some old examples:

This video was captured using a version before piano roll key feature was added.


This video was captured using a version before drum map mode was added.



See more videos in update posts in this thread.

Old versions are archived here:
https://stash.reaper.fm/18600/sequenc...d_versions.zip

jnif

Last edited by jnif; 10-18-2014 at 03:13 PM.
jnif is offline   Reply With Quote
Old 10-30-2013, 01:50 PM   #2
joesacco
Human being with feelings
 
joesacco's Avatar
 
Join Date: Sep 2012
Location: Canada
Posts: 215
Default

Awesome! Just getting better and better.
joesacco is offline   Reply With Quote
Old 10-30-2013, 02:55 PM   #3
witti
Human being with feelings
 
witti's Avatar
 
Join Date: May 2012
Posts: 1,216
Default

Thanks for all the improvements. Great plugin !

May i suggest something ?

Why is the pattern number starting with 0 and not 1 ?
You can easily use 1-16 for the dropdown menu. (There are 16 patterns.)

This is just a minor thing, but it bothers me a lot !

Keep up the great work, maybe it will replace reaper's midi editor someday !

p.s.: Dragging the velocity with the mouse is a great feature, but i'm always missing exact values. Adding somekind of a readout would be too hard, wouldn't it ? Whenever i download a new version, i add a velocity slider. Takes only a few seconds to add this. So for new notes, i can adjust the slider to a desired value, and then i paint new notes.

Last edited by witti; 10-30-2013 at 03:04 PM.
witti is offline   Reply With Quote
Old 10-31-2013, 08:15 AM   #4
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

It's super plugin, that hasn't any analog in the whole world. BIG THANKS!!! And how to change the velocity of notes?
vitalker is online now   Reply With Quote
Old 10-31-2013, 08:17 AM   #5
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Ctrl+drag.
EvilDragon is offline   Reply With Quote
Old 10-31-2013, 08:34 AM   #6
joesacco
Human being with feelings
 
joesacco's Avatar
 
Join Date: Sep 2012
Location: Canada
Posts: 215
Default

Is there a way to copy a pattern to another patten. Also can you drag and drop a midi sequence into the timeline or is that asking too much?!

Last edited by joesacco; 10-31-2013 at 08:56 AM. Reason: auto correct
joesacco is offline   Reply With Quote
Old 10-31-2013, 08:51 AM   #7
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Quote:
Originally Posted by joesacco View Post
Also can you drag and drop a midi sequence into thrbtimeline or is that along too much?!
That's not possible via JS.
EvilDragon is offline   Reply With Quote
Old 10-31-2013, 08:58 AM   #8
henge
Human being with feelings
 
henge's Avatar
 
Join Date: Sep 2007
Posts: 2,153
Default

I really like this plug!! Great work.
__________________
Registered Reaper user.
http://www.villageworkscanada.com/landingpad.cfm
henge is offline   Reply With Quote
Old 10-31-2013, 10:07 AM   #9
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by EvilDragon View Post
Ctrl+drag.
Thanks!
vitalker is online now   Reply With Quote
Old 10-31-2013, 10:43 AM   #10
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Updated to version 005.
- Use pattern numbers 1-16.
- Fix bug in note names. A# was in incorrect location.
- Improved note highlighting behavior when editing velocities.
- Show edited velocity values.

https://stash.reaper.fm/18550/sequencer_baby_v2_jnif_005



jnif
jnif is offline   Reply With Quote
Old 10-31-2013, 10:45 AM   #11
witti
Human being with feelings
 
witti's Avatar
 
Join Date: May 2012
Posts: 1,216
Default

Wow, coool !
witti is offline   Reply With Quote
Old 10-31-2013, 11:04 AM   #12
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Incredible!
vitalker is online now   Reply With Quote
Old 10-31-2013, 11:31 AM   #13
ned
Human being with feelings
 
Join Date: Mar 2012
Posts: 331
Default

Maybe a dumb question... will this work with older reaper versions?
(cool work btw )
ned is offline   Reply With Quote
Old 10-31-2013, 11:40 AM   #14
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
Default

Nice.
IXix is offline   Reply With Quote
Old 10-31-2013, 11:52 AM   #15
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Quote:
Originally Posted by ned View Post
Maybe a dumb question... will this work with older reaper versions?
(cool work btw )
Not too old, as there have been changes in JS syntax in some of recent Reaper versions (dunno if the code itself uses any of the new syntax, jnif knows that better I'd say).
EvilDragon is offline   Reply With Quote
Old 10-31-2013, 11:57 AM   #16
Argle
Human being with feelings
 
Join Date: Aug 2011
Posts: 1,272
Default

Oh man, the ability to select the notes you want is so cool. Does it audition the notes as you click and drag? I'm not at home and can't test it. That would be very much appreciated.
Argle is offline   Reply With Quote
Old 10-31-2013, 12:12 PM   #17
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Quote:
Originally Posted by ned View Post
Maybe a dumb question... will this work with older reaper versions?
(cool work btw )
Quote:
Originally Posted by EvilDragon View Post
Not too old, as there have been changes in JS syntax in some of recent Reaper versions (dunno if the code itself uses any of the new syntax, jnif knows that better I'd say).
I have used new JS features very little.
But still I think v4.25+ is required. I have used ~ for bitwise XOR. It seems to be a v4.25+ feature.

Probably I should have used the new JS features more. For example functions could help to keep the code cleaner and more manageable.

jnif
jnif is offline   Reply With Quote
Old 10-31-2013, 01:00 PM   #18
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Quote:
Originally Posted by Argle View Post
Oh man, the ability to select the notes you want is so cool. Does it audition the notes as you click and drag? I'm not at home and can't test it. That would be very much appreciated.
Updated to version 006.
- Audition notes when transposing a note row in Drum map mode.

https://stash.reaper.fm/18553/sequencer_baby_v2_jnif_006

jnif
jnif is offline   Reply With Quote
Old 10-31-2013, 01:05 PM   #19
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Quote:
Originally Posted by jnif View Post
Probably I should have used the new JS features more. For example functions could help to keep the code cleaner and more manageable.
So do it
EvilDragon is offline   Reply With Quote
Old 10-31-2013, 01:11 PM   #20
Argle
Human being with feelings
 
Join Date: Aug 2011
Posts: 1,272
Default

Quote:
Originally Posted by jnif View Post
Updated to version 006.
- Audition notes when transposing a note row in Drum map mode.

https://stash.reaper.fm/18553/sequencer_baby_v2_jnif_006

jnif

You are a scholarly gentleman! This is actually shaping up to be a killer step sequencer. I've tried numerous ones throughout the years but they are either commercial/expensive, lacking features, or too many unneeded features. The only thing I personally miss from the current iteration is swing/shuffle.

Last edited by Argle; 10-31-2013 at 02:19 PM.
Argle is offline   Reply With Quote
Old 10-31-2013, 01:16 PM   #21
mwe
Human being with feelings
 
mwe's Avatar
 
Join Date: Mar 2012
Location: Kentucky, USA
Posts: 254
Default

Nice work. A couple of minor observations.

Line 128 has a typo
Code:
listlenght > 80 ? velobarwidth = 1;
Line 695, I don't think that trailing s belongs there
Code:
      gfx_rectto(lx+barwidth,ty);s
mwe is offline   Reply With Quote
Old 10-31-2013, 01:19 PM   #22
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Updated to version 007
- Fix bug in auditioning. Was sending a note when loading the plugin.
- Use last edited velocity for auditioning. It was a bit annoying when auditioning used only max velocity. (This is still not optimal. I think auditioning existing notes should use the existing velocity, not the last edited. Maybe in next version...)

https://stash.reaper.fm/18555/sequencer_baby_v2_jnif_007

jnif
jnif is offline   Reply With Quote
Old 10-31-2013, 01:24 PM   #23
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Quote:
Originally Posted by mwe View Post
Nice work. A couple of minor observations.

Line 128 has a typo
Code:
listlenght > 80 ? velobarwidth = 1;
Line 695, I don't think that trailing s belongs there
Code:
      gfx_rectto(lx+barwidth,ty);s
Thanks for spotting those! Fixing.

jnif
jnif is offline   Reply With Quote
Old 10-31-2013, 02:48 PM   #24
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Updated to version 008
- Fixed bug where velocity values would erase parts of bar lines.
- Audition existing notes using the velocity of note under cursor. Also velocity of the new drawn notes will be set to the last auditioned velocity.
- Some typo fixes. Thanks mwe.

https://stash.reaper.fm/18556/sequencer_baby_v2_jnif_008

jnif
jnif is offline   Reply With Quote
Old 10-31-2013, 03:57 PM   #25
Argle
Human being with feelings
 
Join Date: Aug 2011
Posts: 1,272
Default

I tried the new version out with Battery 3, and it consistently crashes when I go up to G#9 or above in drum mode (click and drag on note).

Last edited by Argle; 10-31-2013 at 04:05 PM.
Argle is offline   Reply With Quote
Old 10-31-2013, 04:01 PM   #26
Argle
Human being with feelings
 
Join Date: Aug 2011
Posts: 1,272
Default

Some features I would like to see.

- Note auditions when you activate a step.

- Note auditions when you click on the note, in addition to when you click and drag to change note value.

- I would personally like the deactived steps a bit darker to contrast more with active steps, or active steps a bit brighter. Maybe a way for users to set colors for both? No idea if JS can do that.
Argle is offline   Reply With Quote
Old 10-31-2013, 04:09 PM   #27
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Quote:
Originally Posted by Argle View Post
I tried the new version out with Battery 3, and it consistently crashes when I go up to G#9 or above in drum mode (click and drag on note).
What's the middle C? If it's C3, then G#9 doesn't exist (G8 is MIDI note 127, highest note, with C3 being middle C).
EvilDragon is offline   Reply With Quote
Old 10-31-2013, 04:18 PM   #28
Argle
Human being with feelings
 
Join Date: Aug 2011
Posts: 1,272
Default

Quote:
Originally Posted by EvilDragon View Post
What's the middle C? If it's C3, then G#9 doesn't exist (G8 is MIDI note 127, highest note, with C3 being middle C).
In Battery the problem cell is C-2. The preceding cell is G8, which triggers fine. In this plugin though I have to set it to an octave higher (the Battery cell G8 is G9 in the plugin, and the C-2 battery cell would be G#9, which crashes).

I don't know what middle C is, don't know how to check that.

Maybe the notes should wrap around when they reach the max at either end?

Last edited by Argle; 10-31-2013 at 04:27 PM.
Argle is offline   Reply With Quote
Old 10-31-2013, 04:26 PM   #29
Argle
Human being with feelings
 
Join Date: Aug 2011
Posts: 1,272
Default

I checked the MIDI editor, and hitting the C3 note triggers the C2 cell in Battery.
Argle is offline   Reply With Quote
Old 10-31-2013, 04:36 PM   #30
karbomusic
Human being with feelings
 
karbomusic's Avatar
 
Join Date: May 2009
Posts: 29,260
Default

Why does it go backwards (right to left) or sometimes forwards?
__________________
Music is what feelings sound like.
karbomusic is offline   Reply With Quote
Old 10-31-2013, 07:31 PM   #31
ned
Human being with feelings
 
Join Date: Mar 2012
Posts: 331
Default

Quote:
Originally Posted by EvilDragon View Post
Not too old, as there have been changes in JS syntax in some of recent Reaper versions (dunno if the code itself uses any of the new syntax, jnif knows that better I'd say).
Quote:
Originally Posted by jnif View Post
I have used new JS features very little.
But still I think v4.25+ is required. I have used ~ for bitwise XOR. It seems to be a v4.25+ feature.

Probably I should have used the new JS features more. For example functions could help to keep the code cleaner and more manageable.

jnif
Thanks for clarification guys.

jnif, thanks for hard work on this man!
ned is offline   Reply With Quote
Old 11-01-2013, 11:43 AM   #32
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Updated to version 009
- Fixed crashing when sending invalid MIDI notes above G8.
- Fixed reverse playback bug in negative bar positions.
- Fixed bugs in Drum map note names.

https://stash.reaper.fm/18564/sequencer_baby_v2_jnif_009

jnif
jnif is offline   Reply With Quote
Old 11-01-2013, 12:11 PM   #33
karbomusic
Human being with feelings
 
karbomusic's Avatar
 
Join Date: May 2009
Posts: 29,260
Default

Quote:
Originally Posted by karbomusic View Post
Why does it go backwards (right to left) or sometimes forwards?
Am I missing something obvious? Is there a reason the sequencer should randomly play backwards?

Quote:
- Fixed reverse playback bug in negative bar positions.
Oops, will test. thanks.
__________________
Music is what feelings sound like.
karbomusic is offline   Reply With Quote
Old 11-01-2013, 04:34 PM   #34
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Still playing backwards during Pre Roll if starting recording at the beginning of project .
Devs or other JS experts, do you have any instructions on how to solve this issue properly?

jnif
jnif is offline   Reply With Quote
Old 11-01-2013, 10:34 PM   #35
mwe
Human being with feelings
 
mwe's Avatar
 
Join Date: Mar 2012
Location: Kentucky, USA
Posts: 254
Default

Quote:
Originally Posted by jnif View Post
Still playing backwards during Pre Roll if starting recording at the beginning of project .
Devs or other JS experts, do you have any instructions on how to solve this issue properly?
I'm far from meeting either of those qualifications but hey, it's the internet. Does changing line 278 to this help?

Code:
curbeatpos = start_beatpos + beat_position > 0 ? beat_position : 0;
mwe is offline   Reply With Quote
Old 11-01-2013, 10:45 PM   #36
Doc Shay
Human being with feelings
 
Doc Shay's Avatar
 
Join Date: Jun 2012
Posts: 126
Default

This sequencer is becoming very good and usable, my only gripes for it is the sequencer C1 triggers C2 on the midi editor in reaper, the labeling seems off by 1 octave and is there a way to reset velocity to default after changing it?
__________________
My music https://soundcloud.com/docshay

My twitter https://twitter.com/_DocShay
Doc Shay is offline   Reply With Quote
Old 11-02-2013, 08:00 AM   #37
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Updated to version 010
- MIDI recording. Use "Record: disable (input monitoring only)" on the sequencer_baby track.

https://stash.reaper.fm/18572/sequencer_baby_v2_jnif_010

jnif
jnif is offline   Reply With Quote
Old 11-02-2013, 10:42 AM   #38
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Quote:
Originally Posted by Doc Shay View Post
This sequencer is becoming very good and usable, my only gripes for it is the sequencer C1 triggers C2 on the midi editor in reaper, the labeling seems off by 1 octave and is there a way to reset velocity to default after changing it?
I have used those octave numbers because I like to have same numbers as in NI Battery and Kontakt.
In Reaper preferences I have "MIDI octave name display offset" set to -1. This way I have MIDI editor, Sequencer_baby, and Battery/Kontakt, all displaying same octave numbers.

I think it's not possible to auto-detect "MIDI octave name display offset" setting inside JS code. Or is it?
Maybe there should be some easily editable variable in Sequencer_baby which you could manually modify to match your "MIDI octave name display offset" setting.

jnif
jnif is offline   Reply With Quote
Old 11-02-2013, 11:17 AM   #39
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Updated to version 011
- Improved note row transpose. Pass-through MIDI and recorded MIDI is transposed according to row transposes in Drum map mode.
- Some code cleanup.

https://stash.reaper.fm/18573/sequencer_baby_v2_jnif_011

jnif
jnif is offline   Reply With Quote
Old 11-02-2013, 03:03 PM   #40
memyselfandus
Human being with feelings
 
memyselfandus's Avatar
 
Join Date: Oct 2008
Posts: 1,598
Default

what folder does this go in?
memyselfandus 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 09:08 AM.


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