COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 08-08-2017, 04:29 PM   #1
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default CMake

Hi all,

I'm thinking of consolidating various cool stuff from other people's branches of Iplug, and things that I have developed separately that I haven't released yet, into the next version of WDL-OL (although it might be called something different since the scale of changes may break backwards compatibility).

The duplication script in WDL-OL is a fairly neat and convenient way of quickly starting a project, and if you know what you're doing updating isn't so bad. I like the fact that beginners have ready-made projects and layout as part of the download, but having a project generator would be great, and would mean that people can use different IDEs. I've never really been into CMake, but It seems to be more more widely used these days, and particularly powerful with continuous integration.

How do people feel about moving over to CMake? Perhaps I should leave the existing examples folder and duplicate script as an option. Cmake seems a bit daunting for beginners, and I think one of the main appeals of WDL-OL/IPlug Is that plug-in implementation is pretty simple, and IDE Projects are set up well, unlike for example the VST SDK, which often has very outdated examples.

Any thoughts?

oli
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 08-08-2017, 09:44 PM   #2
pipelineaudio
Mortal
 
pipelineaudio's Avatar
 
Join Date: Jan 2006
Location: Wickenburg, Arizona
Posts: 14,047
Default

Would it help to consider someone like me? Not a programmer by any stretch but someone who can learn and definitely follow directions.

Would CMake make things more possible for me or is it just the updates where things get changed so its no longer compatible with the documentation?

Im going to go look at Cmake, not sure what it is
pipelineaudio is offline   Reply With Quote
Old 08-09-2017, 04:10 AM   #3
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by olilarkin View Post
Hi all,

I'm thinking of consolidating various cool stuff from other people's branches of Iplug, and things that I have developed separately that I haven't released yet, into the next version of WDL-OL (although it might be called something different since the scale of changes may break backwards compatibility).
I think that more logical name would be IPlug since WDL is much more than building plugins.

Quote:
The duplication script in WDL-OL is a fairly neat and convenient way of quickly starting a project, and if you know what you're doing updating isn't so bad. I like the fact that beginners have ready-made projects and layout as part of the download, but having a project generator would be great, and would mean that people can use different IDEs. I've never really been into CMake, but It seems to be more more widely used these days, and particularly powerful with continuous integration.
I hate these scripts. While your clone script works great I couldn't make other mac scripts work...
I have not used CMake but I am not sure if we need it. We could make app that will generate projects with WDL and then we can constantly update and improve it since we know WDL. This shouldn't be that hard, maybe couple days of work. (how hard can it be )

Quote:
How do people feel about moving over to CMake? Perhaps I should leave the existing examples folder and duplicate script as an option. Cmake seems a bit daunting for beginners, and I think one of the main appeals of WDL-OL/IPlug Is that plug-in implementation is pretty simple, and IDE Projects are set up well, unlike for example the VST SDK, which often has very outdated examples.
Indeed, if you want IPlug to compete with JUCE only benefit we can bring to the table if simplicity since JUCE is beating IPlug hard when it comes to features.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 08-09-2017, 08:37 AM   #4
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

not personally trying to compete with JUCE (in fact I just bought JUCE :-) and I've been using it for many projects). It's nice to have a free alternative, and there's quite a bit of code sitting on my hard drive and on other peoples IPlug forks that could be consolidated
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 08-09-2017, 08:41 AM   #5
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

ps do you have a more complete cairo example? e.g. with moving controls etc?
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 08-09-2017, 09:02 AM   #6
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by olilarkin View Post
hat could be consolidated
That would be great. We all should share our forks. In that way we could all benefit from it.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 08-09-2017, 09:05 AM   #7
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by olilarkin View Post
ps do you have a more complete cairo example? e.g. with moving controls etc?
I could make more complete example. Tell me what you would like me to add?
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 08-09-2017, 09:51 AM   #8
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

