Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

Reply
 
Thread Tools Display Modes
Old 08-06-2018, 09:44 AM   #1
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default MPL WiredChain: handling per-track FX routing

EDIT:17.05.2020 I left it as is for now, the 4th prototype still have bad behaviour because of too much limitations of REAPER flexible routing. Near impossible to implement it without external tools. So I`ll probably stick it as is and return to it in the future...



WiredChain is a lua script for REAPER.
It provides configuring FX routing with dropping wires instead digging FX IO pin menus.

This is 4th prototype, hope this attempt is better then previous. You probably saw TrackFX Routing by eugen + mods by kawa and DarkStar, it does the job perfectly, but it still pin-based which can be strange for beginner after wired software like FrutyLoops Patcher, MUX modular etc. So my point is to make interface, which let user connect FX without touching pins, with auto-build routing, in some cases preventing known limitations of Reaper routing inside single track FX chain or workaround them if possible.





Features (will be updated from time to time):
  • drag/drop wires to connect FX
  • allow to reset/clear all pins or pins of FX under mouse cursor
  • when route source FX to previous in chain, auto move destination FX
  • dockable


Any doable suggestions are welcome.
For this project it is highly recommended to attach gif and description about what happens and what you are expecting. Because I see most of users feel script do something wrong, while it is just handle REAPER routing as it is. So it mostly not a bug, but a desired behaviour which should be workarounded on data or GUI level.

Download/Install: ReaPack, search Action List for mpl_WiredChain (background).lua
Requirements:
  • REAPER 5.95+
  • SWS 2.9.7+
  • ReaPack 1.2.1+
  • if you install package manually OR you have [Action List/ReaPack: Manage repositories/Options/Install new packages] unchecked, you must also pick for install MPL_Scripts/Functions/Various_functions.lua. It is a must have file to have WiredChain working

Telegram channel for MPL scripts: t.me/mplscripts_chat

Last edited by mpl; 05-17-2020 at 07:49 AM.
mpl is offline   Reply With Quote
Old 08-06-2018, 10:06 AM   #2
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

Now, when you think that most of the cool stuff exists already...
Great work mpl!
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 08-06-2018, 01:02 PM   #3
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Posts: 3,669
Default

i'm not a dumb guy, but i always had to take longer than i wished to figure out REAPER's track pinout view. this, however, makes immediate sense.

thank you as always for your work. i check reapack daily for new MPL releases.
__________________
mccrabney scripts: MIDI edits from the Arrange screen ala jjos/MPC sequencer
|sis - - - anacru| isn't what we performed: pls no extra noteons in loop recording
| - - - - - anacru|sis <==this is what we actually performed.
mccrabney is offline   Reply With Quote
Old 08-06-2018, 04:52 PM   #4
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

Very nice concept ! Thx for your work !
X-Raym is offline   Reply With Quote
Old 08-06-2018, 04:58 PM   #5
Bri1
Banned
 
Join Date: Dec 2016
Location: England
Posts: 2,432
Default

Quote:
WiredChain is a lua script for REAPER.
It provides configuring FX routing with dropping wires instead digging FX IO pin menus.




Features (will be updated from time to time):
  • drag/drop wires to connect FX
  • allow to reset/clear all pins or pins of FX under mouse cursor
  • when route source FX to previous in chain, auto move destination FX
  • dockable
mpl for election? now your on it! much much bettererrer. =)
drag n drop is the way forward.
have cockos not actually employed u yet m8?
Bri1 is offline   Reply With Quote
Old 08-06-2018, 05:16 PM   #6
Bri1
Banned
 
Join Date: Dec 2016
Location: England
Posts: 2,432
Default

+this would be awesome combined with cockos ideas + + eugen2777 lua:fx rack
killa kombi4the nations.


focusing on targets really helps nail them;;great job all++ thanking you
Bri1 is offline   Reply With Quote
Old 08-06-2018, 09:53 PM   #7
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Are you intending to include "containers" with that concept ?

(i.e. allowing to combine effects to a "multis" that can be used in the same way as single effect in multiple chains)

-Michael
mschnell is offline   Reply With Quote
Old 08-06-2018, 10:25 PM   #8
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

I think it is more a request to REAPER devs than to me.
mpl is offline   Reply With Quote
Old 08-06-2018, 11:21 PM   #9
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
Default

Very nice. I find this simplification very useful.
__________________
Using Latch Preview (Video) - Faderport 16 setup for CSI 1.1 , CSI 3.10
Website
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 08-07-2018, 02:33 AM   #10
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 1,453
Default

This is great man!

Much easier to work with than the pins. Thanks for the great work.

Just out of curiosity, what license do you release these scripts under?
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [More JSFX: Thread|Descriptions|Reapack]
sai'ke is offline   Reply With Quote
Old 08-07-2018, 03:56 AM   #11
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Use/share/modify/do_whatever_you_want for free.
mpl is offline   Reply With Quote
Old 08-07-2018, 04:44 AM   #12
Bri1
Banned
 
Join Date: Dec 2016
Location: England
Posts: 2,432
Default

Quote:
Use/share/modify/do_whatever_you_want for free.

^power moves!! source is >open< always.

@mpl- with your wildest imagination,is it actually feasible,to combine 4,or more coders abilities?? (++cockos mind+support of course).
wired chain+lbx stripper+fx rack+rearack ??
Bri1 is offline   Reply With Quote
Old 08-07-2018, 06:23 AM   #13
Dannii
Human being with feelings
 
Dannii's Avatar
 
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
Default

This looks REALLY useful mpl. Going to download this when I'm in the studio.
Nice one.
__________________
Dannii is offline   Reply With Quote
Old 08-07-2018, 06:44 AM   #14
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Containers / macros / multis:
Quote:
Originally Posted by mpl View Post
I think it is more a request to REAPER devs than to me.
I don't think so.
Containers / macros / multis just are a way to handle and display basic setup of the plugin routing (and for "morphing" the plugin parameters) within a single totally normal track FX chain.

But in fact this feature is quite independent of the way of displaying the FX chain content as "wired" or otherwise.

-Michael

Last edited by mschnell; 08-08-2018 at 09:32 PM.
mschnell is offline   Reply With Quote
Old 08-07-2018, 02:10 PM   #15
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

If you let me I've got a couple thoughts.
Could you add please one-wire routing mode I mean one-wire with pins 1/2 instead of 1 and 2 ect?
Bypass fx function and visualisation one. (and unconnected wires make a mess a bit I guess. I mean for what to see them)
Double-click on fx to float one would be better than via menu I suppose.
By the way it works well on v5.40
Ivannn Bennnettt is offline   Reply With Quote
Old 08-07-2018, 04:05 PM   #16
Ozman
Human being with feelings
 
Join Date: Feb 2015
Posts: 753
Default

Much thanks, mpl for this one!

If you want suggestions, how about some quick routing shortcuts, for audio and cv/midi splitters and joiners/mixers. Maybe a right-click menu for quick selection and placement in a specific area.

Also some smooth panning. Maybe using a keyboard modifier while dragging or something.

Awesome work, dude!
Ozman is offline   Reply With Quote
Old 08-07-2018, 10:59 PM   #17
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
Originally Posted by Ivannn Bennnettt View Post
one-wire routing mode I mean one-wire with pins 1/2 instead of 1 and 2 ect
added for 1.06 (forgot to mention in changelog)
Quote:
Bypass fx function and visualisation one. (and unconnected wires make a mess a bit I guess. I mean for what to see them)
Yeah it need slightly deep calculation of signal flow, I`ll take a look at this, when will attach bypass/offline buttons.
Quote:
Double-click on fx to float one would be better than via menu I suppose.
Still didn`t get proper doubleclicking in reascript so currently I didn`t add this to newly written code. I can add an internal mousemodifier (like Ctrl+Alt+LeftClick or MiddleClick) or keyboard shortcut standing for something like "float selected FX" (FX selection was added also in 1.06)


