Old 12-31-2016, 02:24 AM   #121
stephane
Human being with feelings
 
Join Date: May 2010
Location: France
Posts: 97
Default

Hello Hafer

Not at all. I'm not involved in this recent activity around articulation maps (despite of what I programmed with my inspector and the articulation-keyswitching system), but I'm very pleased to see things are moving forward and they are looking very promising.
stephane is offline   Reply With Quote
Old 01-01-2017, 05:23 PM   #122
LeSedna
Human being with feelings
 
Join Date: Dec 2008
Posts: 15
Default

I was LITERALLY watching a video on youtube of someone using Cubase with the midi articulation lane below the midi roll. And I reacted thinking "i can't believe I can't do that with reaper yet" and with a quick google I am here.

I am stoked and I am so happy. I have been bothered with midi orchestrations and the non intuitivity of having to remember channel numbers or using keyswitches which involve going up and down the piano roll lane.

If you end up with something more or less like the cubase articulation lane, and more, this will actually be great news for so many people.

I am now gonna follow this thread almost daily !
LeSedna is offline   Reply With Quote
Old 01-14-2017, 05:46 AM   #123
LeonardC
Human being with feelings
 
Join Date: Feb 2012
Location: Singapore
Posts: 37
Default Finally!!

Oh yes!! Finally Expression Maps are coming to Reaper! I cant wait to see this happening!
LeonardC is offline   Reply With Quote
Old 01-27-2017, 09:46 AM   #124
swiiscompos
Human being with feelings
 
swiiscompos's Avatar
 
Join Date: Mar 2011
Location: London
Posts: 1,211
Default

Using it for the first time today, you did a really wonderful work!

Two things though. First one is a bug, when resizing the GUI will appear and disappear and it can be a bit difficult to find a correct width. (I'm on Mac btw).

And a feature request: Would it be possible for the script to send a bank change message every time I start recording if the previous bank message is different? Because right now I will sometimes start playing with one sound and switch to another one later and when playing back I will hear the last sound used, not the one I was using while recording.

Last edited by swiiscompos; 01-27-2017 at 09:55 AM.
swiiscompos is offline   Reply With Quote
Old 01-27-2017, 01:47 PM   #125
swiiscompos
Human being with feelings
 
swiiscompos's Avatar
 
Join Date: Mar 2011
Location: London
Posts: 1,211
Default

A couple of other things:
When unselecting "Link TCP/Mixer visibility" I would excpect the script to not change anything in the mixer. Currently it makes all the tracks visible.

Also when making tracks visible it would be good if we could click and drag over all the whole width of the track to select a range, and not just over the visibility button.
swiiscompos is offline   Reply With Quote
Old 01-28-2017, 11:11 PM   #126
stephane
Human being with feelings
 
Join Date: May 2010
Location: France
Posts: 97
Default

@swiiscompos.

Thank you for your comments. I'm going to see what it's possible to do to improve what you mentioned.
stephane is offline   Reply With Quote
Old 02-26-2017, 08:31 AM   #127
emid
Human being with feelings
 
Join Date: Feb 2016
Posts: 153
Default

Just wow. This deserves a re-up.
Instant contribution and looking forward to get it.
emid is offline   Reply With Quote
Old 03-16-2017, 10:30 AM   #128
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Thanks for this one!
Looking very promising,
yet needs some time to set up.

I'm using a few vst-instruments now, eg
Kirk Hunter Diamond Orchestra
Kontakt
with solo violin
having key-switches like this:

for this:

But,
a little tedious to set up

Managed to:
- Install scripts and keyswitch
- Load keyswitch
- Make ini-entry for "6=KHS Diamond|Kontakt5"

But then it stops for me.
Will see if I get my head around it
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 03-23-2017, 11:35 AM   #129
mpb2016
Human being with feelings
 
Join Date: Feb 2016
Posts: 99
Default

Quote:
Originally Posted by G-Sun View Post
But then it stops for me.
Will see if I get my head around it
Do you have problems using it? I don't know if there are better workflows but this how I use it:

1. Create a .reabank file like this
Code:
Bank 121 0 NI VSL Violin Ensemble 
24 Sustain
25 Fortepiano
26 Sforzando
27 Staccato
28 Tremolo
39 Pizzicato
..and put it in a subfolder here:
User/AppData/Roaming/Reaper/Scripts/inspector/reabank/

2. Insert an instant of 'JS:Midi Keyswitches' that was included in the Inspector package on the midi track.

3. Load Inspector. (I made a custom button to open Inspector.lua) and load your articulation .reabank file

4. Open the Midi editor and a 'Bank/Program Select' lane and right click on the chosen articulation on the button from the list on the Inspector. (The articulation should now become visible along with the name in the 'Bank/Program Select' lane.)



Make sure the channel setting in the midi editor is set right because the only time i've had problems with it and it didn't show up was when I had the wrong midi channel selected in the editor by mistake.

I hope this helps.

Cheers!
Attached Images
File Type: gif inspector.gif (36.0 KB, 2001 views)

Last edited by mpb2016; 03-23-2017 at 12:15 PM.
mpb2016 is offline   Reply With Quote
Old 03-24-2017, 06:42 AM   #130
bFooz
Human being with feelings
 
Join Date: Jul 2010
Location: Slovakia
Posts: 2,588
Default

Hi, I have just started using it and have some suggestions for Tracklist:

1) make shift+click to select multiple tracks and ctrl+click to toggle one-track selection. Currently shift+click toggles one track selection.

