-
Posts
87 -
Joined
-
Last visited
Content Type
Profiles
Forums
Latest X-Plane & Community News
Events
Downloads
Store
Everything posted by VirtualCPT
-
Hi Dave, That's really weird. I never had this problem before. Was the file in the aircraft folder really called XMidiCtrl.toml? Sometimes, editors add some extension like .txt or so. I'm surprised that you get different ports on your X-Touch. I'm using my X-Touch for over a year and the ports never changed. I even unplug it from time to time, but it's always on port 0 for inbound and port 1 for outbound. Do you have any other MIDI devices connected? For my personal profile I have a custom lua script to toggle the baro units between inch and hpa, because I couldn't find a command for that. Unfortunately, I left it in the released version. I will update the file, thanks for the "bug-report" :-) In case you want to have this function as well, here is the lua script: if PLANE_ICAO == "B738" then -- Barometer function toggle_baro_in_hpa() if get("laminar/B738/EFIS_control/capt/baro_in_hpa") == 1 then command_once("laminar/B738/EFIS_control/capt/baro_in_hpa_dn") else command_once("laminar/B738/EFIS_control/capt/baro_in_hpa_up") end end create_command("FlyWithLua/B738/toggle_baro_in_hpa", "Toggle barometer between in and hpa", "toggle_baro_in_hpa()", "", "") end Cheers, Marco
-
Yes, it was my idea. I started the development of XMidiCtrl around one year ago and tried to get the A321 working with it. Nearly all knobs on the MCU have push and pull, so I was looking for a simple solution to simulate that behavior without the need of another button. You can apply push&pull to any button on the X-Touch Mini. For most planes I have for example the chrono start/reset mapped to push and ET start/stop on pull.
-
Ah, you discovered my push&pull implementation. It's quite simple, when you press the knob/button for a short time the push comment will be triggered. If you hold down the knob/button for a longer time (I think it's a second or so) the pull command will be triggered. This is really useful for the Airbus, as most of the knobs in the real plane have push and pull.
-
Hi Dave, I'm very happy that it works for you now. I'm still trying to improve the plugin, such as implementing a better user interface and enhancing the documentation. I started writing some first steps, they might be useful for you: https://mauer.github.io/xmidictrl/#/create_profile I personally would start with simple steps. Have a have a look at the ZIBO example in the examples folder and try to change the mappings more to your likings. The ZIBO addon is a very good start, as ZIBO included excellent documentation with it. In the ZIBO folder you can find two files called B738_Commands.txt and B738_Datarefs.txt. They list all commands and datarefs for the ZIBO including descriptions. Unfortunately, not all addon developers include those information. In those cases I use the DataRefTool https://github.com/leecbaker/datareftool. It lists all commands and datarefs. Can be a bit buggy at times, but generally speaking a nice and useful tool. Let me know if you need any help! Thanks, Marco
-
Hi Dave, I just checked to log and it seems that the plugin is picking up the wrong profile: 2022-03-01 11:07:21 [INFO] Aircraft Profile 'D:\X-Plane 11/Output/preferences/XMidiCtrl/Profiles/XMidiCtrl.toml' found Let me quickly explain, how the system tries to load aircraft profiles: As a very first step, I look into the current aircraft folder, e.g. 'D:\X-Plane 11\Aircraft\B737-800X', for a file called XMidiCtrl.toml. If this file exists, it will be used otherwise I continue with step 2. If no profile was found in the current aircraft folder, I will have a look at the common profile folder. In your case this would be folder 'D:\X-Plane 11/Output/preferences/XMidiCtrl/Profiles/'. This plugin will search for a file called <ICAO_Aircraft>_XMidiCtrl.toml. For the 737-800 the file name would be B738_XMidiCtrl.toml. I the plugin still didn't found any profile it will search for a file called XMidiCtrl.toml within the common profile folder. In your case 'D:\X-Plane 11/Output/preferences/XMidiCtrl/Profiles/XMidiCtrl.toml' So, why did I implement steps 2 and 3. Well, quite a few people didn't want to have to aircraft configuration directly in the aircraft directory. In case of an aircraft update you have to backup the XMidiCtrl configuration etc. That's the reason I created a directory within the preferences to store all the different configurations for the aircrafts. Since the files cannot be called just XMidiCtrl.toml I decided to add the ICAO name of the aircraft as a prefix. Step 3 was implemented, because a user wanted to create one common aircraft configuration which applies to all his aircraft. The common aircraft profile will be loaded if no individual profile was found. You can find this information in the documentation, as well (https://mauer.github.io/xmidictrl/#/profile). I would recommend the following steps: 1. Delete the file 'D:\X-Plane 11/Output/preferences/XMidiCtrl/Profiles/XMidiCtrl.toml' 2. Make sure that you have a file called XMidiCtrl.toml in the aircraft directory of the ZIBO. Hope that helps, Marco
-
For everyone following this thread, it tried to compile XMidiCtrl for older macOS versions, but it didn't work. You need at least macOS 10.15 to get it working. I'm sorry about that, but lots of the libraries I'm using (such as RtMidi) require at least C++11
-
Hi @xXFabi95, The encoder mapping doesn't support value_min and value_max (https://mauer.github.io/xmidictrl/#/inbound_mapping_encoder). However, I understand what you are trying do to and the addition those parameters will be a very useful. I put it on my list. Will be included with the next version. Thanks for the great idea! Cheers, Marco
-
Let me do some tests later, would be a real shame if we don't get this working. I will contact you later again, just have to do some research how to create a new directory cross platform compatible without using the function mentioned in my previous post.
-
Good Morning, I just checked your log and found these entries: dlerror:dlopen(/Volumes/ButtKicker SSD/X-Plane 11/Resources/plugins/XMidiCtrl/mac_x64/XMidiCtrl.xpl, 6): Symbol not found: __ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathEPNS_10error_codeE Referenced from: /Volumes/ButtKicker SSD/X-Plane 11/Resources/plugins/XMidiCtrl/mac_x64/XMidiCtrl.xpl (which was built for Mac OS X 10.15) Expected in: /usr/lib/libc++.1.dylib in /Volumes/ButtKicker SSD/X-Plane 11/Resources/plugins/XMidiCtrl/mac_x64/XMidiCtrl.xpl I use a function called std::filesystem::create_directory to create a new folder in the preferences folder. This function was added in C++17 and it seems that it's not supported by your macOS. Mojave is rather old, could you update to 10.15 at least? This is also the version I build the plugin for. Many thanks, Marco
-
X-Plane 11.55r2 crashes when using IXEG B733
VirtualCPT replied to Gonzalo Sánchez's topic in Bug Reports
XPUIPC can be a nasty plugin. It hasn't been updated for quite some time and the developer doesn't respond to emails. I guess he doesn't care about it anymore. It's a real shame, because quite a few addon's and virtual airlines still rely on it. I started developing a replacement for it a while ago and had a prototype working, but this whole FSUIPC interface is so weird that I couldn't be bothered anymore. Life is too short... Version 2.0.3.5 seems to work fine with the IXEG. -
I use the X-Touch Mini and have the altitude selector mapped to one of the encoders. It works perfectly for me, no problems changing the altitude very quickly. Could it be that the software you are using is causing some delay? I had this problem in the past with using another mapping software. Changing the altitude was quite a time consuming thing.
-
Hi, If I understand you correctly, the plugin didn't start with X-Plane. You should see a submenu called XMidiCtrl in the Plugins menu of X-Plane. Did you follow the steps required for MacOS (https://mauer.github.io/xmidictrl/#/installation)? The plugin is obviously not signed by Apple, so you need to allow it manually. A copy of your Log.txt wouldn't harm either. Thanks, Marco
-
Hi Dan, That's a very nice setup you are having there! You defined cc twice in line 220. I guess you wanted to define ch and cc (they look really similar, I have to admit that)
-
Hi Huma, Many thanks for the kind words. Could you send my your toml and XMidiCtrl_log.txt, please? It's probably a tiny problem in the configuration. Would be also helpful to get screenshots of your config in the X-Touch Editor tool. I remember there is a setting that controls how the lights are triggered. Have you applied the Layer bin files to the device? Kind regards from Upper Franconia
-
Hi Dan, Looking at your config file and the log, it's quite clear why it isn't working: 2022-02-04 14:34:09 [ERROR] Line 183 :: { CC = 74, type = "drf", dataref = "AirbusFBW/EnableExternalPower", value = "0" }, 2022-02-04 14:34:09 [ERROR] --> Parameter 'value_on' not found 2022-02-04 14:34:09 [ERROR] Line 183 :: { CC = 74, type = "drf", dataref = "AirbusFBW/EnableExternalPower", value = "0" }, For a dataref mappings you have to define the value_on and value_off parameter. Do you own two X-Touch? Sounds like a pretty cool setup. Hope that helps, Marco
-
Hi Dan, There are quite a few errors in the log. Looks like it had problems reading the Dataref parameter. Can you please attach your toml file, as well? Thanks, Marco
-
Hi, Sure, I will have a look later (right now cruising around Japan in the TBM). Could you also send me your XMidiCtrl_Log.txt, please? Many thanks!
-
Hello @tpwpny, There is definitely some learning curve involved getting my plugin working. However, once you understand the system it will become very easy and quick to create new mappings for aircraft. Okay, lets have a look at your questions: 1. How to load the addon? Do you see the submenu XMidiCtrl within the plugins menu? If you are using a Mac, make sure to follow the steps described on the installation page (Link). Within the XMidiCtrl submenu you will see quite a few options, like opening a log window, reloading the aircraft profile, etc. 2. What is a template or profile? XMidiCtrl does not offer a user interface for the mapping and I have not planned to develop one. In addition, it's not possible to extend the default joystick screen of X-Plane. The config file, which contains all the mappings for a specific aircraft is called a profile. It's a file called XMidiCtrl.toml and it should be placed directly in the aircraft folder. In your case you should have it in X-Plane/Aircrafts/AFL C172 (don't know exactly how the folder is called, as I don't own this Cessna). When you load an aircraft, the plugin checks if a XMidiCtrl.toml file exists in the aircraft directory and loads it. Templates are just a template to create a new profile. I included one for the Behringer X-Touch to make it easier for people. I believe it's easier to have something to start with. Just copy the XMidiCtrl.toml file from the templates folder and copy it into your AFL C172 folder. After that you can start added commands to the different buttons and encoders. 3. How map buttons? No comes the tricky bit. You have to map the X-Plane commands to the buttons of the X-Touch. In the XMidiCtrl.toml file you will find a parameter called mapping_in. This is where you define all inbound mappings - events which sent from the MIDI device to the plugin. This section looks like that: mapping_in = [ #-------------------------------------------------------------------------------------------------------------------- # Layer A #-------------------------------------------------------------------------------------------------------------------- # Slider { ch = 11, cc = 0, type = "sld", command_up = "", command_middle = "", command_down = "" }, # Encoders { ch = 11, cc = 1, type = "enc", command_up = "", command_down = "" }, { ch = 11, cc = 2, type = "enc", command_up = "", command_down = "" }, { ch = 11, cc = 3, type = "enc", command_up = "", command_down = "" }, { ch = 11, cc = 4, type = "enc", command_up = "", command_down = "" }, { ch = 11, cc = 5, type = "enc", command_up = "", command_down = "" }, { ch = 11, cc = 6, type = "enc", command_up = "", command_down = "" }, { ch = 11, cc = 7, type = "enc", command_up = "", command_down = "" }, { ch = 11, cc = 8, type = "enc", command_up = "", command_down = "" }, # Encoder Buttons { ch = 11, cc = 9, type = "cmd", command = "" }, { ch = 11, cc = 10, type = "cmd", command = "" }, { ch = 11, cc = 11, type = "cmd", command = "" }, { ch = 11, cc = 12, type = "cmd", command = "" }, { ch = 11, cc = 13, type = "cmd", command = "" }, { ch = 11, cc = 14, type = "cmd", command = "" }, { ch = 11, cc = 15, type = "cmd", command = "" }, { ch = 11, cc = 16, type = "cmd", command = "" }, I added some comments in the template to make it easier finding the right button and or encoder. Each button and encoders sends a MIDI message on a specific Channel and a Control Change number. If you applied my settings to the device as described here, all buttons and encoders are sending on channel 11 and the encoders will send a Control Change number from 1 to 8. The top row of the buttons sends 17 to 24 and the bottom row 25 to 32. Each encoder has a button included as well and sends between 9 and 16. I hope you can still follow me. If you want to add a command to a specific button, just write the command name as command parameter. Let's say you want to clear the master warning when pressing the first button on the bottom row. The command is called"sim/annunciator/clear_master_warning. The mapping would look like that: { ch = 11, cc = 25, type = "cmd", command = "sim/annunciator/clear_master_warning" }, The plugin offers much more advanced options, such as modifying datarefs or even sending messages from the simulator to the X-Touch to illuminate buttons when certain functions are activated. You will find quite a few examples of complete mappings in the examples folder. They can be a great help getting started. However, it's important to understand a bit the internals of X-Plane. So speaking, what is a command, what are datarefs etc. It's a very rewarding process and once you understand it you will be able to customize your X-T-Touch exactly the way you want it. Hope that helps! Best wishes, Marco
-
Hi Cameron, I just released the new version 0.62 which includes support for macOS.
-
Hi Tom, A negative channel number is an indicator that the MIDI message was not of the type "Control Change". I'm going to improve that in the future, so that the message type will be displayed in the log window. In column Raw Data you see the message received or sent. Status 144 is "Note On" for channel 1, and 128 is the "Note Off" message. Can you reconfigure your AKAI to send CC messages instead? I'm going to implement support for note on/off and program change messages in the future, but that's a larger project and not done within a couple of hours.
-
Already implemented - will be released with the next version :-)
-
Hi John, Glad you like my plugin! I actually have an overlay for the A321. It's not in the new format like the CL650, but the labels are correct. I use Affinity Designer to create the overlays, which is a really nice piece of software for this kind of stuff. I attach the Affinity Designer file, a svg export and my old A321 example. Cheers, Marco PS: There is actually a donation link on the download page, but it's really not required. I shared my work, as I wanted to give something back. I love the X-Plane Community with all those excellent open source plugins (Avitab, FlyWithLua, BetterPushback, ...). X-Touch_Mini_A321_Example.pdf X-Touch_Mini_blank.svg X-Touch_Mini_blank.afdesign
-
Hi @Cameron , Mac support is still planned! The plugin works already on Linux, so getting a build for mac shouldn't be too difficult. I'm currently working on a docker container for the cross compilation, but it's not an easy task to get everything running. As I fallback solution I can use the MacBook of my wife, but I would prefer a build container on my PC. Hopefully, the next version will have support for all platforms.
-
The support for arrays is still on my todo list. I plan to implemented it this weekend :-)
-
Hi @voxan, There are two possibilities: 1. Your MIDI controller doesn't use port 0. Can be easily checked by going to Plugins -> XMidiCtrl -> Show MIDI Devices 2. Your MIDI controller is already used by some other software. Unfortunately, it's a limitation of Windows. Make sure X-Touch Editor etc. are all closed. PS: Would be great to create separate topics for support requests, otherwise it gets rather messy :-)