just something with a few controls, sliders, displays, knobs would be cool.
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 08-09-2017, 09:52 AM   #9
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by olilarkin View Post
just something with a few controls, sliders, displays, knobs would be cool.
OK, I will do that until end of the month.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 08-09-2017, 10:38 AM   #10
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

I have used CMake a few times, but for me it does little. Then again, I usually type my own makefiles, which for my own IPlug version seem to work on every VS version so far, with little to no changes.

When using WDL-OL I just used the existing VS projects, which mostly worked fine (I believe I had to convert them to a newer VS version at some point, but no real problems there). So I'd say there is no real need for CMake.
Tale is offline   Reply With Quote
Old 08-11-2017, 06:46 AM   #11
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

Youlean. I tried your latest beta of loudness meter. Very impressive! I have to say the text rendering in Cairo is vastly better on windows lo dpi than juce. Noticed resizing has some issues in ableton 9 on OS X
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook

Last edited by olilarkin; 08-11-2017 at 07:17 AM.
olilarkin is offline   Reply With Quote
Old 08-11-2017, 10:40 AM   #12
earlevel
Human being with feelings
 
Join Date: Dec 2015
Posts: 331
Default

CMake...offhand, I don't know what perils are in store for iLok implementers, but doesn't seem it would be fun to sort out...just a first guess.
earlevel is offline   Reply With Quote
Old 08-11-2017, 10:42 AM   #13
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

sorry I don't understand
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 08-11-2017, 12:54 PM   #14
earlevel
Human being with feelings
 
Join Date: Dec 2015
Posts: 331
Default

Quote:
Originally Posted by olilarkin View Post
sorry I don't understand
Have you implemented PACE Fusion for iLok?
earlevel is offline   Reply With Quote
Old 08-11-2017, 01:14 PM   #15
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by earlevel View Post
CMake...offhand, I don't know what perils are in store for iLok implementers, but doesn't seem it would be fun to sort out...just a first guess.
CMake is just a solution/project file generator, though. So it should be possible to later edit the Visual Studio and XCode projects to deal with whatever BS iLok requires. That wouldn't be any different compared to how to WDL/IPlug currently works, right?
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 08-12-2017, 09:14 AM   #16
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by olilarkin View Post
Youlean. I tried your latest beta of loudness meter. Very impressive! I have to say the text rendering in Cairo is vastly better on windows lo dpi than juce. Noticed resizing has some issues in ableton 9 on OS X
Thanks! Text drawing is handled with freetype back end. Cairo text draw is as bad as others on windows.

Indeed there are some problem with resizing on mac in some specific hosts and I don't know how to fix it since I am really not that familiar with objective c, but I hope I will figure it out soon.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 08-12-2017, 10:31 AM   #17
earlevel
Human being with feelings
 
Join Date: Dec 2015
Posts: 331
Default

Quote:
Originally Posted by Xenakios View Post
CMake is just a solution/project file generator, though. So it should be possible to later edit the Visual Studio and XCode projects to deal with whatever BS iLok requires. That wouldn't be any different compared to how to WDL/IPlug currently works, right?
Well, I was guessing that Oli was talking about using it as such (solution/project generator), from his comments about the Python script, but when I looked at CMake, it also seems capable of more. It looked like it had the potential of making things difficult, so I was stating my concern regarding PACE Fusion.

For instance, I look at the docs..."CMake is a cross-platform, open-source make system. CMake is used to control the software compilation process using simple platform-independent and compiler-independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice." If you stop at "CMake generates...workspaces", just use that capability, that's one thing, but the other stuff would definitely be pertinent to Fusion. Not that you couldn't do it, just that a) it requires a good understanding of the Fusion system, because you'll be running outside the PACE documentation and tutorial examples, which is already tough enough, and b) PACE changes things at will.
earlevel is offline   Reply With Quote
Old 08-12-2017, 10:43 AM   #18
MSK
Human being with feelings
 
Join Date: Jan 2017
Posts: 43
Default

Quote:
Originally Posted by Youlean View Post
Thanks! Text drawing is handled with freetype back end. Cairo text draw is as bad as others on windows.

