Jump to content


  • Posts

  • Joined

  • Last visited


Profile Information

  • Gender

Recent Profile Visitors

558 profile views

VirtualCPT's Achievements


Contributor (5/14)

  • Conversation Starter Rare
  • Dedicated Rare
  • Reacting Well Rare
  • First Post Rare
  • Collaborator Rare

Recent Badges



  1. Hi, I have some minor suggestion, as well. Would it be possible to bind the standard commands (or custom commands) to change the altimeter setting, e.g. sim/instruments/barometer_up and sim/instruments/barometer_down? Thanks, Marco
  2. I bought the MU-2 yesterday and really like it. Quite amazing how well it looks, despite its age. I'm hoping for a good discount now for version 2. Will fly from Nuremberg to Montpellier in France today, for some holiday feeling - just returned from Montpellier in real life.
  3. Hi, I already included the template in Affinity Designer format and as SVG. Have a look in the templates folder of the XMidiCtrl installation. You will find both files in the X-Touch folder.
  4. It is with great joy that I’m announcing the release of XMidiCtrl Version 1.00! I started this project around one year ago. The initial commit was on the 4th May 2021 and I’m honestly rather proud how well it turned out. Since the release of the first version on 1st November 2021 I have received many nice messages from people all around the world. Within the last few months, the plugin evolved even more, thanks to the many suggestions and ideas I received from you. Together we succeeded to enable support of various MIDI devices and not just the Behringer X-Touch Mini. The release of the Hot Start Challenger 650 was another milestone in the young history of XMidiCtrl. Thanks to the great help of Graeme from Reflected Reality Simulations, I was able to offer support for this amazing aircraft from day one. Recently I did some major refactoring and added some ideas I had for a long time. With all the work done and some extensive testing from quite a few people, I’m confident to label the current version as 1.00. I hope this will be a clear sign to new users, that we are talking about a stable and feature complete plugin. Development will not stop here, of course! But all the initial ideas I had are finally implemented. Okay, let’s have a look at the new features: Support for all MIDI message types In order to support all kind of MIDI devices, it was necessary to implement support for all MIDI message types. Initially the plugin was able to send and receive Control Change messages, only. With the new version of can send and receive: Control Change Note on/off Pitch Bend Program Change New logging system I was never happy with the logging system. It was still the initial implementation from the first prototype. I wanted an improved system which shows the user exactly the information she/he needs to see without the need to search an extensive log file. First of all, there are no log levels anymore to choose from in the settings window. You can enable a debug mode if required, but otherwise all warnings and info messages are being logged. There are not many of them anyway and most get raised when loading an aircraft profile. In addition, there is a new tab page in the profile window. It shows you all errors and warnings for the current aircraft profile: When you open the new messages window and change to the MIDI Message tab page, you will see quite a few changes, as well: As you can see, I added some icons instead of text. Most icons provide a tooltip with additional information. This allows you to see all mappings and log messages related a specific MIDI message. However, all messages are still logged to the common log file, if you prefer to monitor the plugin this way. Log entries related to a MIDI message: Mapping used for a MIDI message: Enhanced Mappings I added some additional mapping parameters to allow more advanced mappings. Most notable additions are: Encoders – value_min and value_max Allows you to specify minimum and maximum values for the mapping. Example: { ch = 11, cc = 8, type = "enc", dataref = "AirbusFBW/XPDRPower", modifier_up = 1, modifier_down = -1, value_min = 0, value_max = 4 } Dataref support for Push&Pull So far it was only possible to specify commands for push and pull. With this version you can also modify Datarefs directly. It’s even possible to mix commands and Datarefs, such as have a push command and modify a Dataref for the pull event. Examples: { ch = 11, cc = 9, type = "pnp", dataref_push = "AirbusFBW/BaroStdCapt", values_push = ['0', '1'], dataref_pull = "AirbusFBW/BaroUnitCapt", values_pull = ['0', '1'] } { ch = 11, cc = 9, type = "pnp", command_push = "AirbusFBW/Toggle_BaroStdCapt", dataref_pull = "AirbusFBW/BaroUnitCapt", values_pull = ['0', '1'] } Labels This is one of my most favourite additions. Labels allow you to display display a text when a mapping event takes place. Lets assume you have a mapping to change the transponder mode using a knob on your MIDI device. The mapping would probably look similar to this one: { ch = 11, cc = 8, type = "enc", label = "xpdr", dataref = "AirbusFBW/XPDRPower", modifier_up = 1, modifier_down = -1, value_min = 0, value_max = 4 } That will work rather nicely, but often the transponder mode knob is between the pilot seats. If you want to check the current setting you must look down and that annoyed me. In order to display labels, you have to define the label in the aircraft profile: [xpdr] text = "Transponder Mode:" values = [ { value = "0", text = "STBY" }, { value = "1", text = "ALT RPTG OFF" }, { value = "2", text = "XPNDR" }, { value = "3", text = "TA ONLY" }, { value = "4", text = "TA/RA" } ] In this case I created a new label with the id xpdr. In addition, I specified a text to be displayed each time the mapping gets executed and some labels for the different values. Finally, you have to bind the label to your mapping: { ch = 11, cc = 8, type = "enc", label = "xpdr", dataref = "AirbusFBW/XPDRPower", modifier_up = 1, modifier_down = -1, value_min = 0, value_max = 4 } Whenever you change the transponder mode using the MIDI device, the label for current value will be displayed. If no label value has been defined, the Dataref value will be shown. The new settings dialog allows you to modify the position where the label text will be displayed: Init Mappings This new mapping option allows you to send some MIDI messages to the device just after the aircraft has been loaded. It can be useful when using the Behringer X-Touch Mini to initialise the behaviour or the encoder lights. Example: [[device]] name = "Behringer X-Touch Mini" port_in = 0 port_out = 1 mapping_init = [ # Encoder Lights # 0 = Single # 1 = Pan # 2 = Fan # 3 = Spread # 4 = Trim { ch = 1, cc = 1, velocity = 1 }, { ch = 1, cc = 2, velocity = 2 }, { ch = 1, cc = 3, velocity = 3 }, { ch = 1, cc = 4, velocity = 4 }, { ch = 1, cc = 5, velocity = 4 }, { ch = 1, cc = 6, velocity = 3 }, { ch = 1, cc = 7, velocity = 2 }, { ch = 1, cc = 8, velocity = 1 } ] New Examples The new version comes with some additional example mappings: Updated version for the ToLiss A321 iniBuilds A310 Felis Boeing 747-200 I hope you enjoy the new version as much as I do and please let me know if you have any questions. Thanks, Marco
  5. Good morning, I'm currently preparing a new release version, which should be out within the next two days. The Init Messages are very new, I just added them the other day. Thanks, Marco
  6. Good Morning, Hope you had a nice Easter break. I was just wondering if you are still planning to release the MU2 in April? Thanks, Marco
  7. Hi Carsten, I will send you a pre release version later today. Kind regards from EDDN :-) Marco
  8. Hi, I'm currently testing a brand new version of XMidiCtrl. It supports all types of MIDI messages, has a much improved logging and I enhanced some of the mapping options. I'm not quite finished with the UI. The layout of the settings window is still bothering me, but I can send you a prerelease copy if you want. Wouldn't mind having someone else doing some tests? Its working very stable on my side, so should be safe to use.
  9. Hi, I'm also a huge fan of Ubuntu Linux. Looking at your screenshots, the plugin loaded correctly and was able to connect with the Behringer X-Touch Mini. However, I think you are using the wrong inbound port. According to the last screenshot, inbound port 0 is the Midi Through Device. Port 1 would be the X-Touch. Can you try to change in following line in your XMIdiCtrl.toml: # Behringer X-Touch Mini [[device]] name = "Behringer X-Touch Mini" port_in = 1 # <-- change this line from 0 to 1 port_out = 1 I'm quite sure that this will solve your problem, because the rest looks good.
  10. Linux support would be awesome! I would love to switch to Linux once X-Plane 12 has been released.
  11. Ah, now I see the problem. In the aircraft folder I'm looking for a file called XMidiCtrl.toml (without any prefix). It's really just the common folder, where the prefix is needed. Probably a bit too confusing for new users. Maybe I should also look for files with a prefix in the aircraft directory. What do you think? I tried to explain everything in the documentation: https://mauer.github.io/xmidictrl/#/profile Please let me know if you spot any errors in the documentation or if things are worded weirdly. I'm not a native English speaker, although I lived in the UK for a long time. Cheers, Marco
  12. 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
  13. 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.
  14. 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.
  • Create New...