Old 07-15-2019, 07:41 PM   #1
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default Time Machine (drum/percussion & general sampler)



In the stash here - https://stash.reaper.fm/v/36730/TimeMachine.zip

'Time Machine' is Time Waster's All Reaper Drum & Instrument Sampler (TWARDIS). This FX is a MIDI drum, percussion and general sample player.

How to use this FX (updated for version 0.95):

- Choose the number of samples slots you require by using the "Samples" pull down menu (up to 64). The default is 16. It is advisable to use the lowest number possible to reduce CPU load.

- To record a sample, choose a sample slot, then press the record button and play a sound. The FX auto detects the onset of the sound and starts recording. The record threshold can be adjusted between -60 dB and -30 dB, but for most cases, -60 dB is fine. If sampling a real instrument, best practice is to record the audio sample first as a media item, so that you can trim it to the exact start of the sample. The end point of the sample is not so critical. The FX will continue recording until the sample value falls below the "record threshold" or it runs out of "record time". Sliders are provided for adjusting these settings.

- "Auto Record" allows multiple samples to be recorded into the available sample slots in a single action. To use this you will need to arrange the samples on a track in the sequence in which you want to load them. The start points of each sample should be roughly evenly spaced, with a gap of silence between each sample. Set the "Record Time" to be longer than the longest sample, but shorter than the shortest time between sample start points. Select "Auto Record On" and press the record button to arm for recording. Play the sample track (which should be routed to the track the FX is on). Each sample will be recorded into a slot, then the slot number will automatically advance to record the next one. You can start auto recording at any slot number and recording will continue to the last slot, or until you press the record button.

- To clear a sample, choose the instrument and shift+click the record button.

- Double click any slider to return to it's default value.

- Trigger notes can be assigned to each sample, either by note and octave, or by MIDI note number. The default is MIDI notes 36 through 99. There is an option to "Re-sequence all samples". If chosen, the trigger notes for samples either side of the current sample will be arranged in an ascending semitone sequence relative to the chosen sample.

- To use one sample to choke another (e.g. a closed hi-hat choking an open hi-hat), choose the sample to be chocked and use the 'Choked by sample' selector to choose the choking sample. The "All" option allows the sampler to be played as a monophonic instrument. There is an option to apply the new setting to all samples.

- The rate at which the volume of a choked sample goes to zero is determined by the "Release Time" setting. The range is 0 - 1000 milliseconds. The default value of approximately 1 millisecond provides rapid release while minimising audible clicks.

- A sample can also be released using a note-off message. This is useful for samples of sustained notes which need to be muted. Use the "Note-Off Messages" control to change this behaviour.

- Instrument names can be assigned to the samples by choosing a name from the drop down menu located above the record button. There are 64 name slots to choose from, 32 of which are pre-filled. The names can be edited from line 259 in the code below, if required.

- The font used in in the graphics area is "Arial". For best results make sure this font is installed in your system, although it will work without it. On some systems the font scale may be incorrect. If so, adjust the font scale factor at line 117 (the first item in @init).

- To save a sample set for future use, use 'Save selected FX as FX Chain'. Alternatively, a sample set may be saved as a preset, however the presets will take a long time to load. You can also save an audio file of the samples and use Auto Record to load them (see above).

- There are two audio output modes to select from, 2 channel stereo or 16 channel mono. In two channel stereo mode a pan slider is provided to set a pan position for each sample. In 16 channel mode a channel selector is provided for assigning each audio sample to a channel. If you use 'Insert virtual instrument on new track' you will be given the option of creating 16 output tracks.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth

Last edited by Time Waster; 12-30-2019 at 11:24 PM. Reason: Updated for latest version
Time Waster is offline   Reply With Quote
Old 07-15-2019, 08:31 PM   #2
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 3,978
Default

Oh my God 8-O

I just wanted to go sleep, but had to try this new baby, yet.
Wonderful, Time Waster !!

Quick report: MIDI triggering is buggy - only Kick is stable, but other notes do not trigger (once in a while some notes are send to sampler in burst).
akademie is offline   Reply With Quote
Old 07-15-2019, 08:34 PM   #3
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Thanks, I'll check that out. It was working fine, but I may have changed something.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-15-2019, 08:41 PM   #4
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 3,978
Default

Recorded two samples (two pads) and tried to save as preset
Reaper stopped responding (it's already 5 minutes, I think it won't come back and will have to kill the process)
I think that I could set new MIDI note for the pad, but as soon as I clicked on another one and then back on that edited pad, previous MIDI note was back (I meam Kick - set from C to E, click Snare pad, again click on Kick pad and there is note C back - likeit was not stored internally.

More later today, I really have to get some sleep before going to work ;-)

Last edited by akademie; 07-15-2019 at 09:08 PM. Reason: typing correction
akademie is offline   Reply With Quote
Old 07-15-2019, 11:57 PM   #5
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Cool!