Indeed there are some problem with resizing on mac in some specific hosts and I don't know how to fix it since I am really not that familiar with objective c, but I hope I will figure it out soon.
Youlean, would you be willing to elaborate on how you're displaying text in your branch? I've just been using cairo_show_text and I've noticed that the spacing between characters looks a bit off. This is on OS X 10.7 - 10.12.

MSK
MSK is offline   Reply With Quote
Old 08-12-2017, 11:20 AM   #19
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by MSK View Post
Youlean, would you be willing to elaborate on how you're displaying text in your branch? I've just been using cairo_show_text and I've noticed that the spacing between characters looks a bit off. This is on OS X 10.7 - 10.12.

MSK
Take a look at ycairo_text class.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 08-12-2017, 12:17 PM   #20
MSK
Human being with feelings
 
Join Date: Jan 2017
Posts: 43
Default

Quote:
Originally Posted by Youlean View Post
Take a look at ycairo_text class.
Awesome thanks. Looking at the class, only thing that isn't clear to me is how to set the font, what would the member calls look like for that?

MSK
MSK is offline   Reply With Quote
Old 08-12-2017, 12:32 PM   #21
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by MSK View Post
Awesome thanks. Looking at the class, only thing that isn't clear to me is how to set the font, what would the member calls look like for that?

MSK
I would suggest you to use create_global_font_from_path from ycairo base and to put it in the plugin constructor, then you will be able to use ycairo text with that font in any ycairo text instance. You can also use similar method in ycairo text. You can also use font from memory but you will need to declare font in resource.h and .rc for windows.

Btw, I am on vacation so I probably won't be able to reply you anymore until I get back.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 08-12-2017, 02:21 PM   #22
MSK
Human being with feelings
 
Join Date: Jan 2017
Posts: 43
Default

Quote:
Originally Posted by Youlean View Post
I would suggest you to use create_global_font_from_path from ycairo base and to put it in the plugin constructor, then you will be able to use ycairo text with that font in any ycairo text instance. You can also use similar method in ycairo text. You can also use font from memory but you will need to declare font in resource.h and .rc for windows.

Btw, I am on vacation so I probably won't be able to reply you anymore until I get back.
Great, I'll give it a go. Thanks Youlean!

MSK
MSK is offline   Reply With Quote
Old 08-13-2017, 07:29 AM   #23
OrkDadin
Human being with feelings
 
OrkDadin's Avatar
 
Join Date: Apr 2008
Location: Germany
Posts: 87
Default

I haven't used wdl-ol at all, yet, so I cannot comment on the current system. But in general I like CMake and think that it's becoming more and more a standard of how projects are build. So there is a +1 from my side!
__________________
OrkDadin is offline   Reply With Quote
Old 08-19-2017, 07:01 AM   #24
ConnorLRSS
Human being with feelings
 
ConnorLRSS's Avatar
 
Join Date: Mar 2017
Location: Halifax, NS, Canada
Posts: 11
Default

I just started a job at a company that uses CMake for all of their projects - it's a godsend. I would be all for it, especially considering the amount of cross-platform hassle that comes with making plugins.
ConnorLRSS is offline   Reply With Quote
Old 08-19-2017, 11:16 AM   #25
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Just to note, maybe if visual studio for mac gets C++ we could have same projects running on mac and windows...

Also, is it possible to use visual studio code on both platforms?
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 08-19-2017, 11:59 AM   #26
earlevel
Human being with feelings
 
Join Date: Dec 2015
Posts: 331
Default

Quote:
Originally Posted by Youlean View Post
Just to note, maybe if visual studio for mac gets C++ we could have same projects running on mac and windows...

Also, is it possible to use visual studio code on both platforms?
True, that does sound seductive. However, Microsoft's motivation is to push .net, and has little motivation to further C++, particularly on the Mac. And Microsoft has a history of pulling the rug out from any Mac development support they enter into, as well as letting their Mac software lag (permanently) its Windows versions in capabilities. Relying on Microsoft for Apple success is not a good bet.
earlevel is offline   Reply With Quote
Old 08-20-2017, 01:32 AM   #27
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 171
Default

