Old 09-07-2023, 04:33 PM   #1
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default GiraFX lib released! v1.01 -> v1.02

Hiho!

At last the GiraFX lib is released! For those who may have missed my previous announcement, GiraFX is the must have library of video presets that improves significantly your video experience in Reaper, so much actually that I created an HD demo video to help grasp how much this represents a fundamental contribution.


***main features ***
  • Introduction of a video mixer that make video mixing behave almost like audio
  • positions & dimensions of video objects in % of the selected canvas or source size
  • extremely advanced and flexible positioning system for video elements
  • consistent transparency handling with non leaky crossfades
  • text: shared style definition, flexible text alignment, ability to display only one line at a time out of a large text
  • up to 9 sub-canvas (aka video mixers) that can sub-divide your main visual space into regions

The library is *almost* free and it also comes with a full set of tutorials (soon to be completed). You can optain it here:

*** update: the lesson "Fundamentals" is now part of the free preview, was supposed to be this way yesterday!

*** update: X-Raym added a very good description and context on Realinks.net

*** update 2023-10-16 v1.02 released: added "mask YUV" & corrected small calculation glitch in "text renderer"

*** 2023-10-17: added GiraFX list of presets in this post
*** 2023-11-06: tutorial 4: Positioning, Sizing & Sub-Mixers released

Last edited by papagirafe; 11-06-2023 at 12:04 PM. Reason: more discreet title
papagirafe is offline   Reply With Quote
Old 09-08-2023, 10:05 AM   #2
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default Announcement: new GiraFX starter kit available for low price

Great news for those who want to try GiraFX but are not quite sure they would use it all: I selected a subset of the most essential functions that are suffisant for simple to moderatly complex projects. It includes the related tutorials. Just look for the "Starter Kit" version (starting at 5$ CAD)
papagirafe is offline   Reply With Quote
Old 09-09-2023, 05:39 PM   #3
lachinhan
Human being with feelings
 
lachinhan's Avatar
 
Join Date: Nov 2014
Location: Can Tho - Viet Nam
Posts: 301
Default

What is the difference between the 5ca$ and 20ca$ versions?
__________________
NK Recording Studio
Email: lachinhan@gmail.com or admin@thuamninhkieu.com
Website:nkpro.top and ntmusicpro.com
lachinhan is offline   Reply With Quote
Old 09-10-2023, 07:32 AM   #4
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default

Quote:
Originally Posted by lachinhan View Post
What is the difference between the 5ca$ and 20ca$ versions?
Very good question! I'm glad you asked. Here is a more detailed description:

The 5$ version includes only the most essential presets that are suffisant to make simpler projects yet with the following benefits:
  • Consistent and non-leaky cross-fades
  • Full collection of frames (aka borders)
  • Easy positionning/sizing of visual elements inidividually and/or by groups
  • Full text support with fully/semi transparent boxes over a background
  • Text scrolling line by line from a single source for lyrics videos
  • Transitions masks: enhanced horizontal/vertical wipes, vignettes
  • Super easy chromakey transparency (aka green screen) in RGB mode
  • Basic color/image controls
The 20$ version adds the following functionalities to the starter version:
  • Advanced positionings [grid and flower] for object groups
  • Textured and gradient backgrounds
  • Geometry corrections and advanced size/color/contrast controls
  • Video stack controls that allow reusing a source multiple times
  • Chromakey (aka green screen) in YUV mode for better visual separation
  • Animated transition based on b/w source video from existing libraries on the Net
  • Shapes circle/polygon for visual compositions or "surgical masking"
  • Full collection of FXs translated for GiraFX + Random deformations.
  • Video stack analyzer

Last edited by papagirafe; 09-10-2023 at 08:56 AM. Reason: typos
papagirafe is offline   Reply With Quote
Old 09-10-2023, 08:23 AM   #5
Sumalc
Human being with feelings
 
Join Date: Oct 2009
Location: France
Posts: 729
Default

congratulations on this enormous work
Sumalc is offline   Reply With Quote
Old 09-10-2023, 09:04 AM   #6
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default

Quote:
Originally Posted by Sumalc View Post
congratulations on this enormous work
Thanks! Enormous is the word! I thought of giving up a some point because the time investment was too great but the appeal of the challenge won over my doubts!
papagirafe is offline   Reply With Quote
Old 09-12-2023, 03:33 AM   #7
Spirit
Human being with feelings
 
Join Date: Jul 2008
Location: MotherDiskLand
Posts: 158
Default

So far so good. But two questions:
1) I've got a video which is successfully cropped and colored etc but for the life of me I can't get the positioner to do anything. (On the upside: no color or contrast bleed between tracks which is great!)