Quote:
Originally Posted by Ozman View Post
If you want suggestions, how about some quick routing shortcuts, for audio and cv/midi splitters and joiners/mixers. Maybe a right-click menu for quick selection and placement in a specific area.
Yes, I planning to release some JSFX tools exactly for this script. On this area I`ll probably need some clever guys help (for example building JSFX sharing signal to global memory for feedback/cross-track routing possibilities). Probably I should take a look at ReaRack stuff.
mpl is offline   Reply With Quote
Old 08-08-2018, 01:53 AM   #18
Bri1
Banned
 
Join Date: Dec 2016
Location: England
Posts: 2,432
Default

blank-ed.
that's ok.but you know it makes sense for all to work as a team.
Bri1 is offline   Reply With Quote
Old 08-08-2018, 01:59 AM   #19
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

one-wire routing mode I mean one-wire with pins 1/2 instead of 1 and 2 ect
Quote:
Originally Posted by mpl View Post
added for 1.06 (forgot to mention in changelog)
You mean "auto route further channel"?
I'm talking about to see only one stereo wire (1/2, 3/4 ect). And it works a bit weird (on portable) for instance one conects 1/2 to fx and 1/2 to output (and to input too).
Wire glitches (freezes) when change mind to pin.
Ivannn Bennnettt is offline   Reply With Quote
Old 08-08-2018, 02:12 AM   #20
Bri1
Banned
 
Join Date: Dec 2016
Location: England
Posts: 2,432
Default

Quote:
Wire glitches (freezes) when change mind to pin.



^yes,well Ivannn Bennnettt- maybe i am on ignore,but if you could pose the question-

"does it not make sense to put all of these scripts together,as they all deal with the same areas,and affect 1 another,and then get cockos to natively implement the whole thing,as 1 thing+with thorough corner case testings,before any public releases".
please+ty.
Bri1 is offline   Reply With Quote
Old 08-08-2018, 03:06 AM   #21
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

Quote:
Originally Posted by Bri1 View Post
^yes,well Ivannn Bennnettt- maybe i am on ignore,but if you could pose the question-.
Sorry, I've got no idea what you mean
Ivannn Bennnettt is offline   Reply With Quote
Old 08-08-2018, 04:55 AM   #22
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
Originally Posted by Ivannn Bennnettt View Post
one-wire routing mode I mean one-wire with pins 1/2 instead of 1 and 2 ect

You mean "auto route further channel"?
I'm talking about to see only one stereo wire (1/2, 3/4 ect). And it works a bit weird (on portable) for instance one conects 1/2 to fx and 1/2 to output (and to input too).
Wire glitches (freezes) when change mind to pin.
I thought before do this thing exactly what you suggested, but for now let it be this way. When we'll sure there aren't any major bugs, I'll make function also handle GUI (stereo pair wire). But note, it is planned for further development also to add vca's, panners, joiners/splitters, and I think it will be hard to maintain stereo pair wires for stuff like this.

Can you attach gif with weird behaviour?
mpl is offline   Reply With Quote
Old 08-08-2018, 07:34 AM   #23
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

Quote:
Originally Posted by mpl View Post
But note, it is planned for further development also to add vca's, panners, joiners/splitters, and I think it will be hard to maintain stereo pair wires for stuff like this.
Button switcher between mode but I guess you mean maintain code and I'm afraid you should to figure out how to do that else it'll be total chaos)

Quote:
Can you attach gif with weird behaviour?
Ivannn Bennnettt is offline   Reply With Quote
Old 08-08-2018, 08:43 AM   #24
LugNut
Human being with feelings
 
Join Date: Jun 2013
Location: So Florida
Posts: 1,427
Default

Hi,
Since I'm on xp, I have to go through extra effort to do reapack, so I ask first...
Does this work with midi?and the midi busses?
Something like Logic's enviourment?
Thank you very much mpl.
BTW...you're English has gotten better and better. Grats.
LugNut is offline   Reply With Quote
Old 08-08-2018, 10:05 AM   #25
stamp
Human being with feelings
 
Join Date: Feb 2018
Posts: 30
Default

Quote:
Originally Posted by mpl View Post
Still didn`t get proper doubleclicking in reascript so currently I didn`t add this to newly written code. I can add an internal mousemodifier (like Ctrl+Alt+LeftClick or MiddleClick) or keyboard shortcut standing for something like "float selected FX" (FX selection was added also in 1.06)
Why not a simple icon inside device boxes?
Bypass and dry/wet wuold be convenient.

Btw great job!!!
stamp is offline   Reply With Quote
Old 08-08-2018, 10:14 AM   #26
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
Originally Posted by LugNut View Post
Does this work with midi?and the midi busses?
Not yet. Depending on complexity of API implementation (but I anyway requested it to Justin).
mpl is offline   Reply With Quote
Old 08-08-2018, 12:18 PM   #27
DIONISIO
Human being with feelings
 
DIONISIO's Avatar
 
Join Date: Jul 2018
Posts: 2
Default Midi modular wiring

Thank you very much MPL for your genius work.

Midi modular wiring will be a powerful addition to this brilliant script with the possibility to bypass and open 32 and 64 bit plugins as Reaper do.

+1000

Greetings from Portugal
DIONISIO is offline   Reply With Quote
Old 08-08-2018, 12:46 PM   #28
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
Originally Posted by DIONISIO View Post
Midi modular wiring will be a powerful addition to this brilliant script with the possibility to bypass and open 32 and 64 bit plugins as Reaper do.
Float/Bypass/Offline was just added for 1.07
mpl is offline   Reply With Quote
Old 08-08-2018, 01:35 PM   #29
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

Better, thanks! Keep it up!)
issue: when remove fx pins for instance 3/4 on next fx retun to input
Ivannn Bennnettt is offline   Reply With Quote
Old 08-08-2018, 08:51 PM   #30
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
Originally Posted by Ivannn Bennnettt View Post
Better, thanks! Keep it up!)
issue: when remove fx pins for instance 3/4 on next fx retun to input
Here is the note not only for you but for all who reported issues:
For this project it is highly recommended to attach gif and description about what happens and what you are expecting. Because I see most of users feel script do something wrong, while it is just handle REAPER routing as it is. So it mostly not a bug, but a desired behaviour which should be workarounded on data or GUI level.
mpl is offline   Reply With Quote
Old 08-09-2018, 06:01 AM   #31
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

it is not a bug just some pins remain from fx which is removed.
and a couple other

Last edited by Ivannn Bennnettt; 08-09-2018 at 11:55 AM.
Ivannn Bennnettt is offline   Reply With Quote
Old 08-10-2018, 01:40 AM   #32
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

Previous static input/out was better I believe.
I didn't get new option x,y what does that do?
Ivannn Bennnettt is offline   Reply With Quote
Old 08-10-2018, 02:28 AM   #33
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
Originally Posted by Ivannn Bennnettt View Post
it is not a bug just some pins remain from fx which is removed.
and a couple other
Everything is expected here. I use rule:
If you link pin2 to pin1, that means you send pin2 to channel 1(pin1) and feed pin1 by channel 1.
If there are plugins in between, disable anything out to channel 1. Otherwise you will need a pin-based minding chain routing, which I try to prevent. Also not following this rule will be ridiculous complex for designing complex chains and use additional tools.
It can be workarounded by custom jsfx tools i planning to introduce in future.


Removing FX does make 3/4 channel feed by track input, doesn't it?

Last edited by mpl; 08-10-2018 at 02:36 AM.
mpl is offline   Reply With Quote
Old 08-10-2018, 02:34 AM   #34
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
Originally Posted by Ivannn Bennnettt View Post
Previous static input/out was better I believe.
I didn't get new option x,y what does that do?
Read the changelog?
mpl is offline   Reply With Quote
Old 08-10-2018, 05:13 AM   #35
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

Quote:
Originally Posted by mpl View Post
Read the changelog?
but nothing happens, then
Quote:
Originally Posted by mpl View Post
Everything is expected here. I use rule:
If you link pin2 to pin1, that means you send pin2 to channel 1(pin1) and feed pin1 by channel 1.
If there are plugins in between, disable anything out to channel 1. Otherwise you will need a pin-based minding chain routing, which I try to prevent. Also not following this rule will be ridiculous complex for designing complex chains and use additional tools.
It can be workarounded by custom jsfx tools i planning to introduce in future.
I thought idea of mode "Auto route further channel" is be kind of pseudo stereo pair and I expected to see the same behavior from second pin (that is logically I think). If I need to send pins apart I'll just switch the mode.
But I see there's weird behavior: when I send from pin2 to pin1 next fx's cleared pins output and from first fx's sent to 1/2 main output. When send pin2 to pin3 next fx's sent pin4 to main input.

Just 2 mode and that won't be sophisticated I suppose.

Quote:
Removing FX does make 3/4 channel feed by track input, doesn't it?
Yes it does, If I remove fx I excpect that route pins remove as well (the same with clean pins)

And if you let me I advise you to hold on with "new complex features"
Ivannn Bennnettt is offline   Reply With Quote
Old 08-10-2018, 05:25 AM   #36
sonicowl
Human being with feelings
 
sonicowl's Avatar
 
Join Date: Oct 2015
Posts: 739
Default

Mpl, one request. Can you please add function to select all bypassed/offline effects, so that they can be removed quickly.

I try to use your script "mpl_Delete bypassed and offline fx from selected tracks.lua", but for some reason it gets extremely slow with some plugins. It does the job, but it deletes plugins one by one, which takes several minutes on some of my chains. It depends on plugins in chain - with some plugins it is much faster, but when certain plugins are in chain, it takes forever..

If there was a way to just select all bypassed/offline plugins, and then remove them in one go, it would do it much faster. In my chain, if I select many plugins, and click "Remove" button, it removes them almost instantly. But your plugin removes one by one, and something is refreshing each time, so it takes many seconds to remove just one plugin.

Last edited by sonicowl; 08-10-2018 at 06:23 AM.
sonicowl is offline   Reply With Quote
Old 08-10-2018, 07:34 AM   #37
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
Originally Posted by sonicowl View Post
In my chain, if I select many plugins, and click "Remove" button, it removes them almost instantly
There were some new APIs introduced in 5.95pre3+, which are dedicated to pligins order/deletion and getting/setting offline state. It still removes plugins one by one, but should be faster. WiredChain use this API already (I`ll probably add internal action to select bypassed or offline FX so you can remove it by "delete" key). mpl_Delete bypassed and offline fx from selected tracks.lua was just splitted into 3 new actions which use new API, check ReaPack.
mpl is offline   Reply With Quote
Old 08-10-2018, 07:55 AM   #38
sonicowl
Human being with feelings
 
