Assigning MIDI channels to specific rack instruments

This forum is for discussing Reason. Questions, answers, ideas, and opinions... all apply.
DonnieAlan
Posts: 271
Joined: 25 Jan 2017

05 Mar 2018

Well, I thought this would be simple, but after spending the last two hours going through the manual and also looking at some online videos, I still can't find the answer. How do you assign a specific rack instrument to respond to a specific MIDI channel to be played off an external controller? I thought I could use the advanced MIDI assignments in the Master section, but that doesn't seem to work. I'm clearly not understanding how this works.

What I want to do is set up 4 or 5 rack instruments, each responding to its own specified MIDI channel, so instrument one is MIDI 1, and instrument 2 MIDI 2 etc. Then, if I tell my controller to output to MIDI channel 3, let's say, it will only play whatever rack instrument is set to MIDI 3 and so on.

But I simply can't see how to do this because I can't see where or how you assign a specific MIDI channel to a specific rack instrument.

Can this be done? Thanks

User avatar
Carly(Poohbear)
Competition Winner
Posts: 2871
Joined: 25 Jan 2015
Location: UK

05 Mar 2018

Here you go :)





PoohBear

-------------------------------------------------------------------------------------------------------
Recent Music made with Reason
(Electronic) Poly Madness
(Electronic) Solar Dance
(Electronic) Into The Night
(Upbeat) The Players Took Me There Made in Reason 9 with heavy use of the players
(Electronic) 5 Steps (Video added) Updated
------------------------------------------------------------------------------------------
My Soundcloud Page ....... Nektar Mappings
------------------------------------------------------------------------------------------

Sterioevo
Posts: 407
Joined: 02 Apr 2015

05 Mar 2018

You need to select the midi driver for your controller in the External Control section on the Sync page in the Preferences. You then need to select the devices relating to the midi channels in the Advanced Midi on the Hardware Interface in the rack.

DonnieAlan
Posts: 271
Joined: 25 Jan 2017

05 Mar 2018

Sterioevo wrote:
05 Mar 2018
You need to select the midi driver for your controller in the External Control section on the Sync page in the Preferences. You then need to select the devices relating to the midi channels in the Advanced Midi on the Hardware Interface in the rack.
Yes, I did all that already. But, you still can't have one instrument per midi channel. The MIDI channels merge. Its a fault of Reason itself.

DonnieAlan
Posts: 271
Joined: 25 Jan 2017

05 Mar 2018

Carly(Poohbear) wrote:
05 Mar 2018
Here you go :)

Carly - Thanks for the video. I get what needs to be done. Notice that the only way to actually do this is by adding additional 3rd party software (ie, MIDI Loop, MIDI Ox, or the Codec). That's a real flaw in Reason itself. I mean, virtually every MIDI device on the planet allows you to specify an incoming MIDI channel. That's true for virtually all VI's and DAWs I'm aware of. Right now, Reason doesn't really have the ability to do that in an easy way.

Why not have a MIDI button on any rack device that says "Incoming MIDI Channel ___" and you just put in what channel you want it to be. It can't be that hard to pull off. I've suggested this to the P -heads prior to this, as well as suggesting they add MIDI in/out ports on the back of the rack and allow you to route MIDI cables the same way you can audio so you can have MIDI signals flowing in/out however you wish. Imagine that with, say, the play devices where you can route the MIDI outputs to various VI's in the rack. Want want player to control several VI's? No problem, just have a MIDI splitter like the Audio splitters we have now. I'm hoping to see something like this in the near future. Perhaps Reason 10.5?

User avatar
Carly(Poohbear)
Competition Winner
Posts: 2871
Joined: 25 Jan 2015
Location: UK

05 Mar 2018

DonnieAlan wrote:
05 Mar 2018
Carly(Poohbear) wrote:
05 Mar 2018
Here you go :)

Carly - Thanks for the video. I get what needs to be done. Notice that the only way to actually do this is by adding additional 3rd party software (ie, MIDI Loop, MIDI Ox, or the Codec). That's a real flaw in Reason itself. I mean, virtually every MIDI device on the planet allows you to specify an incoming MIDI channel. That's true for virtually all VI's and DAWs I'm aware of. Right now, Reason doesn't really have the ability to do that in an easy way.