2) swiping works only when the mouse stays within the width of the visibility circle, which is pretty small. In the Reaper itself, swiping works just by moving mouse over the track anywhere. See gif bellow.


Thanks.
bFooz is offline   Reply With Quote
Old 03-24-2017, 10:21 PM   #131
stephane
Human being with feelings
 
Join Date: May 2010
Location: France
Posts: 97
Default

@bFooz: Thank you for your comment and suggestions. I'll see what it's possible to do
stephane is offline   Reply With Quote
Old 03-25-2017, 05:13 AM   #132
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Ok,
so it's not lane 32 it's the bank/program select

Looking good now.
Getting scenes to work as well.
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp

Last edited by G-Sun; 03-25-2017 at 08:43 AM.
G-Sun is offline   Reply With Quote
Old 03-29-2017, 08:21 AM   #133
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Code:
tmp.lua:4457: bad argument #1 to 'GetMediaItemTake_Track' (MediaItem_Take expected)
I'm having problems with using this script.
Now it wont load.

Code:
Bank 121 0 NI KHS DS 1st Violin 

25 Smooth 
26 Accent pp 
27 Accent mf 
28 Accent ff 
29 Adagio
30 Short notes
31 Tremolo
32 Half Step Trill
33 Whole Step Trill
34 Pizzicato
35 Bartok Pizzicato
36 Harmonics
But I don't get any key-changes.

And sometimes my instrument get muted/ no sound
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp

Last edited by G-Sun; 03-29-2017 at 08:29 AM.
G-Sun is offline   Reply With Quote
Old 03-29-2017, 09:22 AM   #134
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Sorry, my fault I guess.
Key-switches was not engaged on my instrument
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 03-30-2017, 01:30 AM   #135
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Now, Inspector is not printing pgm change
Reaper 5.40/x64
I do manually insert
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 03-30-2017, 01:34 AM   #136
stephane
Human being with feelings
 
Join Date: May 2010
Location: France
Posts: 97
Default

Quote:
Originally Posted by G-Sun View Post
Now, Inspector is not printing pgm change
Reaper 5.40/x64
I do manually insert
Hello G-Sun

what do you mean by "not printing pgm change"?
stephane is offline   Reply With Quote
Old 03-30-2017, 02:09 AM   #137
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Quote:
Originally Posted by stephane View Post
what do you mean by "not printing pgm change"?
RMB on articulation does not insert program-change