sonicowl's Avatar
 
Join Date: Oct 2015
Posts: 739
Default

Quote:
Originally Posted by mpl View Post
There were some new APIs introduced in 5.95pre3+, which are dedicated to pligins order/deletion and getting/setting offline state. It still removes plugins one by one, but should be faster. WiredChain use this API already (I`ll probably add internal action to select bypassed or offline FX so you can remove it by "delete" key). mpl_Delete bypassed and offline fx from selected tracks.lua was just splitted into 3 new actions which use new API, check ReaPack.
Wow, new API is really faster. Before it took few minutes to do it, now same chain is cleared in few seconds. It is really handy that you split bypassed and offline into two actions, much more versatile. And the third one, to change bypassed fx into offline, very handy.

If you will implement some of this functionality into WiredChain, I think removing selected fx with "delete" key would be most practical.
sonicowl is offline   Reply With Quote
Old 08-10-2018, 08:22 AM   #39
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
Originally Posted by Ivannn Bennnettt View Post
but nothing happens


Clearing destination FX when route FX to FX should be fixed in 1.09

Quote:
When send pin2 to pin3 next fx's sent pin4 to main input.
Expected. There is no FX1 pin3 so pin4 feed on previous source (in your case it is track input)

Quote:
And if you let me I advise you to hold on with "new complex features"
I didn`t get your point here. The developing process I follow is close to what Cockos do: developing new features, responding to bug reports, refactoring, improving etc at the same time. Otherwise you`ll never get stuff like you see here with zero investment from community. In other words, no, I will NOT sit for hours and doing one feature perfect working. Instead I will do something else and wait for someone to response about how good old feature works and does it need fix or improvement (btw thanks for bug reports).
Quote:
Yes it does, If I remove fx I excpect that route pins remove as well (the same with clean pins)
I don`t think it is a good idea to clear pins of further FX if you delete previous.

Last edited by mpl; 08-10-2018 at 10:00 PM.
mpl is offline   Reply With Quote
Old 08-10-2018, 08:50 AM   #40
sonicowl
Human being with feelings
 
sonicowl's Avatar
 
Join Date: Oct 2015
Posts: 739
Default

MPL WiredChain v1.08: Some plugins are long, so they are truncated, with three dots in front. Would it make sense to flip text into two lines?
sonicowl 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:23 AM.


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