Quote:
Originally Posted by Time Waster View Post
The Zip file contains the FX and a an FX Chain, which has the FX preloaded with samples from a Roland TR-505 drum machine, suitable for a 48 kHz project (samples will only play correctly at the sample rate they were recorded at).
Are you sure you are allowed to redistribute these samples? I'd say you need permission from Roland (which maybe you have, I dunno). Then again, the original is pretty old, so maybe they don't care... But I wouldn't count on it.
Tale is offline   Reply With Quote
Old 07-16-2019, 12:04 AM   #6
5/4
Human being with feelings
 
Join Date: Jun 2013
Posts: 51
Default

Hey this is a great project for js really inspiring,
I am trying to get started with a project using js to edit samples, would you have any resources you could point me towards which aided you in this project?
5/4 is offline   Reply With Quote
Old 07-16-2019, 01:07 AM   #7
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

Despite JSFX limitations (sample size etc), it is a very nice proof of concept, and GUI is pretty good.



Well done !
X-Raym is offline   Reply With Quote
Old 07-16-2019, 01:52 AM   #8
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Quote:
Originally Posted by akademie View Post
Recorded two samples (two pads) and tried to save as preset
Reaper stopped responding (it's already 5 minutes, I think it won't come back and will have to kill the process)
I think that I could set new MIDI note for the pad, but as soon as I clicked on another one and then back on that edited pad, previous MIDI note was back (I meam Kick - set from C to E, click Snare pad, again click on Kick pad and there is note C back - likeit was not stored internally.

More later today, I really have to get some sleep before going to work ;-)
Yes, I don't really recommend saving as a preset. I don't know why it should be such a big deal for reaper to load this. The preset file is only about 20MB or so. Saving as an FX chain seems more effective.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-16-2019, 01:54 AM   #9
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

The MIDI trigger bug has been fixed.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-16-2019, 02:03 AM   #10
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Quote:
Originally Posted by Tale View Post
Cool!

Are you sure you are allowed to redistribute these samples? I'd say you need permission from Roland (which maybe you have, I dunno). Then again, the original is pretty old, so maybe they don't care... But I wouldn't count on it.
I thought about this. I figure that when you buy a drum machine, you expect to be able to use the sounds it produces in your music recordings. I've recorded the sounds and I'm distributing the recordings, free of charge. The TR-505 is no longer produced, so I'm not taking any market share from Roland. I don't think I can be sued for money I haven't made from a device that is no longer available
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-16-2019, 02:07 AM   #11
sinkmusic
Human being with feelings
 
sinkmusic's Avatar
 
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
Default

Very interesting, thank you !
sinkmusic is online now   Reply With Quote
Old 07-16-2019, 02:12 AM   #12
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Quote:
Originally Posted by 5/4 View Post
Hey this is a great project for js really inspiring,
I am trying to get started with a project using js to edit samples, would you have any resources you could point me towards which aided you in this project?
Not really. I usually only refer to the JSFX documentation available in this forum. I'm not using any wav or other sound files directly. I looked at doing that, but I couldn't find any documentation on reading wav files, so I opted to just record the samples and store them in indexed memory, which is fairly straight forward.

If you wanted to edit samples, you could possibly record and store them as I have done. Once they are in indexed memory, you would be able to manipulate the sample values. The final step would be to render the edited sample in the original format.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-16-2019, 02:24 AM   #13
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Quote:
Originally Posted by X-Raym View Post
Despite JSFX limitations (sample size etc), it is a very nice proof of concept, and GUI is pretty good.



Well done !
Thanks X-Raym. The sample size could be increased by a factor of about 8. I didn't think it was necessary to go any bigger, and I was put off by the issue with saving and reloading presets. I have a reasonably quick machine (3.5 GHz XEON with 12 GB RAM). Saving the TR-505 sample set initially takes about 30 seconds and then it takes 40 seconds to reload the preset. I assume these figures would increase with larger samples. I'm guessing that Reaper saves any non-zero memory values in the preset.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-16-2019, 05:13 AM   #14
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

Quote:
Originally Posted by Time Waster View Post
I thought about this. I figure that when you buy a drum machine, you expect to be able to use the sounds it produces in your music recordings. I've recorded the sounds and I'm distributing the recordings, free of charge. The TR-505 is no longer produced, so I'm not taking any market share from Roland. I don't think I can be sued for money I haven't made from a device that is no longer available
Well, it's not necessarily about money, it's about copyright. Anyway, this is probably not the place for this discussion, but you might want to check out this old KVR topic:

https://www.kvraudio.com/forum/viewt...?f=42&t=323476
Tale is offline   Reply With Quote
Old 07-16-2019, 11:49 AM   #15
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Location: India Mumbai
Posts: 816
Default