Edit: Reload Reaper. Now it works, but only with text 121-0-28
and on double-click in lane I can't access my reabank.

Have I done any errors to the reabank-file above?
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 04-04-2017, 10:12 AM   #138
mpb2016
Human being with feelings
 
Join Date: Feb 2016
Posts: 99
Default

Quote:
Originally Posted by G-Sun View Post
RMB on articulation does not insert program-change

Edit: Reload Reaper. Now it works, but only with text 121-0-28
and on double-click in lane I can't access my reabank.

Have I done any errors to the reabank-file above?
All my reabank files starts with "Bank 121 0" so i dunno if that "121-0-28" got something to do with it.

Also check which channel is selected in the midi editor, that the textfile is reloaded (if you made any changes to it) and sometimes I have to record arm it when it gets buggy.
mpb2016 is offline   Reply With Quote
Old 04-16-2017, 08:01 AM   #139
tyllmusic
Human being with feelings
 
Join Date: Sep 2016
Posts: 30
Default

Hey stephane!

I'm still enjoying your script a lot! However, there is one thing that disturbes my workflow quite a bit: The midi_keyswitch JS seems to reset whenever I play/pause.

This results in always sending a new KS when pressing a key after play/pause and therefore switching the articulation. I'd love to skip the step of always re-selecting the articulation after start/stop.

I have very little understanding of JS, but tried to help myself. I have found that maybe the issue could be solved by using "ext_noinit = 1". I have tried it, but it doesn't work.

Any chance you can help me with a simple fix? I really appreciate your work and don't want you to feel forced to change the script only for me. Sorry if this is too much to ask for - just let me know. I would fully understand that!

Have great easter weekend.
Tyll
tyllmusic is offline   Reply With Quote
Old 04-17-2017, 11:00 PM   #140
stephane
Human being with feelings
 
Join Date: May 2010
Location: France
Posts: 97
Default

Quote:
Originally Posted by tyllmusic View Post
Hey stephane!

However, there is one thing that disturbes my workflow quite a bit: The midi_keyswitch JS seems to reset whenever I play/pause.
Hello Tyll

You're right. That's something I wanted in my workflow. I can understand it is not adapted for you. When I'll back at home (I'm in vacation at this moment) I'll see how to modify the script.
stephane is offline   Reply With Quote
Old 04-18-2017, 12:30 AM   #141
tyllmusic
Human being with feelings
 
Join Date: Sep 2016
Posts: 30
Default

You are great! Thanks a lot and enjoy your vacation
tyllmusic is offline   Reply With Quote
Old 04-19-2017, 11:07 AM   #142
stephane
Human being with feelings
 
Join Date: May 2010
Location: France
Posts: 97
Default

@Tyll: PM sent
stephane is offline   Reply With Quote
Old 04-28-2017, 06:13 PM   #143
dub tree
Human being with feelings
 
Join Date: Jan 2008
Posts: 308
Default

-----

Last edited by dub tree; 06-08-2017 at 02:08 PM.
dub tree is offline   Reply With Quote
Old 06-08-2017, 01:12 AM   #144
tyllmusic
Human being with feelings
 
Join Date: Sep 2016
Posts: 30
Default

I found the same bug as G-Sun.

I get the error message

"tmp.lua:4457: bad argument #1 to 'GetMediaItemTake_Track' (MediaItem_Take expected)"

when I delete a MIDI item or try to start the articulation inspector without any MIDI item selected. This obviously happens quite often. Any chance to fix this?

Also for some reason the articulation inspector does not "remember" it's docking location. It always appears in top docker first and I have to drag it back every single time. That would not be too bad if it was once per session, but since it crashes every time I delete a MIDI item...

Maybe someone has had that problems already and knows a fix.

Thanks a lot
Tyll
tyllmusic is offline   Reply With Quote
Old 06-19-2017, 08:10 PM   #145
Tim Rideout
Human being with feelings
 