Why not have a MIDI button on any rack device that says "Incoming MIDI Channel ___" and you just put in what channel you want it to be. It can't be that hard to pull off. I've suggested this to the P -heads prior to this, as well as suggesting they add MIDI in/out ports on the back of the rack and allow you to route MIDI cables the same way you can audio so you can have MIDI signals flowing in/out however you wish. Imagine that with, say, the play devices where you can route the MIDI outputs to various VI's in the rack. Want want player to control several VI's? No problem, just have a MIDI splitter like the Audio splitters we have now. I'm hoping to see something like this in the near future. Perhaps Reason 10.5?
I get where you are coming from however I would say this would not happen as I believe it would be re-write of Reason it self (one does hope they have started a rewrite of their core code a couple of years ago so it would be ready soon... dreaming away there LOL)
the codec is just a mapping so I don't quite see that as 3rd party but as I said I do understand. The solution I provided is a workaround to get you going now.

I did note you comment that by using advanced midi "you still can't have one instrument per midi channel.", I don't understand this as you can so maybe you mean something else. I don't like using the advanced midi as you cannot record from it.

User avatar
QVprod
Moderator
Posts: 3488
Joined: 15 Jan 2015
Contact:

05 Mar 2018

DonnieAlan wrote:
05 Mar 2018


Carly - Thanks for the video. I get what needs to be done. Notice that the only way to actually do this is by adding additional 3rd party software (ie, MIDI Loop, MIDI Ox, or the Codec). That's a real flaw in Reason itself. I mean, virtually every MIDI device on the planet allows you to specify an incoming MIDI channel. That's true for virtually all VI's and DAWs I'm aware of. Right now, Reason doesn't really have the ability to do that in an easy way.
Carly briefly mentions this in the video, but triggering a specific instrument by midi channel is exactly what the Advanced midi is for.

From the manual
! Do NOT use the Advanced MIDI Device if you are only going to use Reason’s internal sequencer for recording and playback!

This is opened by clicking the “ADVANCED MIDI” button on the Hardware Interface panel. The Advanced MIDI device is only used if you are controlling Reason from an external sequencer, using the External Control Bus inputs. Normally, you send MIDI to a track via the sequencer, by selecting the sequencer track.
You can select MIDI ports for up to four External Control Busses (on the Sync page in Preferences). Each bus can host 16 MIDI channels, for a total of up to 64 MIDI input channels. The Advanced MIDI Device is where you can route each MIDI channel to a specific device in the Reason rack:

1. Select one of the External Control Busses by clicking the corresponding Bus Select button at the top of the Ad- vanced MIDI device.

2. Pull down the device pop-up menu for a MIDI channel and select a device.
The menu lists all devices in the current song.
Now, incoming MIDI data on the selected bus and MIDI channel is sent directly to the selected device, bypassing the Reason sequencer. The name of the device is shown in the name field for that MIDI particular channel.

3. Try sending MIDI notes from the external sequencer, on the selected bus and MIDI channel.
The indicator below the channel's name field should light up.
See also “Advanced MIDI - The External Control Bus inputs” in the Advanced MIDI and Synchronization chapter.
If you're hearing more than one instrument at a time, it's because your controller is set up as a control surface in Reason causing you to send midi twice. Uncheck 'Use with Reason' under Control Surfaces in the Preferences.

DonnieAlan
Posts: 271
Joined: 25 Jan 2017

05 Mar 2018

Carly(Poohbear) wrote:
05 Mar 2018

I get where you are coming from however I would say this would not happen as I believe it would be re-write of Reason it self (one does hope they have started a rewrite of their core code a couple of years ago so it would be ready soon... dreaming away there LOL)
the codec is just a mapping so I don't quite see that as 3rd party but as I said I do understand. The solution I provided is a workaround to get you going now.

I did note you comment that by using advanced midi "you still can't have one instrument per midi channel.", I don't understand this as you can so maybe you mean something else. I don't like using the advanced midi as you cannot record from it.
On the MIDI application I mentioned...I got a reply from the P-heads on that suggestion a while back asking me for a bit more info on what I envision. I got the impression its under serious consideration, if not in development now. We'll see...

What I mean by one instrument per channel is this:
When I use the advanced MIDI (and I get you can't record from it, but that's not what I need to do anyways) to assign a specific rack instrument to a specific MIDI channel, I still have more than one instrument playing.

