Jump to content

Send program changes from Logic to Bricasti M7


roughmonkey

Recommended Posts

I am trying to send program changes to a hardware Bricasti M7 unit from Logic. I use Reverb Foundry's M7 Link software plugin to select the reverb and control the parameters on the hardware. On an audio track in the automation I can see all the parameters listed but none for a program change, (see image attached). I don't know what the first parameter is "alg mode". I tried it but it didn't do anything. The other parameters all work.
Then on the same audio track I tried going to the Events list but I can't insert a program change here, I get an error message saying that you can't insert a midi event into a folder, (see image attached). I don't know what that means. Then I set up a midi external instrument track and can see a bunch of instruments that I can select but they are not Bricasti programs, see image. I inserted some midi notes into the track thinking that it would provide a note to connect the program change to but I don't know if that is correct or not. However, something is being sent to the Bricasti because each time a program change that I inserted comes along I can see the Tap button on the Bricasti hardware light up. 
Does anyone know if it is possible to send program changes to a Bricasti? 

Thanks,
Mike

Logic 10.7.6
M-audio Midisport Uno

321988718_PastedGraphic3.thumb.png.a2f383fc732a7abc7783cb1c0da25404.png

2032976752_PastedGraphic2.thumb.png.56054016e2d622b20c1d307163a6ad2b.png

1868646734_PastedGraphic.thumb.png.f9d46a12fb6f00e9a309d2e7bebc1030.png

 

 

Edited by des99
Mod edit: Fixed images
Link to comment
Share on other sites

3 hours ago, roughmonkey said:

On an audio track in the automation I can see all the parameters listed but none for a program change, (see image attached).

Program changes are MIDI messages you send out of Logic to MIDI devices, so they aren't related to automation parameters (which are parameters internal to Logic and plugins). So MIDI messages aren't expected to be in the list of plugin parameters a plugin exposes to Logic.

3 hours ago, roughmonkey said:

I don't know what the first parameter is "alg mode".

Algorithm Mode is a parameter of the Bricasti to choose different reverb algorithms in the reverb preset you are editing. It's not related to switching programs.

3 hours ago, roughmonkey said:

Then on the same audio track I tried going to the Events list but I can't insert a program change here, I get an error message saying that you can't insert a midi event into a folder, (see image attached).

In order to insert MIDI events into a region, you must create a region and be editing the contents of that region. In this case, you are not editing a region, but instead displaying the top level arrange page. This is why you are getting this error - and the error tells you what you need to do - "Please create a MIDI region."

3 hours ago, roughmonkey said:

Then I set up a midi external instrument track and can see a bunch of instruments that I can select but they are not Bricasti programs, see image.

Logic knows nothing about the memory contents of your hardware device, or what the names of the programs are. Neither does MIDI program change have anything to do with names. Normally, for instance, you send a Program Change of "1", and your device selects it's first program.

For convenience, Logic *can* attach names to program numbers in the display, which is a good memory jogger. By default the names it shows are MIDI GM Standard, but you can ignore these and just focus on the program change number. If you want, you *can* add your own names to this list, so you can choose a program by name. However, that's a bit advanced for now.

I've not used M7 Link, but I don't think you need to jump through the hoops you're doing to send program changes - the M7 Link plugin itself should be able to select programs on the hardware, as it has it's own MIDI out port setting it uses - and the state of the plugin in your project should recall the hardware to the desired state.

The manual in fact specifically says not to use other mechanisms to send MIDI to the M7:

Quote

Do not attempt to send MIDI to/from the plug-in using any host specific mechanisms, a direct connection managed by the plug-in is required.

So yes, you should be able to do everything from the control plugin, including recalling the reverb settings by name, which the plugin *does* know about:-

Quote

"For full program recall, parameter control, and comprehensive M7 system management for all major DAWs there’s never been a more attractive way to tightly integrate the world’s best hardware reverb into today’s complex studio workflows via the industry standard MIDI protocol.

Simply connect the MIDI input and output of your Bricasti M7 to a set of dedicated MIDI ports with a compatible MIDI device *, select the port with M7 Link, and then control the reverb as though it was a plug-in **."

If you're not sure, check the documentation for M7 Link again for how to recall programs, and if in doubt, drop support a line at LiquidSonics/Reverb Foundry - Matt (and Dave) are super nice and helpful guys and will help.