Tim Rideout's Avatar
 
Join Date: Jan 2013
Location: Montreal, Canada
Posts: 258
Default

I'm late to this party, but wondering - how different is this from BRSO Articulate?

http://www.syntheticorchestra.com/articulatereaper/
__________________
---
www.TimRideout.com
Tim Rideout is offline   Reply With Quote
Old 06-20-2017, 05:59 AM   #146
dub tree
Human being with feelings
 
Join Date: Jan 2008
Posts: 308
Default

Quote:
Originally Posted by Tim Rideout View Post
I'm late to this party, but wondering - how different is this from BRSO Articulate?

http://www.syntheticorchestra.com/articulatereaper/
For one, it lets you do everything on one MIDI channel within the piano roll, using program changes to switch articulations (rather than using one midi channel per articulation). This can be visually cleaner, depending on your personal preferences. In this regard, it's a step closer to Cubase's expression maps (though I've never actually used Cubase, I've only seen videos of this feature). It actually still uses multiple channels, but lets you do all your programming/writing on channel 1, while it handles that stuff internally.

Another thing is, it lets you change the articulation you're actually playing just by clicking on the appropriate button within the inspector. BRSO only changes the articulation of the MIDI notes you have selected in the editor when you click on an articulation button, but still requires you to manually change the articulation from within your sampler if you aren't actually inputting MIDI to your editor. This is great for when you are playing/writing and you want to rapidly switch articulations without having to load up your sampler's interface or struggle to remember which keyswitch is which.

Third, it uses Reabank files, which means you can easily create custom maps per instrument, and you can label articulations however you want, rather than being stuck with BRSO's pre-defined selections (which are fine if you're into Spitfire/UACC, but can be lacking for some of the more esoteric/unconventional articulations from other libraries). This makes the initial setup a bit easier, as I've always found setting up BRSO to be a pain with all the dropdown-menu-hunting within the bundled JSFX. I prefer the text file approach, since personally I can type a lot faster than I can click.

There's probably more, but these are the reasons why I prefer it over BRSO Articulate, and though that system is certainly quite slick and clever, it just feels a little less flexible than this one.

Last edited by dub tree; 06-20-2017 at 06:05 AM.
dub tree is offline   Reply With Quote
Old 06-23-2017, 08:00 AM   #147
Tim Rideout
Human being with feelings
 
Tim Rideout's Avatar
 
Join Date: Jan 2013
Location: Montreal, Canada
Posts: 258
Default

This is seriously incredible for orchestral composers like myself. It will GREATLY simplify the back-and-forth many of us have experienced with Vienna. I'd say it's the number one problem in my workflow - going back to the darm Kontakt patch to see what articulation is what.

Thank you so much and keep up the amazing work

Has there been a YouTube tutorial done on this?
__________________
---
www.TimRideout.com
Tim Rideout is offline   Reply With Quote
Old 06-29-2017, 07:35 PM   #148
Johnny Rico
Human being with feelings
 
Johnny Rico's Avatar
 
Join Date: Jul 2009
Posts: 121
Default

Quote:
Originally Posted by Tim Rideout View Post
This is seriously incredible for orchestral composers like myself. It will GREATLY simplify the back-and-forth many of us have experienced with Vienna. I'd say it's the number one problem in my workflow - going back to the darm Kontakt patch to see what articulation is what.

Thank you so much and keep up the amazing work

Has there been a YouTube tutorial done on this?
Being french like me (and Stephane of course), this french blog could help you configuring orchestral templates for Reaper while using Stephane great articulation script !

Here is part four, mainly focused on the script, but check other ones too

http://mao-studio.over-blog.com/2016...me-partie.html

Last edited by Johnny Rico; 07-27-2017 at 06:43 PM.
Johnny Rico is offline   Reply With Quote
Old 07-29-2017, 06:28 PM   #149
inarisound
Human being with feelings
 
inarisound's Avatar
 