Example. Just today I set up 3 instruments in the rack. 1 combinator, and 2 Thors, each with their own patches. I used advanced MIDI and had MIDI one for the Combinator IN, and MIDI 2 & 3 for the Thors, respectively. However, even if I switch the MIDI out channel on my controller (I'm using the Yamaha Motif XS8 as my main controller), from MIDI ch 1 to ch 2, It still plays 1 AND 2., or 1 &3. OR, if I've selected say track 3 on the sequencer, but have MIDI ch 1 out on the Motif, I get tracks 1 & 3....and so forth. I can't find ANY way to just have one track play per MIDI channel OTHER than ch 1. I just don't get the MIDI implementation in Reason. It makes no sense, and it certainly is way different than anything else I've ever used in MIDI, and I've been doing this a very long time...since at least the early 80's. I've never seen a more confusing MIDI implementation than what I see in Reason.

And, as you've pointed out, you can't record off the Advanced MIDI assignments, which is just unbelievable to me in 2018! Surely someone at P-heads knows that many users use Reason in live performance and may want to have multiple MIDI inputs controlling multiple instruments. To have to go through all the steps as outlined in the video to accomplish that is, to my mind, inexcusable. It can't be that hard to have a MIDI input channel select option for each instrument in the rack. Virtually every VI I use that is multitambral allows you to select the MIDI input channel for an external source to play it. It doesn't matter if the source is a MIDI track on the DAW or an external MIDI device playing the part. I can't think of single VI with MIDI input capability that doesn't work like that.

DonnieAlan
Posts: 271
Joined: 25 Jan 2017

05 Mar 2018

QVprod wrote:
05 Mar 2018
This is opened by clicking the “ADVANCED MIDI” button on the Hardware Interface panel. The Advanced MIDI device is only used if you are controlling Reason from an external sequencer, using the External Control Bus inputs. Normally, you send MIDI to a track via the sequencer, by selecting the sequencer track.
You can select MIDI ports for up to four External Control Busses (on the Sync page in Preferences). Each bus can host 16 MIDI channels, for a total of up to 64 MIDI input channels. The Advanced MIDI Device is where you can route each MIDI channel to a specific device in the Reason rack:
Thank you, i do understand how this is set up and this is exactly what I did.
QVprod wrote:
05 Mar 2018

If you're hearing more than one instrument at a time, it's because your controller is set up as a control surface in Reason causing you to send midi twice. Uncheck 'Use with Reason' under Control Surfaces in the Preferences.
Maybe this is where I'm confused. If I deselect my keyboard as the control surface, then nothing plays. I'm clearly missing a crucial step in here somewhere that isn't obvious.

What I WANT to be able to do is have as many instrument in the rack as I might need for a set. Assign each of these to whatever MIDI ch input I need them on, and then just be able to switch from one rack VI to another by simply changing the MIDI output ch on the keyboard. That's all I want to do. And this is all for live performance. Clearly I'm missing some important step in setting this up. I've not used Reason in live set up before, always for recording, and usually in slave mode inside Pro Tools, which is my main DAW. I have been able to use LoopMIDI to send MIDI to Reason standalone from Pro Tools when I want to use VST patches hosted in Reason, and for that I use the Advance MIDI to specify the appropriate MIDI ch for the part, which is being played on a MIDI track in Pro Tools, over to Reason via LoopMIDI. I can send the audio back to Pro Tools to record it if I wish. (with a slight latency, which I can easily compensate for). So I just assumed I could do the exact same thing, only have the MIDI parts played live off my keyboard.

User avatar
QVprod
Moderator
Posts: 3488
Joined: 15 Jan 2015
Contact:

05 Mar 2018

DonnieAlan wrote:
05 Mar 2018
Maybe this is where I'm confused. If I deselect my keyboard as the control surface, then nothing plays. I'm clearly missing a crucial step in here somewhere that isn't obvious.

... I have been able to use LoopMIDI to send MIDI to Reason standalone from Pro Tools when I want to use VST patches hosted in Reason, and for that I use the Advance MIDI to specify the appropriate MIDI ch for the part, which is being played on a MIDI track in Pro Tools, over to Reason via LoopMIDI. I can send the audio back to Pro Tools to record it if I wish. (with a slight latency, which I can easily compensate for). So I just assumed I could do the exact same thing, only have the MIDI parts played live off my keyboard.
You can do the same exact thing with a keyboard. You're definitely missing a step. You have to set your controller to one of the External Control Busses (A, B, C, or D) under Sync in Preferences. Only then will you be able to trigger the instruments from advanced midi. (Ignore the midi clock setting in the image)

Image

James Benard walks through it briefly the in the video below. He's specifically talking about keyboard splits but its the same exact process.


botnotbot
Posts: 290
Joined: 26 Oct 2017

06 Mar 2018

DonnieAlan wrote:
05 Mar 2018
Carly(Poohbear) wrote:
05 Mar 2018
Here you go :)