In the meantime, I'll fix your images - you don't need to add your images to a document and zip it, you just need to add images directly to the thread, then it's easy for everyone to see them...

Edited by des99
  • Like 2
Link to comment
Share on other sites

Hi Des,
Thank you for your response. Quite a bit for me to digest.
What I am trying to do is to change the program on the Bricasti, for example use a small space for the verses on a vocal audio track and a larger hall for the chorus. 
I do note that the other parameters listed in the automation lane for vocals on an audio track sent to the Bricasti do take effect. For example, I automated a really small pre-delay in the verse and then a very long pre-delay in the chorus. I can see (and hear) the parameter change on the Reverb Foundry interface. 
I also tried separating the vocal track into two tracks (verse and chorus) and loaded an instance of Reverb Foundry on each track. It didn't work. The Bricasti responds only to the last program that was selected whether on the verse or chorus track. 
I do have a direct connection to the computer from the Bricasti using an M-Audio Midi Sport Uno. Yes, I can change the programs on the Reverb Foundry interface. However, I can't figure out to automate a change of program. 
Thanks also for providing me with some contact names at Liquid Sonics. I will contact them.
Thanks too, for fixing the images. I took screenshots and saved them to TextEdit, then uploaded them. 
Mike

  • Like 1
Link to comment
Share on other sites

50 minutes ago, roughmonkey said:

What I am trying to do is to change the program on the Bricasti, for example use a small space for the verses on a vocal audio track and a larger hall for the chorus. 

I'm not familiar with the plugin so I don't know offhand what it supports. I'll check the manual to see what it says about this - bear with me.

Edit: It says nothing about this use case - switching FX on the fly during a song. My guess is that this is not done much on the pro environment, and it's possible the plugin doesn't support this (partly as the reverb tail will likely be cut off during a program change). And while you *can* switch presets by MIDI program changes from Logic, the manual is clear that if you make changes on the hardware, there is no way for the plugin to detect though changes, so things go "out of sync".

