Saturday, November 13, 2021

X32 edit PC Transport Control

 What the heck is that setting?

Tells the X32 to record on the USB port on the Behringer vs the LIVE card (if one is installed)

Friday, October 29, 2021

Insert an EQ into a bus on an x32

 Its easy.  Here is what they don't tell you, or what isn't really clear, especially if you are running a rack on X32 Mix.

FX1-4 are sidechain/insert  FX 5-8 are inserts

XMIX screen

So all you have to do is pick your 31 band eq, and put them into FX 5-8

Since each one is a dual 31 band, you set the BUS to which ever one you want to go to what EQ.

So in the above example, you'll see I have bus 1&2 going to FX slot 5 (insert) and they FX is selected (purple) to activate it.  Now bus 1 & 2 have a 31 band inserted.  You can EQ your wedges.

You'll see FX slot 6 has bus #4 going to it, an i have channel 5 with a 31 band inserted.

Tuesday, September 14, 2021

Origin missing MSVCP140.dll on Windows 10

 Origin not installing on Windows 10 with a missing MSVCP140.dll ?

This should fix you up.

Go to that MS site and download the X86 version of this "x86: vc_redist.x86.exe" 

Actually install both.

Install that and should be good to go.

Wednesday, July 21, 2021

CUSTOMIZATION of PTZoptics OBS controls

 CUSTOMIZATION of PTZoptics OBS controls

This post is about how to customize those same controls they offer to, perhaps, make them more conducive to your environment.

I found the majority of the buttons too big, or too much information being displayed for users that wasn't necessary.  Since most of their code is in HTML, you could make some modifications relatively easy.

Instead of one big controller, I wanted smaller ones to fit into my OBS screen.

Here's some additional things that might make your PTZoptics cameras in OBS a little easier to control.

You can see here I've modified just the HTML code that they provide for the buttons to alter them to fit within the UI view that I have.  This is to make it easier for operators and not to have to scroll around a large PTZ dispaly
I'm using these controls in conjunction with a plug-in called "Source Dock" Source Dock | OBS Forums ( to give me dedicated preview shots above the controls for that camera. 

The operator to can select tabs at the bottom of each camera view to make it easier to select a variety of preset positions, PTZ buttons 

You may notice that I've removed the "FOCUS" button from my PTZ control.  I also removed the "Auto Pan" feature as these are things we never use, so I prevent users from accessing them accidently.

I separated the preferences and preset assignments to a separate tab in OBS.  So these can be still fully accessible, but don't clutter up the normal day-day usage of the PTZ system.

This was all done by ONLY changing the HTML code provided by PTZ optics.  Was not hard at all and works perfectly.

Its easy to customize the's how you would change the code text name and the camera preset you want to have it activate when you click it.  You can alter this in NOTEPAD.  Make a backup of the file in case you make some HTML mistakes.

By default it looks kind of like this:

<a class="call_preset preset_button preset-1" data-preset="1" href="#preset-1">Button1</a>

Change "data-preset" and "#preset-1" to be the preset saved position you would have programmed into your camera.  In this case, the value is 1, but if preset position is 22, change these values both to "22"

Then "Button1" is the descriptive name you see in OBS.  Make it whatever you want, i think the max i 8 characters though

In the example below, I've made the first 3 buttons do presets 1-3,
however buttons 4-6 activate presets 10-12 and 7-9 do presets 13-15

<form role="form" class="form-horizontal">
<fieldset class="presets">
<div class="row">
<a class="call_preset preset_button preset-1" data-preset="1" href="#preset-1">Pulpit</a>
<a class="call_preset preset_button preset-2" data-preset="2" href="#preset-2">Communion Table</a>
<a class="call_preset preset_button preset-3" data-preset="3" href="#preset-3">Lecturn</a>
<div class="row">
<a class="call_preset preset_button preset-10" data-preset="10" href="#preset-10">Organ</a>
<a class="call_preset preset_button preset-11" data-preset="11" href="#preset-11">Stairs</a>
<a class="call_preset preset_button preset-12" data-preset="12" href="#preset-12">12</a>
<div class="row">
<a class="call_preset preset_button preset-13" data-preset="13" href="#preset-13">13</a>
<a class="call_preset preset_button preset-14" data-preset="14" href="#preset-14">14</a>
<a class="call_preset preset_button preset-15" data-preset="15" href="#preset-15">Control</a>

Here's a google drive link to some of these files to help give you some ideas perhaps.

Drop them into the appropriate "Camera X" folder(s) that is created when you extract the PTZOptics download, and then install them using this method :

You should know have some similar examples available in your OBS as is pictured above.

Wednesday, July 14, 2021

Control PTZ optics using their OBS "PTZOptics Open Source Control Software"

 This will let you control the PTZ optics camera using buttons that you can place inside your OBS Studio program.

First you want to download the PTZ optics package for their cameras to use with OBS

PTZOptics Open Source

This is the most recent version (as of July 14, 2021).  This one fixes a problem where you could only control 1 camera, despite claims that you could control 4 (or more)

Next, you unzip this file, and you can unzip it anywhere in your machine, doesn't need to be in the OBS folder.  Just put it in a spot where you aren't going to accidently delete it later on.