Very nice plugin !

I tried it out , it recorded everything fine , but somehow it was only triggering the first pad, no matter what note number i changed ,none of the other pads were playing
i am trying it out on my mobile DAW now.. will report back
but really a nifty much needed device. also wanted to know can single shots be loaded in the cells ?

regards
zook
zookthespook is offline   Reply With Quote
Old 07-16-2019, 04:44 PM   #16
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Quote:
Originally Posted by zookthespook View Post
Very nice plugin !

I tried it out , it recorded everything fine , but somehow it was only triggering the first pad, no matter what note number i changed ,none of the other pads were playing
i am trying it out on my mobile DAW now.. will report back
but really a nifty much needed device. also wanted to know can single shots be loaded in the cells ?

regards
zook
Check in the code that you are using version 0.91. Version 0.90 had a bug.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-16-2019, 05:29 PM   #17
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Quote:
Originally Posted by Tale View Post
Well, it's not necessarily about money, it's about copyright. Anyway, this is probably not the place for this discussion, but you might want to check out this old KVR topic:

https://www.kvraudio.com/forum/viewt...?f=42&t=323476
Hmm, interesting thread. I decided to delete the TR-505 FX chain from the zip file. I suspect that in reality I was just providing free advertising for Roland, but it's a complex issue. I will work on creating my own sample set as the demo.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-16-2019, 08:08 PM   #18
prom
Human being with feelings
 
prom's Avatar
 
Join Date: Oct 2011
Location: UK
Posts: 523
Default

Are you the Tom baker? ,can't wait to hear what you fire in the binary kiln.

prom is offline   Reply With Quote
Old 07-17-2019, 12:31 AM   #19
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

In the latest version (0.92) I have doubled the available sample storage to 500k samples.

I have also created a new FX chain. This one provides a kit using samples from Jonathan Murphy's TS-808 software emulation of the TR-808. Apparently this is fully legal, because the original source material was generated electronically, as opposed to being pre-recorded. The hardware TR-505, which I sampled previously, is a rompler, so as it turns out I was not legally able to redistribute those sounds because they are copyrighted material.

The new FX chain will only work correctly with version 0.92.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-17-2019, 01:44 AM   #20
lachinhan
Human being with feelings
 
lachinhan's Avatar
 
Join Date: Nov 2014
Location: Can Tho - Viet Nam
Posts: 305
Default

Quote:
Originally Posted by Time Waster View Post
In the latest version (0.92) I have doubled the available sample storage to 500k samples.

I have also created a new FX chain. This one provides a kit using samples from Jonathan Murphy's TS-808 software emulation of the TR-808. Apparently this is fully legal, because the original source material was generated electronically, as opposed to being pre-recorded. The hardware TR-505, which I sampled previously, is a rompler, so as it turns out I was not legally able to redistribute those sounds because they are copyrighted material.

The new FX chain will only work correctly with version 0.92.
Hi Tim!

I can't find your new FX Chain to download. Pls show me the link.

Thanks and best regards

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 07-17-2019, 01:47 AM   #21
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Location: India Mumbai
Posts: 816
Default

Quote:
Originally Posted by Time Waster View Post
Check in the code that you are using version 0.91. Version 0.90 had a bug.
aye aye !
zookthespook is offline   Reply With Quote
Old 07-17-2019, 03:16 AM   #22
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Quote:
Originally Posted by lachinhan View Post
Hi Tim!

I can't find your new FX Chain to download. Pls show me the link.

Thanks and best regards

Nhan
It's in the zip file with the FX (version 0.92).
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-17-2019, 04:34 AM   #23
bobobo
Human being with feelings
 
bobobo's Avatar
 
Join Date: Oct 2014
Posts: 1,356
Default

am interested in the 0.92 Version
unfortunately the link provided in first post points to version 0.91

and maybe there is a way to implement an adjustable velocitydependant pitchrate per sample.
f.i. lower velocity, lower pitchrate

Last edited by bobobo; 07-17-2019 at 05:09 AM.
bobobo is offline   Reply With Quote
Old 07-17-2019, 07:11 AM   #24
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

It appears that the FX chain is too big to upload to the stash, even when compressed as a .rar file. The latest version of the FX, 0.92 is now uploaded, but don't download it if you already have, samples saved in 0.91, as it will break them.

I'll try and figure out some way of sharing the FX chain later. It seems that dropbox etc don't allow download any more, only viewing. Any suggestions for free public download services?
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-17-2019, 10:02 AM   #25
bobobo
Human being with feelings
 
bobobo's Avatar
 
Join Date: Oct 2014
Posts: 1,356
Default

Thanks for the update.

i made 2 FX-Chains in different samplerates,zipped and uploaded to my googledrive

TimeWaster48k