Join Date: Dec 2016
Location: Los Angeles
Posts: 226
Default Need your Help guys =\

Hello Stephane!

I was trying to use your beautiful creation the other day... but unfortunately I was not able to make it work properly.... Can you please take a quick look on a problem that I have https://youtu.be/f3FEipphGdE?t=1m3s

tl;td Every time I put a new articulation it will create incorrect velocity for that articulation.

I am using Reaper 5.40
OSX 10.10.5

If someone who is using Inspector can help with that problem it would be much appreciated

sincerely yours,
inarisound
inarisound is offline   Reply With Quote
Old 07-29-2017, 10:06 PM   #150
stephane
Human being with feelings
 
Join Date: May 2010
Location: France
Posts: 97
Default

Hello

1. JS MIDI Keyswitches must be in first position in FX Track, just before the Kontakt instance, otherwise Kontakt will not receive articulation data
2. Right click on a button of the inspector. You'll see the articulation name added in the midi CC lane: Bank/Program Select

Hope this helps

Stéphane

Quote:
Originally Posted by inarisound View Post
Hello Stephane!

I was trying to use your beautiful creation the other day... but unfortunately I was not able to make it work properly.... Can you please take a quick look on a problem that I have https://youtu.be/f3FEipphGdE?t=1m3s

tl;td Every time I put a new articulation it will create incorrect velocity for that articulation.

I am using Reaper 5.40
OSX 10.10.5

If someone who is using Inspector can help with that problem it would be much appreciated

sincerely yours,
inarisound
stephane is offline   Reply With Quote
Old 08-18-2017, 08:19 AM   #151
Hamrock
Human being with feelings
 
Join Date: Aug 2017
Posts: 5
Default

Has anyone figured out the best way to trigger these in real time through Inspector as well? It would be nice to be able to perform arts while having the ability to consolidate them across libraries, and edit efficiently on a separate lane. I tried sending cc 32 but didn't have much luck. Tack is doing it using Bome Midi Translator (https://www.youtube.com/watch?v=kVupAmyIDSs&t=665s), just wondering if there is an easier way.
Hamrock is offline   Reply With Quote
Old 08-23-2017, 04:17 AM   #152
sproost
Human being with feelings
 
sproost's Avatar
 
Join Date: Jul 2008
Posts: 92
Default

Hi,
there is probably a good deal ignorance in this question seeing that I"m a little out of my depth with how this script really works, but I was wondering if this works while having different Midi ports.

Seeing that I (and probably many others) use Vienna Ensemble Pro to host many libraries, they're all set up spawning over a multitude of midi ports. I would, for example, have a Flute library and all articulations going on Midi Port 2 - Channel 1 until 8. Would the track inspector articulation chooser still work?

Important to note here is that Vienna's VST3 plug does not support Program Change messages

Last edited by sproost; 08-23-2017 at 11:24 AM.
sproost is offline   Reply With Quote
Old 09-18-2017, 10:37 AM   #153
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Location: Kalispell
Posts: 14,759
Default

Hi stephane, This all sounds very interesting, but I have a question.

All the instruments I use keyswitchs on, are in Kontakt.

Many of these instruments use stacked keyswitchs that are in the same time/grid position. There are 2, 3, and 4 switchs, all in one position that control 2, 3, or 4 notes and their CC controllers.

In order for them to work, they need to be offset from each other slightly, with the corresponding notes being offset the same. The picture below shows how it might be setup.

The image on the left is zoomed out and the one on the right zoomed in to give you a better idea of how they might be stacked. Also notice their separation, if they were positioned much closer, they might not work, because it requires a little time between them for the keyswitch to be effective.

So my question is, will I be able to achieve this with your script?

Tod is offline   Reply With Quote
Old 09-18-2017, 10:58 PM   #154
stephane
Human being with feelings
 
Join Date: May 2010
Location: France
Posts: 97
Default

Hi Tod