I only used CMake a couple of times and don't have a real opinion on that but being an old Linux head I'm perfectly fine with shell scripts (in fact I'm using them all the time)

Regarding Cairo I have some widget already made (the DeeLay Plus GUI is made completely in Cairo) so I can share some cod if it's needed

BTW the biggest Cairo pain is to build it on mac...

Saverio
HoRNet is offline   Reply With Quote
Old 08-20-2017, 07:50 AM   #28
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by earlevel View Post
True, that does sound seductive. However, Microsoft's motivation is to push .net, and has little motivation to further C++, particularly on the Mac. And Microsoft has a history of pulling the rug out from any Mac development support they enter into, as well as letting their Mac software lag (permanently) its Windows versions in capabilities. Relying on Microsoft for Apple success is not a good bet.
Indeed, haven't thought about that...
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 08-22-2017, 03:37 AM   #29
Nowhk
Human being with feelings
 
Join Date: Mar 2016
Posts: 234
Default

Yeah, I suggest to change the name totally... IPlug is the one I'd prefer.

I would make some "order" within the folder (IPlug right now its a subfolder of WDL-OL).
Also, add some fancy "Tale" addons (such as pcmfmtcvt.h or wavread.h).

I don't have so many "commits", but some edits could be used for improve the whole project: https://github.com/Nowhk/WDL-Nowhk/commits/master

Let us know
Thanks for your nice and awesome work!
Nowhk is offline   Reply With Quote
Old 08-23-2017, 12:21 AM   #30
Nowhk
Human being with feelings
 
Join Date: Mar 2016
Posts: 234
Default

P.S. duplicate.py works like a charm for me, I don't need any change for this
Nowhk is offline   Reply With Quote
Old 08-25-2017, 05:17 AM   #31
ConnorLRSS
Human being with feelings
 
ConnorLRSS's Avatar
 
Join Date: Mar 2017
Location: Halifax, NS, Canada
Posts: 11
Default

It's not really a matter of the duplicate script working correctly.

I find Xcode to be atrocious - it's like every new version breaks my stuff in some new fun way. Visual Studio isn't much better either. CMake is really simple to understand, so when things go wrong, it's pretty easy to find problems intuitively.

Doesn't it make more sense to have single universal projects rather than two different projects that are built two different clunky IDEs? And hey, if you are a fan of Xcode or VS, then you can use CMake to generate those projects for you!

This is all just me though. I know some people love Xcode and/or VS, but clearly I'm not one of them.
ConnorLRSS is offline   Reply With Quote
Old 09-14-2017, 03:33 PM   #32
l0calh05t
Human being with feelings
 
l0calh05t's Avatar
 
Join Date: Nov 2008
Location: Darmstadt, Germany
Posts: 673
Default

A switch to CMake would be great! I use CMake a lot at work, so I can probably help out. In any case, I would strongly recommend using a current version of CMake, as they allow for much cleaner code than older ones (and the "but the Debian/Ubuntu/whatever LTS only has..." arguments are a red herring, as cmake is incredibly easy to build on Linux, and available as a binary on OSX and Windows).
__________________
Raw data for raw nerves | 1.05946309...
My Blog | My free VST plugins | WDL-OL CMake fork
l0calh05t is offline   Reply With Quote
Old 09-17-2017, 10:44 AM   #33
l0calh05t
Human being with feelings
 
l0calh05t's Avatar
 
Join Date: Nov 2008
Location: Darmstadt, Germany
Posts: 673
Default

I made the beginning of an attempt over here: https://github.com/l0calh05t/wdl-ol/tree/cmake

However, the VST3 SDK seems to have changed too much for the original build system to work as well :/
__________________
Raw data for raw nerves | 1.05946309...
My Blog | My free VST plugins | WDL-OL CMake fork
l0calh05t is offline   Reply With Quote
Old 09-17-2017, 10:50 AM   #34
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

awesome! thanks. I need to update for the latest VST 3 SDK, which actually uses Cmake.

I can't remember exactly what state this is in, but this branch should be merging soon:

switching to c++ 11, visual studio 2017 and xcode 8

https://github.com/olilarkin/wdl-ol/tree/vs2017
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 09-17-2017, 11:46 AM   #35
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by olilarkin View Post
awesome! thanks. I need to update for the latest VST 3 SDK, which actually uses Cmake.

https://github.com/olilarkin/wdl-ol/tree/vs2017
I have updated VST3 projects for new SDK on my branch...
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 09-17-2017, 11:09 PM   #36
l0calh05t
Human being with feelings
 
l0calh05t's Avatar
 
Join Date: Nov 2008
Location: Darmstadt, Germany
Posts: 673
Default

Quote:
Originally Posted by olilarkin View Post
awesome! thanks. I need to update for the latest VST 3 SDK, which actually uses Cmake.

I can't remember exactly what state this is in, but this branch should be merging soon:

switching to c++ 11, visual studio 2017 and xcode 8

https://github.com/olilarkin/wdl-ol/tree/vs2017
Yes, I saw that. However it does a couple of bad things like overriding the compiler flags set by the user (which you should never do for flags that can cause incompatibility like /MD vs /MT). And it doesn't have any option not to build all the tools and example plugins etc.
__________________
Raw data for raw nerves | 1.05946309...
My Blog | My free VST plugins | WDL-OL CMake fork
l0calh05t is offline   Reply With Quote
Old 09-18-2017, 01:24 AM   #37
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

Could you elaborate? Not sure I agree such a bad thing. There is a constant conflict where I want to try and minimise set up for beginners as well as making it flexible for people who know what they're doing . /mt /md matching amongst different libraries was a constant source of problems for me when I was starting out. It's also really annoying if you give someone a plug-in and they don't have the visual studio runtime for your vs version
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 09-18-2017, 02:11 PM   #38
l0calh05t
Human being with feelings
 
l0calh05t's Avatar
 
Join Date: Nov 2008
Location: Darmstadt, Germany
Posts: 673
Default

Quote:
Originally Posted by olilarkin View Post
Could you elaborate? Not sure I agree such a bad thing. There is a constant conflict where I want to try and minimise set up for beginners as well as making it flexible for people who know what they're doing . /mt /md matching amongst different libraries was a constant source of problems for me when I was starting out. It's also really annoying if you give someone a plug-in and they don't have the visual studio runtime for your vs version
Silently replacing the user's setting (in CMAKE_*_FLAGS_*) by something different will break other projects that want to build your library as a subproject. Even if used as a library, the user will be forced to use the same settings, or edit the CMakeLists.txt of your library. This is absolutely a bad thing.

At the same time, I do agree that having "sane" defaults for beginners/ease of use does make sense. The best way I have found so far, is to set the CMAKE_*_FLAGS_*_INIT variables in a CMAKE_USER_MAKE_RULES_OVERRIDE script. This allows the user to set the flags without them being overwritten, and won't break use as a subdirectory.

I just added this to my fork.
__________________
Raw data for raw nerves | 1.05946309...
My Blog | My free VST plugins | WDL-OL CMake fork
l0calh05t is offline   Reply With Quote
Old 09-18-2017, 03:54 PM   #39
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

Quote:
Originally Posted by l0calh05t View Post
Yes, I saw that. However it does a couple of bad things like overriding the compiler flags set by the user (which you should never do for flags that can cause incompatibility like /MD vs /MT). And it doesn't have any option not to build all the tools and example plugins etc.
was that VST3SDK or my vs2017 branch? think i got confused
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 09-18-2017, 06:52 PM   #40
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,255
Default

Out of curiosity, did you make some plugins for Buzz back in the day? I associate your name with it for some reason.
__________________
foxyyymusic
foxAsteria is online now   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:30 AM.


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