More importantly:
2) Since the video processors need to be placed in takes, how does this system work when you've done a rough edit and chopped the various video tracks into 50 takes each ?

Last edited by Spirit; 09-12-2023 at 03:52 AM. Reason: extra info
Spirit is offline   Reply With Quote
Old 09-12-2023, 04:14 AM   #8
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default

Quote:
Originally Posted by Spirit View Post
So far so good. But two questions:
1) I've got a video which is successfully cropped and colored etc but for the life of me I can't get the positioner to do anything.

More importantly:
2) Since the video processors need to be placed in takes, how does this system work when you've done a rough edit and chopped the various video tracks into 50 takes each ?
Hi! thanks for the feedback. First I am actively working on releasing the remaining tutorials that will explain this in details and my goal is to release at least 2 this week. So to answer your questions:
  1. All positioners have an ID that defaults to 0 that you may change for your needs. Then each "video source" has a "follow id" that defaults to -1, (meaning "do no follow anything". In order to "follow" a positionner, you need to change this "follow id" to the one you chose for your positionner. Also, depending on the type of positioner, the index field may be required as well. Please note that if the index is beyond the scope of the positioner parameters, index 0 will be used. And btw don't forget to set "video item visibility" to "items in higher numbered track replace lower"
  2. Very good question! There is a tutorial planned just for these cases. If you place the video source on the item prior to chopping it (something I did for my first tutorial btw) , the chops will all have the "video source" repeated. There are other more clever techniques more difficult to explain without concrete examples. Please let me know if you need these advanced techniques and I will revise the release calendar for my tutorials accordingly.
    update: If you already chopped without having inserted a "video source" first, there is a way: set your track to "free item positioning" and make sure "ripple editing" is off. Select first the exact area covered by the "chops" and then "insert new midi item". On that new midi item you then insert the "video source" preset. Make sure there no holes in between chops otherwise the under track would leak. BTW I just found by accident yesterday an undocumented way of preventing such leaks but it requires further testing under various conditions before I can safely release it.

Last edited by papagirafe; 09-12-2023 at 05:19 AM. Reason: Supplemental info
papagirafe is offline   Reply With Quote
Old 09-12-2023, 10:16 AM   #9
Spirit
Human being with feelings
 
Join Date: Jul 2008
Location: MotherDiskLand
Posts: 158
Default

Appreciate all this great info
I did watch the tutorial and saw the MIDI item in that but I like your explanation here better. I will try it.
It's certainly a new way of working but it already feels more 'solid'.
Spirit is offline   Reply With Quote
Old 09-12-2023, 11:17 AM   #10
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default

Quote:
Originally Posted by Spirit View Post
Appreciate all this great info
I did watch the tutorial and saw the MIDI item in that but I like your explanation here better. I will try it.
It's certainly a new way of working but it already feels more 'solid'.
Good! I'll keep these remarks in mind when I'll do the "positioning" tutorial. GiraFX is really a radically new framework for video editing. Do not forget to put the positioner in a separate and lower track to make it visible to the "video sources". A side effect of positioners is that they generate an encoded parameters image that interfere with a video source so they have to be isolated on a separate item/track lower in the video stack. All other communcation methods I tried were impractical/limiting.

Last edited by papagirafe; 09-12-2023 at 11:23 AM.
papagirafe is offline   Reply With Quote
Old 09-12-2023, 11:27 AM   #11
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,520
Default

This looks insanely cool! Congrats
MonkeyBars is offline   Reply With Quote
Old 09-12-2023, 06:18 PM   #12
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default

Quote:
Originally Posted by MonkeyBars View Post
This looks insanely cool! Congrats
Thanks! I wonder if superglue could be of some use in video editing like maintaining same parameters on several video fxs on an item chopped into small pieces
papagirafe is offline   Reply With Quote
Old 09-13-2023, 06:09 PM   #13
Spirit
Human being with feelings
 
Join Date: Jul 2008
Location: MotherDiskLand
Posts: 158
Default

Is there a way to crop and have a transparent background? I keep seeing the original video behind the cropped version.
Also if I mute the highest number track it disables the effects on lower tracks.

Should I post these issues somewhere else or is here good?
Spirit is offline   Reply With Quote
Old 09-14-2023, 08:26 AM   #14
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default

Quote:
Originally Posted by Spirit View Post
Is there a way to crop and have a transparent background? I keep seeing the original video behind the cropped version.
Also if I mute the highest number track it disables the effects on lower tracks.

Should I post these issues somewhere else or is here good?
I would need to see the project structure to be sure about the cropping but typically the structure for one video source is the following: (exact fx list is only an example)
video item
- girafx:util/crop
- girafx:util/adjust contrast luminosity
- girafx:frame/some frame of your choice
- girafx:video source (must always be last in fx chain)
If mute higher track disables lower track thend you need to revise your tracks to comply with this basic structure. Your input is valuable! I'll definitely add these clarifications to the tutorial I am working on today

For now I think this channel for reporting issues is the best.

Last edited by papagirafe; 09-14-2023 at 10:51 AM.
papagirafe is offline   Reply With Quote
Old 09-14-2023, 08:01 PM   #15
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,805
Default

Quote:
Originally Posted by MonkeyBars View Post
This looks insanely cool! Congrats
True ! Is impressive
__________________
🙏🏻
deeb is offline   Reply With Quote
Old 09-15-2023, 04:28 PM   #16
lachinhan
Human being with feelings
 
lachinhan's Avatar
 
Join Date: Nov 2014
Location: Can Tho - Viet Nam
Posts: 301
Default

Quote:
Originally Posted by papagirafe View Post
Very good question! I'm glad you asked. Here is a more detailed description:

The 5$ version includes only the most essential presets that are suffisant to make simpler projects yet with the following benefits:
  • Consistent and non-leaky cross-fades
  • Full collection of frames (aka borders)
  • Easy positionning/sizing of visual elements inidividually and/or by groups
  • Full text support with fully/semi transparent boxes over a background
  • Text scrolling line by line from a single source for lyrics videos
  • Transitions masks: enhanced horizontal/vertical wipes, vignettes
  • Super easy chromakey transparency (aka green screen) in RGB mode
  • Basic color/image controls
The 20$ version adds the following functionalities to the starter version:
  • Advanced positionings [grid and flower] for object groups
  • Textured and gradient backgrounds
  • Geometry corrections and advanced size/color/contrast controls
  • Video stack controls that allow reusing a source multiple times
  • Chromakey (aka green screen) in YUV mode for better visual separation
  • Animated transition based on b/w source video from existing libraries on the Net
  • Shapes circle/polygon for visual compositions or "surgical masking"
  • Full collection of FXs translated for GiraFX + Random deformations.
  • Video stack analyzer
I will buy the $20 CAD copy to support you and thank you for what you have been contributing to the Reaper community.
__________________
NK Recording Studio
Email: lachinhan@gmail.com or admin@thuamninhkieu.com
Website:nkpro.top and ntmusicpro.com
lachinhan is offline   Reply With Quote
Old 09-16-2023, 06:29 PM   #17
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default

Quote:
Originally Posted by lachinhan View Post
I will buy the $20 CAD copy to support you and thank you for what you have been contributing to the Reaper community.
Wow! thx!
papagirafe is offline   Reply With Quote
Old 09-23-2023, 04:14 PM   #18
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default upcoming tutorial 2 delayed but for good news!

I delayed a bit the release of tutorial 2 about the transparency because I was stuggling to simplify the explanation for the chromakey YUV pre-mixer. As a reminder, the chromakey or green screen filter give substantially better results in YUV colorspace than in RGBA but it does not work directly in the Girafx v/mixer hence the need for a pre-mixer. The RGBA version works as a simple Girafx mask.

But then came one of those eureka moments where I thought of a clever method to extract the transparency information from the chromakey filter in YUV mode, something normally impossible. The good news: it worked so well that I will add a new chromakey YUV in the mask section (girafx:mask/chromakey YUV) in the coming days. This mask version will be functionaly similar to the RGB version including the full compatibility with the video mixer. Obviously, the pre-mixer version will become obsolete.
papagirafe is offline   Reply With Quote
Old 09-28-2023, 10:19 AM   #19
RBB
Human being with feelings
 
Join Date: Apr 2017
Posts: 3
Default

This is going to sound like a ludicrous simple question, but do your tools allow for smooth zooming?

When I try to zoom in on the full frame with reaper using built in tools, it seems to calculate the horizontal and vertical change sequentially, giving it a really old-school ps1 style zoom in feel.

I assume your tools do zoom much more smoothly, considering how much zoom is featured in the trailer, but I just wanted to make sure before purchasing!
RBB is offline   Reply With Quote
Old 09-28-2023, 11:45 AM   #20
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default

Quote:
Originally Posted by RBB View Post
This is going to sound like a ludicrous simple question, but do your tools allow for smooth zooming?

When I try to zoom in on the full frame with reaper using built in tools, it seems to calculate the horizontal and vertical change sequentially, giving it a really old-school ps1 style zoom in feel.

I assume your tools do zoom much more smoothly, considering how much zoom is featured in the trailer, but I just wanted to make sure before purchasing!
Hi! the short answer is a bold yes. The library achieves this in many ways:
  • original source resolution is maintained as much as you want along the video fx chain until the final mix. In other words the zoom is applied once at the very last stage in the video mixer itself. Current Reaper behavior mixes sources in chain leading to quality loss in many cases.
  • the smoothing filter is applied systematically by the video mixer. This choice may be debatable but IMHO it always end up looking better.
  • Font size can be made relative to the box that contains it. Resize the box, the text is regenerated with the new dimensions from scratch.
  • There is a weakness in the video processor primitives (precisely what you are describing) that make gradual zooms visually unstable. The GiraFX video-mixer automatically compensates for that problem
  • Shapes, frames & backgrounds (aka boxes) are always generated in full resolution.
So as long as you start with suffisant video source resolution, you can always scale down or up until the precision limit and you can say goodbye to gradual zoom instabilities. See you soon!

Last edited by papagirafe; 09-29-2023 at 12:47 PM. Reason: lapsus video-processor instead of video-mixer
papagirafe is offline   Reply With Quote
Old 09-29-2023, 09:06 AM   #21
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default tutorial 2 released & v1.01 update

Two good news today!



1- Tutorial 2 "Projects Guidelines & Video Mixer Transparency Magic" is released as of now.

2- During the process of creating tutorial 2, I found a long sought solution for making the "chromakey YUV" preset a mask (much simpler to use) instead of a pre-mixer. As a reminder, chromakey in YUV mode gives much better results. This solution is now the new preset called "girafx:mask/chromakey (YUV)" that makes, of course, its previous pre-mixer version obsolete. Library has been updated accordingly, v1.01
papagirafe is offline   Reply With Quote
Old 10-03-2023, 05:25 PM   #22
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default Minor bug in girafx:text renderer

oups!

I discovered a miscalculation in the text vertical offset when using top padding but good news, I already corrected the formula. I'll issue a new update RPL in the coming days after a bit more testing.
papagirafe is offline   Reply With Quote
Old 10-16-2023, 04:36 AM   #23
lachinhan
Human being with feelings
 
lachinhan's Avatar
 
Join Date: Nov 2014
Location: Can Tho - Viet Nam
Posts: 301
Default

Quote:
Originally Posted by lachinhan View Post
I will buy the $20 CAD copy to support you and thank you for what you have been contributing to the Reaper community.
I've been a bit busy lately so I just came back today and bought the 20CAD package as promised to you

Thanks
Nhan
__________________
NK Recording Studio
Email: lachinhan@gmail.com or admin@thuamninhkieu.com
Website:nkpro.top and ntmusicpro.com
lachinhan is offline   Reply With Quote
Old 10-16-2023, 07:06 AM   #24
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default

Quote:
Originally Posted by lachinhan View Post
I've been a bit busy lately so I just came back today and bought the 20CAD package as promised to you

Thanks
Nhan
Thanks! you will enjoy for sure. On the news side, I am aiming at releasing tutorial 3 about text today or tomorrow along with a minor correction on the text renderer preset. Pff! those tutorials are a lot of work but the're worth the effort IMHO.

***update: goal attained! Tutorial 3 is now released along with v1.02 update

Last edited by papagirafe; 10-16-2023 at 05:56 PM.
papagirafe is offline   Reply With Quote
Old 10-16-2023, 10:05 PM   #25
lachinhan
Human being with feelings
 
lachinhan's Avatar
 
Join Date: Nov 2014
Location: Can Tho - Viet Nam
Posts: 301
Default

Dear!
I want to display FPS (Frame Rate) on video. Can you help me? I've asked for help on this many times but most people don't care
Thanks
__________________
NK Recording Studio
Email: lachinhan@gmail.com or admin@thuamninhkieu.com
Website:nkpro.top and ntmusicpro.com
lachinhan is offline   Reply With Quote
Old 10-17-2023, 01:27 AM   #26
Ianuarius
Human being with feelings
 
Join Date: Apr 2011
Location: Oulu, Finland
Posts: 37
Default

I want to support stuff like this, but I need to know what I'm buying. There's no Hue/Saturation dials for video editing in Reaper and I need them. Preferably per channel. But I can't find a list of features anywhere. Just notes like "it has stuff". Sorry but, no. Tell me what is included and then we'll talk.
Ianuarius is offline   Reply With Quote
Old 10-17-2023, 05:32 AM   #27
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default GiraFX Preset List

Quote:
Originally Posted by Ianuarius View Post
I want to support stuff like this, but I need to know what I'm buying. There's no Hue/Saturation dials for video editing in Reaper and I need them. Preferably per channel. But I can't find a list of features anywhere. Just notes like "it has stuff". Sorry but, no. Tell me what is included and then we'll talk.
You've got a point! The simple answer: yes it does. Since GiraFX lib is more like an "concept album" as opposed to a playlist on Spotify, I was so proud of the concept that I forgot to list the actual "song list" of the album! So here it is:
(the one you ar looking for is in the utilities section)
  • Key Presets
    • girafx:video mixer
    • girafx:video source
  • Background Generators create new background overlays
    • girafx:bg/rectangle
    • girafx:bg/rectangle-gradient
    • girafx:bg/texture
  • Text
    • girafx:text/style
    • girafx:text/source
    • girafx:text/time code
    • girafx:text renderer
  • Positioners specialized presets that provide positioning information for image overlays ex:grid
    • girafx: positioner/single
    • girafx: positioner/grid
    • girafx: positioner/flower
  • Utilities commonly usefull functions
    • girafx:util/crop
    • girafx:util/crop (frame)
      cropping based on a containing frame
    • girafx:util/brightness-contrast (basic)
    • girafx:util/sha-mid-hi/hue-sat-lum adjust
      Shadow-Midtones-Highlight adjusments for color/contrast balance
    • girafx:util/pre-resize
      sizing normally occurs in the "video source" preset but this one resizes upfront
    • girafx:util/adjust geometry
      for correcting wrong camera angle from cellphone footage or cool effects
    • girafx:util/flip
      flip source horizontally and or vertically
    • girafx:util/freeze current frame
      freeze video source
    • girafx:util/jump to item root
      allows to reuse a video source multiple times
    • girafx:util/teleport source
      allow to reuse a source far away in lower tracks
  • Frame (aka. Borders) Generator Adds various frames on image overlays
    • girafx:frame/inner
    • girafx:frame/inner gradient
    • girafx:frame/inner rounded gradient
    • girafx:frame/outer
      enlarge the source to draw the frame
  • Transparency Masks
    hide parts of a video source for transitions
    • girafx:mask/vertical wipe
    • girafx:mask/horizontal wipe
    • girafx:mask/matrix wipe
    • girafx:mask/vignette
    • girafx:mask/chromakey (RGB)
      hides the green/blue parts
    • girafx:mask/chromakey (YUV)
      same as RGB version but higher quality
  • Pre-Mixers (multiple sources effects)
    • girafx: premixer/transparency from 2nd source
      uses contrast info from a 2nd source to make a transparency mask
    • girafx: premixer/blender (YUV)
      cool visual effects by combining 2 sources + a background color
  • Shapes draws shapes but also double as transparency masks
    • girafx:shape/circle
    • girafx:shape/polygon regular
  • Effects girafx compatible versions of the stock fx presets + random deformations
    • girafx:fx/random deformations
    • girafx:fx/colorize
    • girafx:fx/edge detection
    • girafx:fx/RGB decompose
    • girafx:fx/stage lighting
    • girafx:fx/matrix of recent frames
    • girafx:fx/blitter feedback
    • girafx:fx/show motion
  • Debug
    • girafx:debug/input stack analyzer (gfx)

Last edited by papagirafe; 10-17-2023 at 07:49 AM. Reason: typos
papagirafe is offline   Reply With Quote
Old 11-06-2023, 12:16 PM   #28
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 624
Default Tutorial 4 - Positioning, Sizing & Sub-Mixers

Hiho!

Good news! I just released tutorial 4 "Positioning, Sizing & Sub-Mixers".

The positioning & sizing of video elements in GiraFX is a key feature that finally unify all aspects of video compositing in Reaper. Instead of relying on a single video canvas, the library lets you work with up to 9 additional canvases for grouping elements, in effect enabling video sub-projects within the main project. After connecting to the right canvas, all sizing & positioning are in relative coordinates to be actualized to real coordinates and sizes in the video mixers at the rendering stage. Provided suffisant resolution of sources, you may work the project in 1280x720 and switch it to 4k without touching a single video item!

This tutorial took more effort to make than expected! This functionality are at the heart of the library functionalities and are therefore difficult to explain simply. So I went the extra mile and made a special project with custom presets that show explicit traces of the sub-mixers and of the parameters transmitted by the positioners.

Dear GiraFX subscribers, enjoy!

Last edited by papagirafe; 11-06-2023 at 05:55 PM.
papagirafe 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 05:08 AM.


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