I would ask Reverb Foundry about this use case and see what they say... (and post back and let us know what they say about this, I'd be interested.)

50 minutes ago, roughmonkey said:

I do note that the other parameters listed in the automation lane for vocals on an audio track sent to the Bricasti do take effect. For example, I automated a really small pre-delay in the verse and then a very long pre-delay in the chorus. I can see (and hear) the parameter change on the Reverb Foundry interface. 

Yes, that's expected behaviour - you're essentially using automation to change the plugin parameters, which are sending out corresponding MIDI messages to edit the hardware unit.

50 minutes ago, roughmonkey said:

I also tried separating the vocal track into two tracks (verse and chorus) and loaded an instance of Reverb Foundry on each track. It didn't work.

Yes, there is only one hardware unit, so you should only have one plugin instance controlling that hardware.

 

Edited by des99
Link to comment
Share on other sites

  • 2 weeks later...

Hi Des,
I contacted Matt at Liquid Sonics. He sent me a video screen capture that seems to show the M7 Link software for the Bricasti making preset changes. The video was without sound but you could see the green automation line recording changes as the presets were changed. I then tried the same procedure myself but could not get the same result, no preset changes were recorded in automation. Both Matt and I agreed that we had reached the limit of our knowledge of Logic.
I tried attaching the video Matt sent me and the one that I made but even at 480p they were too large to upload.
I understand what you are saying about the reverb tails being cut off. I do notice that a preset change takes a few moments to register with the Bricasti. This would be a problem if the chorus follows the verse very closely in time. If there is a long enough vocal pause between verse and chorus then it might not be a problem. I'm sure about that though as I have not tried it.

Mike

 

Link to comment
Share on other sites

Let's sort through this a bit.

"Program Change" = "Preset Change" = switching complete settings on the M7 (which I have never laid hands on).

This is not an "automation parameter" per se but something you would insert as an event (in the event list). From your first posting it appears that you made it that far already.

Don't be thrown off by the strange names: Those are just the standard "General MIDI" names which of course won't correspond to the names in the M7. You can easily ignore those; focus just on the numbers (for now).

As you wrote you saw some reaction on the M7 (the Tap button lighting up). Why the M7 otherwise doesn't react is something we need to find out. There are various possible reasons: It expects a Bank Select command before; or Program Changes need to be enabled; or the MIDI channel isn't set correctly. I don't know how the plugin communicates with the M7 (controllers or SysEx).

But in general your setup and thinking is correct; we just need to figure out the finer details.

Edited by gacki
Link to comment
Share on other sites

42 minutes ago, roughmonkey said:

I then tried the same procedure myself but could not get the same result, no preset changes were recorded in automation. Both Matt and I agreed that we had reached the limit of our knowledge of Logic.

When you select a reverb program from the preset list in the plugin, does the M7 change to that preset?

If not, have you set the MIDI output port that the software uses to communicate with the M7.

Do edits to parameters in the plugin also change the correct parameters in the hardware?

16 minutes ago, gacki said:

This is not an "automation parameter" per se but something you would insert as an event (in the event list).

Yes, but in the case of this usage, the plugin developer recommends to *not* also communicate via MIDI to the M7 in addition to using the plugin because they get out of sync (ie, if you select a different preset via a MIDI program change, the plugin knows nothing about it, so will now display the wrong info). (Though this would be a workaround if the plugin won't work).

The plugin *should* send the correct program changes to the M7 when you recall a preset from the plugin's menu - so this needs to work first.

Edited by des99
Link to comment
Share on other sites

Hi Gecki and Des,
Thanks for the response to my latest post.
Yes, the M7 Link plugin works fine. When I select a different preset both the software and Bricasti read the same preset and the sound changes accordingly. This also happens when I try to automate the presets (with Write or Latch). I can see both the M7 Link and Bricasti change when I choose a new preset (and hear it too) but it does not get recorded to automation.
I can successfully automate the  parameters that are available on the M7 Link such as Reverb Time, Pre-delay, and so on. These are the parameters shown in the first image in my post from Feb 4. 
I understand now what you are saying about General Midi and the descriptive names. I tried the Events list and made changes there but the Bricasti did not respond to them, nothing happened. As you note Des, I could live with a work around for the M7 Link and Bricasti being out of sync. I was hoping to be able to automate the presets to be able to try out and preview different presets as the song moves along. 
Thanks,
Mike

Link to comment
Share on other sites

Looking through the MIDI implementation I find this:

Quote

The midi program change in this version will recall programs from the user registers only, mapped one to one. Midi program change 0 = M7 Register Bank 0 program 0 in the M7 and so on.

It might be that this was changed in an upgrade:

Quote

Midi Program Changes Midi Program Changes can be mapped to the Preset Programs by bank, User Registers, and Favorites. On the Midi Bank page, select between Preset Banks, User Registers or Favorites.

(This needs to be set accordingly.)

It is possible that the plugin contains all preset data and merely dumps them into the M7 when a new preset is selected.

Link to comment
Share on other sites

8 hours ago, roughmonkey said:

Yes, the M7 Link plugin works fine. When I select a different preset both the software and Bricasti read the same preset and the sound changes accordingly.

Ok great, so that's working as expected.

8 hours ago, roughmonkey said:

This also happens when I try to automate the presets (with Write or Latch). I can see both the M7 Link and Bricasti change when I choose a new preset (and hear it too) but it does not get recorded to automation.

Ok, what's happening here is probably expected behaviour. Plugins don't expose all their parameters to the host (Logic in this case) as automatable. Preset recall is traditionally something that isn't automatable (for various reasons), so when you place a channel strip into an automation write mode, and switch presets on the plugin, no automation will get recorded.

This means you can't use the plugin to automate preset recall in the way you want.

So, in order to achieve this, you'll need to use a workaround. As Gacki says above, we don't know whether the preset switching is happening by simple program changes, or whether it's doing a patch dump, so that's the next thing to check.

Grab a copy of Snoize's MIDI Monitor from https://www.snoize.com/midimonitor/

Use that to observe the MIDI traffic on the MIDI port the plugin is controlling the M7 on, and do a screenshot of that traffic and upload it here (specifically, the MIDI data that Logic/plugin is sending to the M7 when recalling a preset). This will tell us whether simple program changes are being used (and what the bank format is), or whether there is something less straightforward like system exclusive dumps etc.

This information will help us implement a workaround for you or a regular MIDI track to achieve dynamic switching.

Edited by des99
Link to comment
Share on other sites

Hi Des,
I downloaded Snoize. I launched Snoize then I tried to write automation with the M7 Link. I did get an error message from Snoize saying that some previous midi drivers might be interfering so I deleted them and did a restart as recommended by Snoize. Here is a screenshot of the Snoize after deleting old midi drivers and the restart of the computer:

image.thumb.png.a309d257c7692c30c1b560798ae2a152.png
 

You mentioned in your post about midi and system exclusive.

Below is what Matt at Liquid Sonics told me. I'm not sure if the dropbox video would still be available.

"A full preset change is enacted via automation by automating all of the parameters relevant to the preset. There is no concept of ‘program change’ in the parameter set as M7 does not have such a concept (Link communicates with SYSEX not MIDI program change). You can see an example here how this is achieved using the parameter change technique:"

https://www.dropbox.com/s/o953gmvhwj6d78i/Screen Recording 2023-02-06 at 09.27.30.mov?dl=0

Thanks,
Mike
P.S. Gacki, apologies for misspelling your name in a previous post of mine. 

 

Link to comment
Share on other sites

Ok, so the M7 doesn't support program changes, and preset recall is handled by sysex dumps.

So, we have a couple of options - either we can save the sysex dump for each patch onto a Logic track so that at the appropriate point, Logic sends a new dump to the M7 to update all parameters, or we can try it through automation.

I'm not familiar with the feature set, but it might be possible to use parameter automation if the plugin supports this. Recall a preset, put Logic into automation latch mode, move the playhead, then recall a different preset. Because the parameters have now changed, they *might* generate automation events, and thus parameter recall might be able to be done via automation...

You know what, I'll download the demo of the plugin and have a look at the behaviour, it's probably easier if I can fiddle with it for a bit...

Edit: Ok, yes, it does work. If you create/view automation lanes for the parameters you want that change between presets, position the playhead at the beginning, then recall a new preset, the parameters change and automation gets written as expected.

I found the plugin flaky with automation though, it stopped reading automation after a while: 

So while this would be the preferred way to do it, it seems like it doesn't work that well (unless I'm missing something). Might be worth giving that feedback to Matt.

Leaving the other alternative - capturing the sysex the plugin outputs when recalling presets, and playing that back from within Logic - probably the more reliable method (assuming no sysex handshakes are required)...

Given how the hardware M7 doesn't support program changes, you can really see that people do not generally use them like this - switching between settings at different points in a song - they would usually pick a single treatment for the entire mix, and use different reverb devices for different treatments. This is why achieving what you want seems rather more painful than it should be, generally.

Edited by des99
Link to comment
Share on other sites

According to the documentation the M7 might support program changes.

(I have to say that the MIDI implementation leaves a lot to be desired.)

I might be worth a shot connecting the M7 bidirectionally and again using Snoize's MIDI Monitor while doing the following:

https://www.bricasti.com/images/M7_V2_Manual_Addendum.pdf

Quote

Press and hold momentarily ENTER and the current Bank and Program will be sent to your receiving device.

This would give us an idea whether and how Bank Select is used.

Link to comment
Share on other sites

Hi Des and Gacki,
Thanks again for all the attention to this issue you are guiding me through. I appreciate it.
Des, the screen capture video you sent me is what Matt at Liquid Sonics was able to produce in the video he sent to me. I can't duplicate the same result. I can see all the automation lanes when I begin to automate but nothing gets written. All I see is "Volume" written for each automation lane. Here is a screenshot:

image.png.b4573a7fbe4579cff20cfc48b307517a.png

I can see all the different colours for the automation in the main track.

I did the Snoize thingy you suggested Gacki. Here is the screenshot:

image.thumb.png.b3f8ecb14b27b4dccfab1da627d39e66.png

I am including a screenshot of the Settings - Automation page:

image.thumb.png.06c0443e1a02532d30a5b38cbd966389.png

I agree with the idea that a single reverb treatment would be used for a song. I could achieve a similar effect of changing reverb preset by simply changing the values of the available parameters, such as increasing Size, Reverb Time, Pre-delay, and so on when the song hits the chorus for example. This whole thing started with the idea that I thought it would be interesting to try different reverbs over different sections of the song by using automation. As you note Des, pro studios probably have several Bricasti in their arsenal. I am fortunate to have the one as it is a brilliant piece of gear. 

Thanks,
Mike

Link to comment
Share on other sites

Is this music or a math problem?  The Seventh Heaven plug that Matt designed is pretty great!  Or Reverberate 3 is even less $ and has all of the M7 presets along with lots of editing possibilities.  I'd buy it and then do my automation with sends to two separate instances on Aux channels.  No clipping of the tails, and no headaches.  Life is too short to spend it this way!

My 2 cents.  Do yourself a favor, or not...

Steve

Link to comment
Share on other sites

9 hours ago, roughmonkey said:

All I see is "Volume" written for each automation lane.

That's because you're just "showing" the volume parameter for each of those lanes. You can choose the parameter you want each lane to show from the menu (ie, click on "Volume", and navigate to which parameter from which plugin you want to call up for display/editing).

The automation is still being recorded, you're just not viewing it.

However, given the automation read issue, it's probably not worth pursuing, anyway, unless automation read works for you.

Link to comment
Share on other sites

Hi Des, Gacki, and Steve,
Thanks for your posts.
Des, a rookie mistake on my part. Thanks for straightening that out. LPH is going to rescind my new rookie status and send me back to newbie! I tried automation again, this time choosing some parameters to view. But still no luck. I change a preset but no automation is written. Here is a screenshot:

image.thumb.png.3a5f856ac9f38fcf7cc552b9a819a082.png

Gacki, the midi channel is set to "1" in the Events List but no changes were sent to the Bricasti. I tried both the Omni and Ch 1 on the System page of the Bricasti hardware but no changes were sent. I am using the Midi Sport Uno. It is pretty much plug and play. When I use the M7 Link I insert it as a plugin and set the output to 3\4 on Logic which goes to my Apollo x8 which is using xlr cables to connect to the Bricasti.  The screenshot below is the popup when I ask the M7 Link software to show Midi System Status Report. I don't know if this is helpful or not. 

image.png.6438e38059c893f2c7812c2c01e13e17.png

Steve, thanks for the suggestions of Seventh Heaven and Reverberate 3. I will check those out. 

Many thanks,
Mike

Link to comment
Share on other sites

12 minutes ago, roughmonkey said:

LPH is going to rescind my new rookie status and send me back to newbie!

Ha! No worries! 🙂

12 minutes ago, roughmonkey said:

I tried automation again, this time choosing some parameters to view. But still no luck. I change a preset but no automation is written.

It definitely does work, but it's flaky, and like I say, although I could write automation on preset change, reading automation worked for a while then stopped working. Given how flaky this is, I'd probably give up going for this approach. It *should* work in theory, but the plugin doesn't seem to handle this very well.

Given how much time and effort you've expended trying to get this to work, and how much we've exhausted the options, I'd suggest to leave the M7 hardware set to one thing for a song, and use a different reverb for the other part. Or print the reverbs if you really want to use the M7 for both. I also have Seventh Heaven Pro and Reverberate and can recommend them.

Sorry this has given you such problems..!

Link to comment
Share on other sites

30 minutes ago, roughmonkey said:

Gacki, the midi channel is set to "1" in the Events List but no changes were sent to the Bricasti.

Have you set the MIDI port for the track accordingly (I can't do this myself because obviously my setup is different)? It needs to go to "M-Audio MIDISPORT Uno".

 

Link to comment
Share on other sites

Hi Des and Gacki,
Des, agreed, I will print the different sections of the song to the reverb preset I want for each section. That approach works just fine.
Gacki, the midi port is set to the Midisport Uno in the M7 Link software and the M7 Link is inserted as a plugin on the vocal audio track. Is that what you mean? Here is a screenshot.

image.png.59cd126d6215fa890081d985449ff5bd.png

I really appreciate the effort you both have put into trying to resolve this. It's been a learning experience for me. As you note Des, these softwares and digital communications can sometimes be quite quirky and flaky. 

Best regards,
Mike

  • Like 1
Link to comment
Share on other sites

10 minutes ago, roughmonkey said:

Gacki, the midi port is set to the Midisport Uno in the M7 Link software and the M7 Link is inserted as a plugin on the vocal audio track. Is that what you mean?

That is definitely not what I meant.

The song I attached contains a MIDI track for an external MIDI instrument (or more generally MIDI device). If you open that song, set the MIDI port for that particular track to the proper MIDI port and then play back the song it should in theory switch between settings. It's merely a "proof of concept" thing from which we then can move further once we have established that the M7 actually reacts to a certain combination of Bank Select and Program Change.

This is what needs to be set:

Bildschirmfoto2023-02-27um20_41_18.jpg.f79890f4de9c6ea131b02c6d1001733c.jpg

  • Like 1
Link to comment
Share on other sites

Hi Gacki,
Oh, I see what you mean. The I/O ports were off. I set them to the Midisport Uno. The Uno is the only midi interface I have connected to the iMac. I can see the changes take place as the Events list scrolls down. See the Honkey Tonk piano in the screenshot. But the Bricasti did not react to these settings. The readout on the Bricasti display stayed the same. 

image.thumb.png.54fa302b75b38b64b0377a21dd49fc43.png

Thanks,
Mike

Link to comment
Share on other sites

OK, so we know that this doesn't work.

Let's try something else instead.

We use the same song and the track settings you already made.

Mute the track (so we don't get any weird situations).

Delete the existing MIDI region with the current (non-working) Program Changes.

Record a new region while selecting a couple of different presets on the M7; this should result in a similar region with Bank Select and Program Change commands.

Unmute the track and play back the newly recorded region. Does that change the presets on the M7?

 

Link to comment
Share on other sites

Just now, gacki said:

Record a new region while selecting a couple of different presets on the M7; this should result in a similar region with Bank Select and Program Change commands.

Note - Mike would need to make sure the Bricasti is connected to the MIDI interface by both MIDI In and Out for this to work - it's possible he only has the MIDI In on the M7 connected at present (to receive MIDI).

Link to comment
Share on other sites

Hi Des and Gacki,
Yes, I have both the in and out of the Midisport Uno connected to the Bricasti.
So I created a new midi track and created a region (with Studio Horns). I had to create a new track as the project you sent me Gacki does have any way to insert the M7 Link. Here is a screenshot of the fader track.

image.thumb.png.8a41b89391c406a954197f8b6d7cec42.png

For some reason in this project I can't select the track header components as I do in my other projects. See screenshot.

image.thumb.png.3082bfb2af1a31967d037cd5d5d0d4d5.png

On the new track I created where the M7 Link is inserted I could not get the automation to work (I used Latch). Here is the screenshot.

image.thumb.png.f957b4bfed02b1a189ce465185017967.png

But in my project on the vocal track the inspector does not have options to select midi ports. Here is the screenshot.

image.thumb.png.f839882f1ef4e900250254b5a572ad8a.png

Thanks,
Mike

Link to comment
Share on other sites

5 minutes ago, roughmonkey said:

So I created a new midi track and created a region (with Studio Horns). I had to create a new track as the project you sent me Gacki does have any way to insert the M7 Link.

 

We don't want to use the M7 link right now. Let's keep this purely on the MIDI communication level to figure out what works and what doesn't. Don't create any additional tracks - I want everything as bare-bones as possible for now. Treat the M7 like a "dumb" MIDI device and Logic like a MIDI sequencer.

Link to comment
Share on other sites

Hi Gacki,
I misunderstood. I thought "M7" meant use the Link software.
Now I set up the project you sent me like this. Is this correct?

image.thumb.png.aa643b37d1bd26fb06dd87a37f64497b.png

I tried it both as a recording (hitting the Record Button on Logic) and without Record enabled. I don't know if that would make a difference.
I changed several presets on the M7 (hardware) but did not see any changes during playback. The hardware stayed on the last preset that I chose. On the M7 hardware you turn a large dial that cycles through the various presets and then press enter to select a preset, so I did that.

Thanks,
Mike

Link to comment
Share on other sites

The setup looks fine (although we don't want to use automation right now - but this shouldn't be a problem regardless).

So if you record for example 8 or 16 bars and during that time change presets on the hardware M7 it should in theory record those Program Changes (and Bank Select controllers) onto that track and hence a new MIDI region containing them should appear (similar to the one from my "Test M7" song).

Basically we're trying to do the same as you already did with Snoize's "MIDI Monitor" but this time in Logic alone.

Just to be clear: Does this happen or not? Does a new region show up?

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...