Carly - Thanks for the video. I get what needs to be done. Notice that the only way to actually do this is by adding additional 3rd party software (ie, MIDI Loop, MIDI Ox, or the Codec). That's a real flaw in Reason itself. I mean, virtually every MIDI device on the planet allows you to specify an incoming MIDI channel. That's true for virtually all VI's and DAWs I'm aware of. Right now, Reason doesn't really have the ability to do that in an easy way.
While I agree that Reason could really use this functionality, I want to point out that I've encountered weird MIDI limitations in most DAWs. For example, Logic allows a maximum of 16 total channels. You can use more than one device, but never more than 16 channels across those devices. You can gewt around this by using their environment to route a controller directly to a track, but then you cannot record the MIDI.

Or Bitwig, which is brand new, which also doesn't allow you to specify precise channels going into a track. You can do it with third party scripts but even then, the channel information disappears in the MIDI clip so if you were relying on driving something on that specific channel it won't work.

I could go on but my compl;aints for other DAWs are more minor and MPE related, however still present.

I think MIDI routing in the rack is literally around the corner, though, and I expect it to arrive with SDK 3.0. Every rack device has a tiny little section reserved on the back panel and as far as I can tell its no secret that MIDI ports are expected eventually appear there.

User avatar
Carly(Poohbear)
Competition Winner
Posts: 2871
Joined: 25 Jan 2015
Location: UK

06 Mar 2018

I do want to re-state that I personally see Advanced Midi as a legacy part of Reason after they introduced Control Surfaces (Remote mappings).

The fact that you can write your own mappings for your own keyboard is a big plus, just a shame they have not made it easier for people to do.

Nektar have introduced a new grab functionally (you move a couple of knobs or sliders on your RE and then just move the same amount of knobs on your Nektar P series controller and it's mapped), this would be great for PH to make this standard but the real important missing element of it is being able to save those grabs (but at least it's a start).

I would also like to see PH implement midi Loopback inside of Reason.

Also note in the video I did create one extra device (the Thor) this was done so no other surface controllers were on the devices I was controlling from my external devices and of course in my case if the Thor and the one of the other RE did play at the same time, like QVprod pointed out, I must have things mapped more than once. So I would either do Advanced midi or the Control Surface, don't mix them up...

Final note: When you plug in 2 keyboards (or any 2 midi devices) together (nothing to do with Reason here) you end up having to config them in some way, even if it's just changing the patches, I don't see having to configure things in Reason being any different, once you know how it's very quick and simple so it's worth learning..

DonnieAlan
Posts: 271
Joined: 25 Jan 2017

06 Mar 2018

QVprod wrote:
05 Mar 2018

You can do the same exact thing with a keyboard. You're definitely missing a step. You have to set your controller to one of the External Control Busses (A, B, C, or D) under Sync in Preferences. Only then will you be able to trigger the instruments from advanced midi. (Ignore the midi clock setting in the image)
Thank you. I see that now and set it up and, yes, it does do what I need it to do. Thank you all so much for pointing me in the right direction. The manual didn't make it really clear that you need to turn OFF the control surface to do this. Or perhaps I just missed that sentence. In any case, I get how its supposed to work now. This will allow me to just create a Reason rack with whatever I'll need for a given set, assign the midi where I want it, and then just bring up each VI individually by merely changing the MIDI out on the main keyboard as I play. Just what I needed to be able to do. Thanks! :thumbs_up:

DonnieAlan
Posts: 271
Joined: 25 Jan 2017

06 Mar 2018

Carly(Poohbear) wrote:
06 Mar 2018

I would also like to see PH implement midi Loopback inside of Reason.
Plus 1000!!!