Sorry, but the script can't manage stacked keyswitches.
I understand very well what you are trying to achieve, but I have to confess that it's not currently possible
stephane is offline   Reply With Quote
Old 09-19-2017, 08:47 AM   #155
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Location: Kalispell
Posts: 14,759
Default

Quote:
Originally Posted by stephane View Post
Hi Tod

Sorry, but the script can't manage stacked keyswitches.
I understand very well what you are trying to achieve, but I have to confess that it's not currently possible
Okay, thanks stephane, I kind of figured that.
Tod is offline   Reply With Quote
Old 10-05-2017, 07:34 AM   #156
ThomasDuy
Human being with feelings
 
Join Date: Oct 2017
Posts: 14
Default

Hi, I wonder how can I use Multi-channel/ multi-timbre with this ? I use Play library of EastWest, and when the fx "MIDI>Keyswitch" is on, the Player only receive MIDI singal to the last MIDI channel. For ie: I open Guitar and Piano on Play on the same track. Route 2 MIDI tracks (1 for guitar and 2 for piano) to the Play track, and route the Play track to 2 output tracks (1/2 for guitar and 3/4 for piano). When I play my keyboard on both the 2 MIDI tracks, they all send signals to piano, hear nothing from guitar output, no singal to. I dont know why. It can only be fixed if I turn off the fx"MIDI> Keyswitch", and the problem disappear.

And How to keep all articulation when I move the MIDI notes to different positions ?
ThomasDuy is offline   Reply With Quote
Old 11-21-2017, 05:01 PM   #157
rogpfreck
Human being with feelings
 
rogpfreck's Avatar
 
Join Date: Oct 2017
Location: Freckleton, UK
Posts: 17
Default

stefane,

I recently received your Articulation Inspector. Thank you. And have been applying it to EWSO Play. The documentation is clear and skillfully presented.

I thought I'd say through the forum that your articulation Inspector works well in the latest Reaper with Mac OS Sierra 10.12.6. A welcome and needed addition to Reaper!

Roger
rogpfreck is offline   Reply With Quote
Old 12-10-2017, 03:29 AM   #158
DynamicK
Human being with feelings
 
Join Date: Nov 2017
Location: Gloucestershire, UK
Posts: 223
Default

Interesting take on Cubase Expression Maps. How good is the "chasing" of articulations with this script? The one thing that annoyed me with CB Exp Maps, is when working on a loop section, it wouldn't always have the right articulation. When the track was rendered it seemed to be fine. Just asking, as there is no demo of this and quite a few alternatives seem to be in the pipeline.
DynamicK is offline   Reply With Quote
Old 01-11-2018, 12:30 PM   #159
Bill_T
Human being with feelings
 
Join Date: Jan 2018
Posts: 38
Default

DynamicK, I have not used Cubase expression maps in recent versions, but I remember there were several ways to not get the right expression.

Stephane's plug-in seems to be quite smart in that regard. I was surprised to find I could start playback between articulation changes, and still get the proper articulation. Even better, I get the proper artic even when scrubbing through the timeline backward! Amazing! Now that's what I call "chasing."

I was on the verge of upgrading my Cubase Elements to the full package just to get articulation maps! Think $450. Now, perhaps not. Merci beaucoup M. Stephane!
Bill_T is offline   Reply With Quote
Old 04-03-2018, 06:31 AM   #160
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
Default A bug

Hi Stephane!

I´ve found a bug while using your script. Say I have the Inspector open just beside the MIDI Editor Window. As I use Left/Right arrows (and some shortcuts as Shift+Left/Right arrow to jump from note to note), every time I use one of those keys/shortcuts while having focus on your inspector, the script crashes with this warning :

tmp.lua:1459: attempt to compare number with nil

I hope it can be fixed, since it´s quite useful (and we could say the most comfortable way to enter articulations in complex parts) to be able to use arrows/shortcuts to jump from note to note while at the same time entering articulations with the inspector.

Thanks in advance!
Soli Deo Gloria 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 02:07 PM.


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