TimeWaster192k
bobobo is offline   Reply With Quote
Old 07-17-2019, 02:04 PM   #26
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Location: India Mumbai
Posts: 816
Default

.92 works as expected !
thank you !!!
any scope of loading samples in the slot vs recording them, though i am truly enjoying sampling in stuff !!
just curious

regards
zook
zookthespook is offline   Reply With Quote
Old 07-17-2019, 07:24 PM   #27
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Lets see if this works, from Google Drive:

TS-808 FX Chain @ 48kHz
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-17-2019, 07:37 PM   #28
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Quote:
Originally Posted by bobobo View Post
Thanks for the update.

i made 2 FX-Chains in different samplerates,zipped and uploaded to my googledrive

TimeWaster48k

TimeWaster192k
Thanks bobobo.

Regarding your earlier question about pitch shift, it is outside the scope of this project. The FX is only intended as a simple sample player for fixed pitch percussion sounds. It's also something I don't know much about. Maybe a later project.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-17-2019, 07:45 PM   #29
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Quote:
Originally Posted by zookthespook View Post
any scope of loading samples in the slot vs recording them, though i am truly enjoying sampling in stuff !!
just curious

regards
zook
Initially I thought that I was going to be using wav files or something for this project. When I looked into though, it it seemed to me that JSFX has no way to play a wave file. I then thought that maybe I could read in a wav file and store the data in memory, but I'm not sure even that is feasible, and certainly beyond my abilities as a coder. The method of just recording the samples is easy and the working code for this FX is quite simple.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-19-2019, 10:30 AM   #30
bobobo
Human being with feelings
 
bobobo's Avatar
 
Join Date: Oct 2014
Posts: 1,356
Default

hi, great code you hacked in.

but can you review the choking stuff.
doesn't seem to work here
using your fx-chain (t505)
15 will not choke 16
1 will choke 16 if set (and also if set to 15)
bobobo is offline   Reply With Quote
Old 07-20-2019, 10:12 AM   #31
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default

Thanks bobobo. Version 0.93 uploaded, choke instrument bug fixed.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster is offline   Reply With Quote
Old 07-20-2019, 10:38 AM   #32
bobobo
Human being with feelings
 
bobobo's Avatar
 
Join Date: Oct 2014
Posts: 1,356
Default

Thanks

a reaction like justin
bobobo is offline   Reply With Quote
Old 07-24-2019, 05:13 AM   #33
bobobo
Human being with feelings
 
bobobo's Avatar
 
Join Date: Oct 2014
Posts: 1,356
Default

my solution concerning pitch velocity concludes in using the multioutput
and a parametermodulated Pitch via ReaPitch (*) (on Semitones), modulated
via Audio with fast attack and an appropriate signalshape on the single
tracks.
ReaPitch introduce Latency .. to avoid that you can use the
JS:Pitch Shifter 2 (SuperPitch).
A parametermodulated adjust of st (tones) with correct windowsize and some tweaking in the parametermodulation leads to a decent loudnessdependant
pitchshifting if not exaggerated.
bobobo is offline   Reply With Quote
Old 08-20-2019, 07:41 PM   #34
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default Time Machine version 0.94

In the stash, version 0.94 has been updated to add new features. The FX is now geared more towards being a general sample player, without detracting from the original intent of it being used primarily for drum/ percussion samples. The terminology has changed so that the samples are now referred to as samples, rather than instruments.

New features include:

A "release' function. You can set a release time between 0 and 1 second. This works with the choke method, but now you can also use note-off messages to release (mute) the sample.

An "all" option for the choke sample. This allows samples to be played in a monophonic fashion, rather than polyphonically, if desired.

The number of sample slots can now be varied between 8, 16, 24 or 32. I have implemented the maximum JSFX memory space, so samples can now be longer than previously, although the actual sample length is dependant on the project sample rate and the number of samples chosen: sample length (seconds) = 31998000/(sample rate * number of sample slots).

Edit: I forgot to mention the new auto record function. Loading 32 samples individually can be fairly tedious, so I added an option to load multiple samples automatically. Just arrange the samples in order on a track a press record. There is a bit more to it than that. See the instructions in the first post of this thread.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth

Last edited by Time Waster; 08-20-2019 at 08:44 PM. Reason: Added note about auto record.
Time Waster is offline   Reply With Quote
Old 12-30-2019, 11:00 PM   #35
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
Default Time Machine version 0.95

Added dynamic memory management to reduce the footprint of the FX. Not perfect but it seems to work on initial testing. The FX now provides for up to 64 audio samples to be stored. Individual audio sample size is no longer restricted, but the total memory allocated to an FX is, so a memory usage indicator has been added.
__________________
Mal, aka The Wasters of Time
Mal's JSFX: ReaRack2 Modular Synth
Time Waster 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:46 AM.


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