As I said before, I'd love to have the ability to route MIDI from/to whatever I want. Imagine 2 MIDI out ports on the back of Dual Arp. Send Arp 1 to one VI and Arp 2 to another. Or, send to a MIDI splitter and have the MIDI go to 3 or 4 VI's. You can get some pretty nuanced evolving patches in Combinator that way for sure.

Anyway, I'm hoping that we'll see more sophisticated MIDI routings with future versions of Reason. Now that they have VST hosting, Reason is, in some ways, the most powerful VI in the world because in effect it can be ALL Vis. Its the Combinator that makes the difference. There's no device that makes combining and layering several VIs to create one massive patch easier. The closest I've seen is Blue Cat's Patchwork. However, by having the cabling on the back of the rack, Combinator stands apart. With that kind of flexibility and power, adding more MIDI flexibility would be the icing on the cake!

DonnieAlan
Posts: 271
Joined: 25 Jan 2017

06 Mar 2018

Oh, and the other thing I've requested the P-heads to do is make it so VST hosting is available with Reason in slave mode. I don't use Reason as a DAW, but as an instrument(s) hosted in Pro Tools, as do many, many others. I don't get the restriction of not allowing VST hosting with Reason in slave mode.

User avatar
QVprod
Moderator
Posts: 3488
Joined: 15 Jan 2015
Contact:

06 Mar 2018

Carly(Poohbear) wrote:
06 Mar 2018
I do want to re-state that I personally see Advanced Midi as a legacy part of Reason after they introduced Control Surfaces (Remote mappings).
It's not that it's legacy midi. It's intended for use in external sequencers using Reason purely as a sound source same way one would use a sound module. Remote isn't useful in that regard. If one wanted to use Reason alongside Bitwig, (or any other DAW and not use Rewire) that would the way to go about it. I would agree though that some new midi options would be cool.
DonnieAlan wrote:
06 Mar 2018
Thank you. I see that now and set it up and, yes, it does do what I need it to do. Thank you all so much for pointing me in the right direction. The manual didn't make it really clear that you need to turn OFF the control surface to do this. Or perhaps I just missed that sentence. In any case, I get how its supposed to work now. This will allow me to just create a Reason rack with whatever I'll need for a given set, assign the midi where I want it, and then just bring up each VI individually by merely changing the MIDI out on the main keyboard as I play. Just what I needed to be able to do. Thanks! :thumbs_up:
You're welcome. The sentence is in there under in the Advance Midi section, but I've never read it before helping you either :lol: . Most of us don't read the entire manual. I figured it out when I used to use Rewire since you'll have the same issue with a control surface enabled. It's an easy step to miss.

User avatar
theshoemaker
Posts: 595
Joined: 21 Nov 2015
Location: Germany
Contact:

06 Mar 2018

You can use koshdukais generic midi approach to lock a device to a midi channel. Doing that quite often. Works like a charm.

https://koshdukaimusicreason.blogspot.d ... emote.html

I'm also using the same approach with my custom "python scripting remote codec", where I autogenerate mappings for devices given by the feature introduced in Reason "Export Device Remote Info ...", where I remote control devices by executing python code. This way I can control 16 devicea at the same time, one per midi channel.

Another approach I'm looking into is developing a custom ReWire host, because I believe I have more fine grained control over midi controlling the device, but I didn't startet yet. So one approach might also be to ReWire and host reason from another DAW ... but I don't have any experience with this yet.

EDIT: The problem is: Most midi controller's won't work like this, so If you can use the koshdukais generic midi controller with your external controller, this will work.
:PUF_figure: latest :reason: V12 on MacOS Ventura

User avatar
Carly(Poohbear)
Competition Winner
Posts: 2871
Joined: 25 Jan 2015
Location: UK

06 Mar 2018

theshoemaker wrote:
06 Mar 2018
You can use koshdukais generic midi approach to lock a device to a midi channel. Doing that quite often. Works like a charm.

https://koshdukaimusicreason.blogspot.d ... emote.html
Note I cover that codec in the video near the top of this post.. :)

Something I use a lot myself....

User avatar
demt
Posts: 1357
Joined: 16 Sep 2016
Contact:

06 Mar 2018

mute buttons?
Reason 12 ,gear4 music sdp3 stage piano .nektar gxp 88,behringer umc1800 .line6 spider4 30
hear scince reason 2.5

