Old 01-03-2016, 10:51 AM   #1241
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@Subz
It depends on the technic you want to use to determine BPM (frequency analsys, or onoy item length / bpm ratio, or tap tempo... )
I have a BPM converter in my script pack, it has a BPM detection stage base on item length... Maybe it is the kind of thing you are looking for ?

@EpicSounds
If you remember script tuorial, you can easily do that on two lines of code
Line 1 : get frame length (dn't remember the exact functio name, look in the api doc
Line 2 : movecursor function
Tada !

Last edited by X-Raym; 01-03-2016 at 11:06 AM.
X-Raym is offline   Reply With Quote
Old 01-03-2016, 11:19 AM   #1242
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

You can also offset edit cursor my framez within it/nudge if I remember well.
X-Raym is offline   Reply With Quote
Old 01-03-2016, 11:28 AM   #1243
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 4,772
Default

Quote:
Originally Posted by Subz View Post
detect BPM of an audio file? (like they have in DJ Software)

[so not via length but via transient spacing] (or however it would be worked out)

i am new to scripts so expect some more of these from me!

and as i am new many may be redundant!

so please be kind to me!

Subz
Although this would be truly amazing, i will settle also with the ability in Reaper to read the BPM tag in a media (mp3) file and stretch that media file to Reaper's (current) tempo, so it syncs to Reaper tempo.
I already stated it in this forum, but i do it again: if this can be realized in Reaper, it wll be a way more attractive DAW for people who want to make DJ mixes in Reaper, maybe skipping Ableton Live all the way, cause Live can't do this and also it has a crap sounding stretch engine.
vanhaze is offline   Reply With Quote
Old 01-03-2016, 12:55 PM   #1244
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,745
Default

Quote:
Originally Posted by vanhaze View Post
Although this would be truly amazing, i will settle also with the ability in Reaper to read the BPM tag in a media (mp3) file and stretch that media file to Reaper's (current) tempo, so it syncs to Reaper tempo.
I already stated it in this forum, but i do it again: if this can be realized in Reaper, it wll be a way more attractive DAW for people who want to make DJ mixes in Reaper, maybe skipping Ableton Live all the way, cause Live can't do this and also it has a crap sounding stretch engine.
Reaper can use the BPM info and display it media explorer (in reaper 5 anyway) but maybe not for mp3s yet.
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 01-03-2016, 01:05 PM   #1245
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 4,772
Default

Say Whaaat ?!!

Can you please tell me how to show bpm field from media files in Media Explorer ?!

I use Reaper OSX version btw ..
vanhaze is offline   Reply With Quote
Old 01-03-2016, 05:15 PM   #1246
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 5,538
Default

ugh banging my head on the desk. Simple for you Ray, not for me. I have to go back through the whole tutorial series from the start every time I try scripting. The documentation hasn't gotten any less confusing.


Code:
Lua: number retval, optional boolean dropFrameOutOptional reaper.TimeMap_curFrameRate(ReaProject proj);
I know it should be something like this in the script but I'm missing how to get the value from this function as a string I can put into the second part

Code:
reaper.TimeMap_curFrameRate(0);
Code:
Lua: reaper.MoveEditCursor(number adjamt, boolean dosel);
after no luck with google I figured out that "adjmt" means adjustment and "dosel" means make a selection. (Can you update this in your version of the doc?)

So to move the cursor left by 1 second with no selection I use this code

Code:
reaper.MoveEditCursor(-1, 0);
but I think I need to convert frame rate to seconds. I also need to make sure that if the cursor is not already on a grid line that the script moves to the closest frame.
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog
EpicSounds is offline   Reply With Quote
Old 01-03-2016, 06:26 PM   #1247
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@EpicSounds
Please don't panic. 02:25 AM here, script rescue at your service.

Now on my Script pack:
  • Move edit cursor to next frame
  • Move edit cursor to previous frame
Scripts thread:
Scripts: Transport (various)
X-Raym is offline   Reply With Quote
Old 01-04-2016, 02:12 AM   #1248
gestaltito
Human being with feelings
 
Join Date: Sep 2009
Posts: 14
Default

Quote:
Originally Posted by X-Raym View Post
@gestaltito

I think you can re-download my script pack, I just updated Quantize selected items to closest region start
Edit: also updated the marker version of it.
Code:
 * v1.1 (2015-12-24)
   + Preserve relative position of items in groups (considering min pos of selected items in groups as referance, and propagate offset on al items in groups, even non selected ones.
Tell me what do you think of that :P
Hi,
I guess I know where the problem whitin my project lies: The "closest region start" can be placed before or after the item; over a project of let's say 50 minutes with 150 regions, I spread a splitted audio file that lasts, in origin, let's say 15 minutes.
So the "closest" regions are only within the 15 first minutes of the project and gather on those regions, ignoring the rest.
So an optimal behaviour for me, "place first item on first region start, place second item on second region start", etc., I'm not sure if can be easily achieved, maybe with a macro...
Cheers!
gestaltito is offline   Reply With Quote
Old 01-04-2016, 03:24 AM   #1249
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@gestaltito
That is indeed, not the same thing. :/

Preserving Groups items relative distance or not ? or don't you have groups at this step ?

Also, should it work per track ? (a different snaping pass for every track ?)

Last edited by X-Raym; 01-04-2016 at 03:50 AM.
X-Raym is offline   Reply With Quote
Old 01-04-2016, 04:20 AM   #1250
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,745
Default

Quote:
Originally Posted by vanhaze View Post
Say Whaaat ?!!

Can you please tell me how to show bpm field from media files in Media Explorer ?!

I use Reaper OSX version btw ..
On Windows you can have it showing as a normal column for windows explorer but the only other way is to make a database for the sounds you want to show the BPM column for. (You still have to show it by right clicking the top column area.)

It's not ideal in that sense so would still need a FR to the devs (especially for mac users) but for static sound libraries or ones you don't mind updating every so often (with a quick rescan) it's not too bad.
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 01-04-2016, 04:53 AM   #1251
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 4,772
Default

Woohaa , many thx for your help !

I totally had missed the fact that you can make BPM and even KEY columns visible for a database in Media Explorer, great !
vanhaze is offline   Reply With Quote
Old 01-04-2016, 05:01 AM   #1252
gestaltito
Human being with feelings
 
Join Date: Sep 2009
Posts: 14
Default

Quote:
Originally Posted by X-Raym View Post
@gestaltito
That is indeed, not the same thing. :/

Preserving Groups items relative distance or not ? or don't you have groups at this step ?

Also, should it work per track ? (a different snaping pass for every track ?)
Hi,
Yes, doing the grouping of items preserves the relative distance when quantizing to closest region start.
As for per track, I'm not sure, sounds like I'd need a lot of tracks and a way to distribute the multiple items one on each track...
gestaltito is offline   Reply With Quote
Old 01-04-2016, 08:57 AM   #1253
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 18,028
Default CC Smoothing

How about a script to smooth out transitions between CC events. For example, from the upper lane to the lower lane in this mock-up:



For each CC event:
find the next one (or end of clip)
calculate the distance
add interpolated events (using a selectable resolution)
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is offline   Reply With Quote
Old 01-04-2016, 09:09 AM   #1254
Subz
Human being with feelings
 
Subz's Avatar
 
Join Date: Jun 2006
Location: UK
Posts: 2,963
Default

Quote:
Originally Posted by X-Raym View Post
@Subz
It depends on the technic you want to use to determine BPM (frequency analsys, or onoy item length / bpm ratio, or tap tempo... )
I have a BPM converter in my script pack, it has a BPM detection stage base on item length... Maybe it is the kind of thing you are looking for ?
Thank you!

but this is not what i was after, i was after something more like how Sarato or Virtual DJ analyse audio files to work out the BPM,

Subz
Subz is offline   Reply With Quote
Old 01-04-2016, 10:31 AM   #1255
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@DarkStar
This sounds like a nice idea

I just made a Multiply by two version.

I am making it more customizable.
X-Raym is offline   Reply With Quote
Old 01-04-2016, 11:38 AM   #1256
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default Future Release

@DarkStar

Script: Insert CC linear ramp events between selected ones if consecutive

With or without user input, and interval customizable :



Release in progress (trouble with GitHub today)
X-Raym is offline   Reply With Quote
Old 01-04-2016, 11:49 AM   #1257
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 18,028
Default

Smooooooooooooth
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is offline   Reply With Quote
Old 01-04-2016, 12:08 PM   #1258
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@DarkStar
Uploaded on my Script Pack
X-Raym is offline   Reply With Quote
Old 01-04-2016, 04:41 PM   #1259
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 18,028
Default

^^^^
Thank you. If only I knew where that was
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is offline   Reply With Quote
Old 01-04-2016, 05:22 PM   #1260
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

Click on my signature (My ReaScripts),
then download my pack,
then look for MIDI Editor folder
then look for X-Raym_Insert CC linear ramp events between selected ones if consecutive.lua :P
X-Raym is offline   Reply With Quote
Old 01-05-2016, 04:45 AM   #1261
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 18,028
Default

I've turned off signatures here

... Found it. Looking good.

One thing: Rather than 'n' events inserted between the original 2 I was thinking of the number of inserts events being determined by
(a) the distance between the two original events,
(b) a resolution (1/256th to 1/16th?) or, perhaps a number of ticks (1 to 240?),
As in:



So a completely-smooth change from a value of 127 to 0 could be achieved in 127 ticks (~ 0.13 of a beat).

Would that be possible?
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is offline   Reply With Quote
Old 01-05-2016, 04:52 AM   #1262
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@DarkStar
Possible yes, and that make sense too,
But what if the grid is non regular ? Like asymetrical rythm with tempo acceleration and incomplete beats, with a change between regular in triolet in the midle ? :P
X-Raym is offline   Reply With Quote
Old 01-06-2016, 08:57 AM   #1263
pattonfreak1
Human being with feelings
 
pattonfreak1's Avatar
 
Join Date: Nov 2007
Location: Omicron Persei 8
Posts: 3,240
Default Js_gigafilter?

Could anyone combine js_lowpass,js_highpass,and js_saturation into one js unit for me?
__________________
www.gigawatt.stereokiller.com
pattonfreak1 is offline   Reply With Quote
Old 01-06-2016, 05:52 PM   #1264
Joer
Human being with feelings
 
Join Date: Jun 2015
Posts: 23
Default

Could anyone implement this 'snapping to closest' behavior in the piano roll for individual notes? (And also have it work for notes in other lanes, not just ones in the same one.)

Would be such a huge time saver.

And if anyone knows how to do it but does not have the time, care to explain the steps I'd have to follow to do it myself?
I know C#, but I am about to start learning C++.

Last edited by Joer; 01-06-2016 at 07:24 PM.
Joer is offline   Reply With Quote
Old 01-09-2016, 07:42 AM   #1265
Etalon
Human being with feelings
 
Etalon's Avatar
 
Join Date: Aug 2014
Posts: 49
Default Move floating fx window y pixels from top and x pixels from left side of the screen

Hey!
By default Reaper positions new floating fx windows near the top left. My issue with this is that it hovers over my action buttons and TCP, so I always have to move them around to see whats under it, once it has been moved it is not an issue, because it remembers the new position, but it would greatly improve my workflow if I would not have to move every fx window once I added them on a track.

A standalone script would be great, but implementing them into this already existing python script would be even greater:

Code:
RPR_Undo_BeginBlock()

FX = "ReaComp"

TrackIdx = 0
TrackCount = RPR_CountSelectedTracks(0)
while TrackIdx < TrackCount:
	track = RPR_GetSelectedTrack(0, TrackIdx)
	fxIdx = RPR_TrackFX_GetByName (track, FX, 1)
	isOpen = RPR_TrackFX_GetOpen(track, fxIdx)
	if isOpen ==0:
		isOpen = 1
	else:
		isOpen = 0
	RPR_TrackFX_SetOpen(track, fxIdx, isOpen)
	TrackIdx +=1

RPR_Undo_EndBlock("Insert FX Plugin",0)
What the above script basicly does is, its adding an fx to the last touched track based on the specified fx name (in this case ReaComp). I found this script some time ago in some thread here, can't remember who made it :/

I think making a standalone script would be useful to others as well...

Thanks in advance!
Etalon is offline   Reply With Quote
Old 01-09-2016, 09:42 AM   #1266
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 5,433
Default

Quote:
Originally Posted by Etalon View Post
but it would greatly improve my workflow if I would not have to move every fx window once I added them on a track.
Hi.. You can use SWS actions to paste chains
I have several chains, one with just ReaComp for example
Then add the chains in the SWS resources window in FX Chain
then assign an action "Paste FX chain to selected tracks slot xx"

The good thing is that the position of the FX is also stored in the chain. So you won't have to move the window each time.
heda is offline   Reply With Quote
Old 01-09-2016, 10:25 AM   #1267
Etalon
Human being with feelings
 
Etalon's Avatar
 
Join Date: Aug 2014
Posts: 49
Default

Thanks for your reply, but I knew this already.
The thing is I have 4 toolbars with different categories (mixing, VSTis, SFX, FX) with different fx action buttons using this python script (113 to be exact) and you can only have 50 fx chain options, the other thing is I already use SWS fx chains for actual chains with more than one FX in the chain...
Also this script could be set for lets say to the numeric pad numbers 1 for bottom left 5 for center 9 for top right etc you get the idea

So the question remains...
Etalon is offline   Reply With Quote
Old 01-09-2016, 10:50 AM   #1268
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@Joer
Click and drag feature are abit hard with ReaScript,
but this could be done as an action !
X-Raym is offline   Reply With Quote
Old 01-09-2016, 07:58 PM   #1269
Joer
Human being with feelings
 
Join Date: Jun 2015
Posts: 23
Default

Quote:
Originally Posted by X-Raym View Post
@Joer
Click and drag feature are abit hard with ReaScript,
but this could be done as an action !
I do have an action that allows selecting the target note, placing the cursor at the end or start of it, and then selecting the note I want to snap and clicking place note end at begin or start of cursor. Problem is that it gets tedious when you are doing it with many notes while you are composing. I just want to click on a note and have it snap just like in that gif.

Is LUA the recommended scripting language that would allow me to do it?
Joer is offline   Reply With Quote
Old 01-09-2016, 11:17 PM   #1270
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 7,120
Default Auto-load most recent backup project upon crash

Saw something in the new SWS txt about Startup Actions and thought maybe now it's possible to add this long wanted feature to Reaper with some clever scripting.

What do you guys think?
__________________
Myy Wyyrd Muzyyk
foxAsteria is offline   Reply With Quote
Old 01-10-2016, 06:48 AM   #1271
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@Joer
Yeah Lua would be perfect for that but as I said, it would be more like an action (to run from a toolbar, a shortcut, or the action panel) than a mouse-modifier-like behavior.

You can start learning by checking my tutorials (link in my signature).
But I don't speak about MIDI so far, so you should start from an already written script.

Have you a bit of background on programming ?

There can be some tricky things in this, but not impossible (like moving the CC at the same time, preserving notes relative distance if several of them are selected)

I'll tell you more details if you are interested in coding by yourself.
X-Raym is offline   Reply With Quote
Old 01-13-2016, 03:13 PM   #1272
jsuttonmusic
Human being with feelings
 
Join Date: May 2014
Posts: 21
Default

Request (Sound Design related):

It would be really awesome if there were commands to:

*Snap Markers to frames\grid
*move item position to next\previous marker (paying respect to their offsets)

Do you guys know if this is already possible? When I do sound design to picture I typically start by scrubbing and spraying markers everywhere where there needs to be a sound for something repetitive like footsteps, but the markers are usually in-between frames. and dragging tons of audio files around can get messy.

I know XRAYM has a script for the snapping for regions, but I haven't seen any similar script\action for markers.

Eventually I think it would probably be possible to sequentially spray sounds at marker positions, but this would be the next best thing.

I thank you guys a million everyone here creates such awesome productivity tools.

An alternative way I thought about going about this was to use the Insert from project bay command and use that as like a palette, however, it appears that right now that command is bugged and will insert too many instances of the sound.
jsuttonmusic is offline   Reply With Quote
Old 01-13-2016, 03:59 PM   #1273
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@jsuttonmusic
Quote:
*Snap Markers to frames\grid
Is that two or one action ?
I have done the same for regions, I assume I can easily mod that for you to have it for project markers as well.

Quote:
*move item position to next\previous marker (paying respect to their offsets)
Hmmm, I have the quantize version of it, but sure, in the same way, we can make a next and a previous
(that would also keep groups relative timing position)

Quote:
Eventually I think it would probably be possible to sequentially spray sounds at marker positions, but this would be the next best thing.
Once again, we are close, I have the same thing but for "markers with same name".
I can use it as a framework.
Should the sequence start from project start or from position of first selected items ?

In resume, all possible. Sounds useful.
X-Raym is offline   Reply With Quote
Old 01-13-2016, 05:03 PM   #1274
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@jsuttonmusic
If you do a lot of Marker/regions stuff,
consider using the Heda Region manager scripts,

EEL script: Show/Hide Markers using Track's empty items with notes

The thing is that there is a lot more ways to treat items than regions and markers,
so all things like advanced quantizing, alignment, shuffling etc would be available to you right now if you consider using this to manage your regions/markers

That said, I did made the request 1. and 2. already. In my script pack :
  • Quantize selected items to next marker position
  • Quantize selected items to previous marker position
  • Snap markers to grid
But the third feature request will be more practical in a items approach (rather than pure markers) as you can select items, and not markers, so you can exclude some markers from your snapping desire, or have different sets of markers etc...
Hope this help you,
I invite you to make a donation if you like it ^^
X-Raym is offline   Reply With Quote
Old 01-13-2016, 10:12 PM   #1275
jsuttonmusic
Human being with feelings
 
Join Date: May 2014
Posts: 21
Default

Quote:
Originally Posted by X-Raym View Post
@jsuttonmusic
If you do a lot of Marker/regions stuff,
consider using the Heda Region manager scripts,

EEL script: Show/Hide Markers using Track's empty items with notes

The thing is that there is a lot more ways to treat items than regions and markers,
so all things like advanced quantizing, alignment, shuffling etc would be available to you right now if you consider using this to manage your regions/markers

That said, I did made the request 1. and 2. already. In my script pack :
  • Quantize selected items to next marker position
  • Quantize selected items to previous marker position
  • Snap markers to grid
But the third feature request will be more practical in a items approach (rather than pure markers) as you can select items, and not markers, so you can exclude some markers from your snapping desire, or have different sets of markers etc...
Hope this help you,
I invite you to make a donation if you like it ^^
Woah.

I will do sir. This is absolutely fantastic. I have been following your work for a while and have aspirations to dive into the scripting side of things myself. Thank you for being such a fantastic support for REAPER.
jsuttonmusic is offline   Reply With Quote
Old 01-14-2016, 12:35 AM   #1276
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@jsuttonmusic
Thank you very much
Can't wait to see your scripts !

So for your third feature request,
if you now create marker/regions using text items (as I do all the times except for quick edits),
you can use the Align items across tracks script from this thread :
Script (Lua): Shuffle Items

Maybe you'll need a marker to item script.
if it doesn't exist already, you can use the marker to regions SWS action, and then my Create text items from regions script from
Scripts (LUA): Create Text Items Actions (various)
You could then adjust these items length and put it on a "marker track" for heda's marker & regions manager.
X-Raym is offline   Reply With Quote
Old 01-14-2016, 04:04 AM   #1277
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default

@jsuttonmusic
I finally made Create text items on first selected track from markers if you need it :P
X-Raym is offline   Reply With Quote
Old 01-14-2016, 03:52 PM   #1278
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,041
Default New script

A script that was requested to me, to send events to a stage light :
  • Insert MIDI notes at project markers



Can be useful to some, I guess ! ^^
X-Raym is offline   Reply With Quote
Old 01-21-2016, 12:42 PM   #1279
J Reverb
Human being with feelings
 
Join Date: Jul 2009
Posts: 656
Default Request - Select next/previous visible envelope in item takefx + arm disarm toggle

Request - Select next/previous visible envelope in item takefx lanes + arm disarm toggle for currently selected envelope ?
Is this possible ?
Thanks.
J Reverb is offline   Reply With Quote
Old 01-22-2016, 05:52 PM   #1280
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Twiddy, Alabama
Posts: 1,965
Default

could we please get a script that intelligently updates "hide unused midi notes" in the midi editor as per this thread?

http://forum.cockos.com/showthread.php?t=171644
mccrabney 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 01:20 AM.


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