08 ‐ Troubleshooting - FunkybotsEvilTwin/CSIUserGuide GitHub Wiki
Troubleshooting Common CSI Problems
This troubleshooting guide provides solutions to common issues encountered when using the Control Surface Integrator (CSI) with Reaper. Whether you're setting up for the first time or encountering unexpected behavior, the following steps can help resolve your problem efficiently.
Table of Contents
- CSI Doesn't Appear in the Dropdown in Reaper's Preferences -> Control/OSC/Web
- I Can't Find Surface Files for My MIDI Device
- My Device Is Set Up in CSI But Isn't Being Recognized
- Not All Tracks Showing on the Surface
- Some of the New CSI Features Are Not Working
- I'm Seeing Strange Behavior With Button Lights on My Surface
- I Made a Change to My Zones But CSI Isn't Reflecting That
- CSI Crashes
- My iPad/iPhone/Tablet is Dropping OSC Messages (i.e. Labels Can Linger on Displays)
- Report a Potential Bug
- Other Troubleshooting Tips
- Something I Saw on This Wiki Isn't Accurate or Isn't Working
CSI Doesn't Appear in the Dropdown in Reaper's Preferences -> Control/OSC/Web
If you're not seeing CSI in the dropdown when you go to add a surface in Reaper...
- Make sure the .dll or .dylib is installed in your Reaper resource path's "UserPlugins" folder
- Are you running an older Reaper build? Try updating to the latest version.
- Mac Users: the minimum version of MacOS supported is 10.15 (Catalina). Apple Silicon is natively supported.
- Windows Users: the Microsoft Visual C++ 2005 runtime is required. You may already have this installed on your system, but if you successfully install CSI and do not see the CSI option in Reaper's control surface preferences you will need to download and install the Microsoft Visual C++ 2005 Redistributable Package.
If none of these apply to your situation and you're still having trouble, please post in the the main CSI thread in the Reaper Control Surface's sub-forum.
I can't find surface files for my MIDI device
First, check the CSI Support Files to check if your device is one of the included files. The CSI support files can be found here.
If your device is not included, does it support MCU? If yes, the MCU or X-Touch support files may work and could be considered good starting points.
If your device is not included in that list, you have two options: 1) post in the CSI Device Setup thread in the Reaper forums and ask if anyone else with the surface has files they can share or 2) read the [Message Generators]] and [[Feedback Processors]] pages and create your own .mst file for your surface. It's a one-time job. Once you've mapped all the controls on your surface, read the [Zones page for information on how to map those controls. Post in the CSI Device Setup thread if you need additional help.
My Device is Set Up in CSI But Isn't Being Recognized
If your control surface is not being recognized by CSI, the first step is to ensure that CSI and your device are communicating correctly. Follow these steps to troubleshoot:
1. Power On/Off Order Matters
To prevent connection issues:
- Turn on your control surface before starting Reaper.
- Turn it off only after closing Reaper.
This ensures Reaper and CSI detect the device properly during initialization.
2. Check CSI Input Monitoring
To confirm CSI is receiving data from your control surface:
- Open Reaper’s Preferences > Control/OSC/Web, then double-click Control Surface Integrator.
- In CSI’s Settings, click the Advanced button.
- Enable the following checkboxes:
- Show Input from Surfaces
- Show Raw Input from Surfaces
- Click OK to save changes.
- Move some knobs, faders, or press buttons on your control surface.
3. CSI Input Monitoring Expected Results and What They Mean
Scenario A: No Input is Displayed
If no input appears in the Reaconsole window, CSI is not receiving data from the control surface. This could indicate a connection issue.
-
For MIDI Devices:
- Ensure everything is plugged in and connected.
- Verify your device is DISABLED in Reaper’s Preferences → Audio → MIDI Input and MIDI Output.
- CSI requires direct access to your MIDI ports. If Reaper is using them, CSI cannot access them.
- Check that no other programs are using the MIDI ports.
- Another application may be preventing CSI from accessing the control surface.
-
For OSC Devices:
- Verify that the IP address and Send/Receive ports are set correctly.
- Go to CSI Settings > Surfaces and confirm that the device's IP Address, CSI Sends To, and CSI Receives On ports match those in your OSC surface.
- Ensure your OSC surface has the correct Host IP address and matching port configurations.
- (Remember: the PC
Sends To
the port the OSC deviceReceives On
and vice versa.)
- (Remember: the PC
- Try different pairs of Send/Receive ports (e.g. 8000/9000, 8001/9001, 8002/9002, etc.). OSC is very picky about ports.
Scenario B: Input is Displayed, But Only as Raw MIDI/OSC Messages
If you see something like this in the Reaconsole window:
IN <- MFTwister b0 00 3f
This means CSI is receiving input, but isn’t mapping it to a widget in the surface.txt
file.
- If you only see raw input messages and no widget names, check the following:
- Ensure your control surface is in the correct mode.
- Some devices have multiple MIDI/OSC modes that affect how they send data.
- Verify that the
surface.txt
file exists and is properly configured. - See the Surface.txt section for details on defining widgets.
- Ensure your control surface is in the correct mode.
Scenario C: Correct Input and Mapped Widget Appear
If you see output like this:
IN <- MFTwister RotaryA1 -0.001000
IN <- MFTwister b0 00 3f
- The first line indicates that the
surface.txt
file is working because the widget name (RotaryA1
) appears. - The second line is the raw input from the surface.
If the widget name is not appearing, you may need to create or update your surface.txt
file.
4. Additional Troubleshooting Steps
If CSI is receiving input but your device still isn’t working properly, try these steps:
-
Ensure your
.zon
files are up to date.- If you've made changes, run the
Refresh All Surfaces
action in Reaper.
- If you've made changes, run the
-
Verify your
csi.ini
file.- Delete the existing
csi.ini
file and allow CSI to generate a new one upon restart.
- Delete the existing
-
Check MIDI and OSC settings in CSI.
- Open CSI Settings > Surfaces and verify:
- For MIDI devices: Ensure the correct MIDI IN and MIDI OUT ports are selected.
- For OSC devices: Ensure the IP address, Send To, and Received On ports are correctly configured.
- Open CSI Settings > Surfaces and verify:
-
Restart Reaper and Your Control Surface.
- Always power on your control surface before starting Reaper.
- Power off your control surface only after exiting Reaper.
- If your device still isn’t recognized, try disconnecting and reconnecting it, then restarting Reaper.
- You can also try running the Reaper action
Refresh All Surfaces
.
5. Still Having Issues?
If you're still experiencing problems, post a detailed description of your issue in the Reaper forum's CSI thread. Include:
- Your control surface model
- A sample of your
csi.ini
file and the entire surface folder - Screenshots of your CSI Settings > Surfaces
- Any troubleshooting steps you’ve already tried
This will help others assist you more effectively.
Not All Tracks Showing on the Surface
If some tracks from your Reaper project are not appearing on your control surface, there are several potential causes and solutions:
Potential Cause #1. CSI Visibility Following TCP or MCP
Cause:
- CSI is set to follow the Track Control Panel (TCP) or Mixer Control Panel (MCP) in Reaper, and the track is hidden in the selected panel.
Solution:
- Option 1: Change CSI to follow the other panel (TCP or MCP).
- Option 2: Adjust track visibility settings within Reaper to ensure the desired tracks are visible in the chosen panel.
Potential Cause #2. "Surface and Mixer Scroll Together" Enabled
Cause:
- This setting is enabled, and the Reaper mixer has reached its scrolling limit, preventing CSI from displaying additional channels on the surface.
Workaround:
- Enable "Ensure Selected Track Visible in Both CSI and Reaper" in CSI settings.
- Modify the
home.zon
file to includeSelectedTrackBank
actions in your banking buttons to align CSI with Reaper’s track focus.
Potential Cause #3. Track Zones on Multiple Surfaces
Cause:
- If you have multiple surfaces that use Track Zones, they all count towards the CSI track count. Example: an SSL UF1 configured to use a Track zone combined with a UF8. In that case, the UF1 will get either the first or last track in the bank depending on how it's configured in CSI, which may not be desired.
Solution:
- If that's not the desired behavior, you could use a SelectedTrack zone for the single-fader surface rather than a Track zone.
Potential Cause #4. "Scroll View When Tracks Activated" Enabled in Reaper
Cause
- This setting can cause Reaper’s mixer to scroll in unexpected ways, leading to mismatches between Reaper and the surface.
Potential Solution:
- Disable "Scroll view when tracks activated" in Reaper’s mixer settings:
- Open Reaper's Mixer.
- Right-click in some empty space
- Uncheck "Scroll view when tracks activated".
Disabling this option can ensure better synchronization between Reaper and CSI, allowing all intended tracks to display correctly on your surface.
Some of the new CSI features are not working
If you see something in the CSI Changelog page here but it's not working on your system, the first thing to be sure of is: does that feature exist in a "production build" of CSI or does it exist in the Exp (Experimental) builds? The Exp builds contain all of the latest features but should be considered betas.
The Exp builds can be found here.
If you are running an Exp build, and a brand-new feature still isn't working as expected, please post in the main CSI thread in the Reaper Control Surface's sub-forum. You may have found a bug.
I'm Seeing Strange Behavior With Button Feedback (Lights) on My Surface
Check for Conflicting Assignments
One possible cause of erratic button feedback is conflicting assignments within the same Zone.
For example, try to spot the error in the following Zone definition:
Zone "MasterTrackFXMenu"
OnZoneActivation SetXTouchDisplayColors Blue
OnZoneDeactivation RestoreXTouchDisplayColors
DisplayUpper| FXMenuNameDisplay
DisplayLower| FXBypassDisplay
Rotary| NoAction
RotaryPush| GoFXSlot
Mute| ToggleFXBypass
Left Bank MasterTrackFXMenu -1
Right Bank MasterTrackFXMenu 1
RecordArm| NoAction
Solo| NoAction
Mute| NoAction
Select| NoAction
Fader| NoAction
ZoneEnd
Here, Mute
is first assigned to ToggleFXBypass
but is later overwritten with NoAction
.
Solution
If you want Mute
to control ToggleFXBypass
, remove the conflicting Mute| NoAction
entry. This will resolve any flickering or otherwise glitchy button feedback behavior.
Feedback=No May Be Required
In some cases, disabling button feedback is necessary to prevent unwanted behavior, such as:
- Multiple actions assigned to the same button
- Using Hold modifiers on a button
When feedback is not disabled in these situations, the button light may flicker or fail to update correctly.
How to Disable Feedback on an Action
To disable feedback for a specific action, add Feedback=No
at the end of the assignment.
As a general rule of thumb, feedback should typically be disabled for Hold-modified actions as shown in the below example:
Stop Stop
Hold+Stop Reaper 40042 Feedback=No // Go to start of project
And if you're chaining multiple actions in CSI, and want only one action to dictate the feedback behavior of a button, that would look like this:
SomeButton SomeAction
SomeButton AnotherAction Feedback=No
SomeButton YetAnotherAction Feedback=No
For more details, see the Widget Properties>Feedback page.
I Made a Change to My Zones But CSI Isn't Reflecting That
If you've updated your .zon files but aren't seeing the changes reflected in CSI, follow these troubleshooting steps:
-
Run
Refresh All Surfaces
in Reaper- After making any changes to your .zon files while Reaper is open, you must execute the
Refresh All Surfaces
action in Reaper.
- After making any changes to your .zon files while Reaper is open, you must execute the
-
Ensure the .zon File is Saved
- Verify that you’ve actually saved the .zon file before testing changes.
-
Check for Multiple Versions of the .zon File
- If you have multiple versions of the same zone file in different folders, make sure you’re editing and saving the correct one.
CSI Crashes
While crashes are rare and should not happen, they can sometimes occur due to issues with the csi.ini
file, particularly if the folder names in csi.ini
do not match the surface names in the primary CSI folder.
Potential Causes of Crashes
-
Mismatched Folder Names
- Example: You originally set up your
csi.ini
to reference anX_Touch
folder but later manually renamed that folder toX_Touch_Alternate
. Ifcsi.ini
still points toX_Touch
, CSI may crash.
- Example: You originally set up your
-
Errors in
csi.ini
Configuration- Corrupt or incorrectly formatted entries in
csi.ini
can lead to unexpected behavior or crashes.
- Corrupt or incorrectly formatted entries in
-
Incorrect Zone Syntax
- Syntax errors in
.zon
files, such as missing brackets or improper formatting, may cause issues with CSI initialization.
- Syntax errors in
How to Resolve Crashes
-
Recreate
csi.ini
from Scratch- The best first step is to delete your existing
csi.ini
and let CSI generate a fresh version when restarted.
- The best first step is to delete your existing
-
Verify Folder Structure
- Double-check that all referenced surface folders in
csi.ini
exist and are named correctly.
- Double-check that all referenced surface folders in
-
Review Zone Syntax
- Open your
.zon
files and confirm there are no missing or misformatted entries.
- Open your
-
Still Having Issues?
- If you've gone through these steps and still experience crashes, post a detailed description of your issue in the main CSI thread.
- Include your
csi.ini
file, your folder structure, and any recent changes you made.
This will help the community assist you more effectively.
My iPad/iPhone/Tablet is Dropping OSC Messages (i.e. Labels Can Linger on Displays)
CSI communicates with OSC devices using the User Datagram Protocol (UDP). The advantage of UDP is its extremely low latency, making it ideal for real-time control. However, unlike Transmission Control Protocol (TCP), UDP does not include built-in error checking or message confirmation. This means that if a message is lost in transmission, there is no automatic retry, which can result in OSC display labels lingering or failing to clear properly.
This issue is most commonly observed when using Wi-Fi-connected OSC devices, such as an iPad running an OSC app.
Recommendation: Use a Wired Ethernet Connection
A wired Ethernet adapter can significantly reduce lost OSC packets, improving overall reliability. Since Wi-Fi networks are subject to interference and packet loss, switching to a wired connection ensures a stable and consistent data flow between CSI and your OSC device.
Report a Potential Bug
If you think you've found a bug or are experiencing unexpected behavior, follow these steps to report the issue:
- Visit the CSI thread in the Reaper Forums under the
MIDI Hardware, Control Surfaces and OSC
subforum. - Post the details of your issue, including:
- A clear description of the problem.
- A step-by-step list of how to reproduce the issue.
- Expected vs. actual results to clarify the discrepancy.
- If possible, attach your surface folder (zip it up and upload it).
- If the issue relates to a specific zone, you can also post a copy of your
.zon
file in the forum using the following code format:
[code]
Your sample zone.
[/code]
How to File a Great Bug Report
When reporting a bug, following a structured format makes it much easier to diagnose and resolve the issue. Use this template for best results:
Issue:
Provide a short headline that summarizes the issue.
Steps to Reproduce:
- List each step required to trigger the bug.
- Ensure the instructions are clear and reproducible.
- This helps others confirm the issue and determine its cause.
Expected Result:
Describe what should happen if the system is working correctly.
Actual Result:
Describe what is happening instead.
Additional Debugging Info:
- If applicable, include screenshots or videos demonstrating the issue.
- Attach your CSI surface folder, relevant
.zon
files, or a copy of your csi.ini if the issue appears related to configuration. - If you suspect a crash or instability, check your Reaper crash logs and include relevant details.
Providing a clear, detailed report greatly improves the chances of getting the issue resolved quickly.
Other Troubleshooting Tips
Some additional troubleshooting tips...
-
Unplug it, then plug it back in: seriously. Units freeze up and/or misbehave. If you can't get your device working and are scratching your head, don't forget about this basic first step of troubleshooting. Even if the surface otherwise seems like it's working, there's no harm in taking 30 seconds to try this step and may just solve your problem! And if not, you've ruled out one more thing.
-
Simplify: if you have a problem where a feature in a .zon is not working as expected, try eliminating everything else, and see if the feature or .zon file works by itself. If yes, then start slowly adding things back until it stops working. That should help narrow down where the problem is.
-
Start from scratch with a portable install. Reaper has a "Portable Installation" option that allows you to install Reaper into another folder. You can try setting up CSI from scratch with a portable install to see if that solves your problem. If yes, the issue could be in your User Plugins folder, or with some Reaper setting.
-
Check for old .zon files or .dll's - clear them out! Maybe you've got an old version of CSI in your User Plugins folder called "reaper_csurf_integrator64.dll.bak" causing a conflict that Reaper is still picking up. Or a "buttons.zon.old" file. Clear that stuff out! When it comes to .zon files, CSI scans all .zon files within your Zone folder on launch.
-
Maybe it's just me? If a particular feature or something isn't working for you, but you know it's working on other people's setups, then trust that as long as you meet the minimum system requirements, it's not you. There's something amiss somewhere in your CSI setup. Check for multiple versions of zon files, confirm you've got the correct installation paths, make sure you are using the correct version of the .mst, proper .zon syntax, ensure you don't have old versions of CSI or unused .zon files littered about. If you still need help, post in the CSI Device Setup thread. It may all look right on the surface, but chances are there's some small quirk out there that's causing issues. It may just take some help and persistence to find the cause. Could be a bug too :) !
Something I saw on this wiki isn't accurate or isn't working
If you've ruled everything else out and something still isn't working, post in the main CSI thread to report the issue. It could be as simple as the wiki not being up to date or it could be a bug.