User avatar
theshoemaker
Posts: 595
Joined: 21 Nov 2015
Location: Germany
Contact:

06 Mar 2018

Carly(Poohbear) wrote:
06 Mar 2018
theshoemaker wrote:
06 Mar 2018
You can use koshdukais generic midi approach to lock a device to a midi channel. Doing that quite often. Works like a charm.

https://koshdukaimusicreason.blogspot.d ... emote.html
Note I cover that codec in the video near the top of this post.. :)

Something I use a lot myself....
Didn't watch the video ... sorry :)
:PUF_figure: latest :reason: V12 on MacOS Ventura

DonnieAlan
Posts: 271
Joined: 25 Jan 2017

06 Mar 2018

QVprod wrote:
06 Mar 2018

You're welcome. The sentence is in there under in the Advance Midi section, but I've never read it before helping you either :lol: . Most of us don't read the entire manual. I figured it out when I used to use Rewire since you'll have the same issue with a control surface enabled. It's an easy step to miss.
Yeah, the manuals are for reference, and I've never found one yet that was easy to search for exactly what you're trying to find. If you don't use the exact right words you come up with bupkis.

In any case, it all works great now. I just stopped by my church and set it all up using their Yamaha MOXF 8 as my ASIO interface. Worked perfectly.
Of course, that doesn't mean on any given Sunday something will glitch!!! :roll:

But, now I can design sounds here at home at my leisure and then just copy what I want from my studio rig to my laptop for using there. And all I have to do is change MIDI channels to go from one sound (by "sound" I mean some Combinator set up, usually) to the next, seamlessly.

SO again, I'm truly grateful for the assistance. I do have a couple other questions, but I'll start a new thread on those, since its a different topic.

Matt van K
Posts: 44
Joined: 17 May 2018

29 Jun 2018

Hello,

I´m not sure if i don´t read the answer between the lines but is it possible to focus a Instrument with CC?
As you know i must select the Instrument with a mouse click...

User avatar
Carly(Poohbear)
Competition Winner
Posts: 2871
Joined: 25 Jan 2015
Location: UK

29 Jun 2018

Matt van K wrote:
29 Jun 2018
Hello,

I´m not sure if i don´t read the answer between the lines but is it possible to focus a Instrument with CC?
As you know i must select the Instrument with a mouse click...
Yes and No, the straight answer to your question is No.

However there are options under the Additional Overrides for Target Previous Track\Target Next Tack.

So you can not just target a device with a CC however you can move from one track to the next.


PoohBear

----------------------------------------------------------------------------------------------------------
T&T's viewtopic.php?f=5&t=7503909
My Youtube channel https://www.youtube.com/channel/UCqCNsA ... p4cQF4j-8A
----------------------------------------------------------------------------------------------------------
My Soundcloud Page ....... Nektar Mappings
----------------------------------------------------------------------------------------------------------

User avatar
Boombastix
Competition Winner
Posts: 1929
Joined: 18 May 2018
Location: Bay Area, CA

24 Sep 2018

Carly(Poohbear) wrote:
05 Mar 2018
Here you go :)

PoohBear
This is excellent - and should be a sticky post.
By the way the forum search feature seems broken, since my search term "midi" did not find this, but I found it from Google search...
10% off at Waves with link: https://www.waves.com/r/6gh2b0
Disclaimer - I get 10% as well.

User avatar
Carly(Poohbear)
Competition Winner
Posts: 2871
Joined: 25 Jan 2015
Location: UK

25 Sep 2018

Boombastix wrote:
24 Sep 2018
Carly(Poohbear) wrote:
05 Mar 2018
Here you go :)

PoohBear
This is excellent - and should be a sticky post.
By the way the forum search feature seems broken, since my search term "midi" did not find this, but I found it from Google search...
I'm glad you have found it useful. Also nice to know it has popped up on a Google search :)


PoohBear

----------------------------------------------------------------------------------------------------------
Tips & Tutorial's viewtopic.php?f=5&t=7503909
PoohBears Reason Channel https://www.youtube.com/channel/UCqCNsA ... p4cQF4j-8A
----------------------------------------------------------------------------------------------------------
My Soundcloud Page ....... Nektar Mappings
----------------------------------------------------------------------------------------------------------

Post Reply
  • Information
  • Who is online

    Users browsing this forum: Ahrefs [Bot] and 30 guests