Once you unzip it, you'll have a folder like this:

Here's the whole process you should know.  The above example controls 4 cameras, you just use use a different folder for each camera you have.  You could have a whole bunch, just copy/paste the Camera "X" folder and give it a new name.  PTZOptics makes it very easy.


Go into the folder for a camera.  I'll use Camera 1 as example

You will see a few pre-built layouts

Lets pick "Medium Controller (6) Preset Images".  So, simply double click that file, and it will open in a web browser

Now select the entire URL location and copy it.  We are going to paste this into OBS, and obs will use this file location and file URL to display the image you see now into OBS.


You'll see this:

Give it a "DOCK NAME" of your choice, then in the "URL" window paste the URL you copied above

Then press "APPLY"

You should now see a window pop up with the title you put in "Dock Name"

Now click drag it an you can place it somewhere in OBS that you like.

Now click on "PREFERENCES" in the Camera window at the bottom

Now you can assign hotkeys 1-9 on your PTZOptics camera and by pressing one of these buttons 1-9, the camera will move.

Change the IP Address to be the IP of the camera you are trying to control, then press "RELOAD CAMERA"  (which means "save IP address"

Click on DONE to get out of this screen.

You may need to restart OBS after to reload the camera you want to control.  
Youll notice there are other functions that you have access to just in case.

Now in that same folder that you unzipped, you'll notice some other pre-built controls.  You can have them all in OBS if you want.  I like the one called "Small Controller".  This will let me move the camera around

Repeat the above steps by copy/pasting the file URL of the subseqent URL files you want to have in OBS.
I place the "Small Controller" window ontop of the camera window, and it creates a small tab at the bottom that lets me toggle back and forth between the preset view and the PTZ view.

Automatically move PTZoptics Camera OBS Studio based on scene

Have your PTZoptics camera move to a pre-programmed x/y/z location automatically

You can have your PTZoptics camera move to a preset position that you've stored automatically when you select a scene.  Basically, we will use the "BROWSER" function in OBS to send an HTML command to the specific camera, that is formatted to trigger one of the pre-stored positions.

First, save a preset location.  In this example, Position #25 has been saved.  I'm doing this through the GUI of the PTZoptics camera.  

Now, in OBS, lets create a scene

Now in "Sources" we'll create a new one

Select "BROWSER"

Give it a name and click OK

You'll see the following

In the "URL" section paste in the following code syntax, but with changes for your situation.


So as example, the camera I have uses IP and we are using saved position # 25 so my code would look like

Make sure you now check "Refresh browser when scene becomes active"

Then press "OK"

Now, add in the Camera input for the PTZoptics camera you are trying to control into the SOURCES window,  In my example the camera with IP of is on Input #4

Now when you select the scene, your camera will move to that preset position #25 automatically.

Sunday, July 11, 2021

Ping a range of IPs from a windows command prompt

Need a way to ping a range of IPs from a windows command prompt?  

This command will ping every ip from 1-255 in the subnet of 192.168.2.X

for /l %i in (1,1,255) do ping -w 20 -n 1 192.168.2.%i | find /i "Reply"

EXAMPLE:  This command will ping, and you'll notice that .1, .3, .4 and .8 return pings

C:>for /l %i in (1,1,255) do ping -w 20 -n 1 192.168.2.%i | find /i "Reply"

C:>ping -w 20 -n 1   | find /i "Reply"

Reply from bytes=32 time<1ms TTL=64

C:>ping -w 20 -n 1   | find /i "Reply"

C:>ping -w 20 -n 1   | find /i "Reply"

Reply from bytes=32 time<1ms TTL=64

C:>ping -w 20 -n 1   | find /i "Reply"

Reply from bytes=32 time<1ms TTL=64

C:>ping -w 20 -n 1   | find /i "Reply"

C:>ping -w 20 -n 1   | find /i "Reply"

C:>ping -w 20 -n 1   | find /i "Reply"

C:>ping -w 20 -n 1   | find /i "Reply"

Reply from bytes=32 time<1ms TTL=64

Here's how the command works:

for /l %i in (1,1,255) do ping -w 20 -n 1 192.168.2.%i | find /i "Reply"

Do a loop of pings from 1, counting up 1 each time, until you reach 255, while waiting for only 20 ms and for only 1 response on the specified network of 192.168.0.XXX.

To specify From A to B is in the (1,1,255) translates to (A,X,B)/  the W indicates how many milliseconds to wait for a response before you continue.  I keep it low, usually since i'm pinging on a local lan, but if you find results aren't accurate, turn up the rate to 100 (or eliminate the -w 20 alltogether to wait longer.

A= starting point  B= Ending point X= Increment value (normally would be 1)

Range 1-100:

for /l %i in (1,1,100) do ping -w 20 -n 1 192.168.2.%i | find /i "Reply" 

Range 100-200:

for /l %i in (100,1,200) do ping -w 20 -n 1 192.168.2.%i | find /i "Reply"

Range 1 to 200, but ping every second value

for /l %i in (1,2,200) do ping -w 20 -n 1 192.168.2.%i | find /i "Reply"