XG Manager Manual 1.6.1
XG Manager Manual 1.6.1
Version 1.6.1
MANUAL
MOUNTAIN UTILITIES
https://mountainutilities.eu/
CONTENTS
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Version history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Computer requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Installation of XG Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. MIDI setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6. The main window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7. The MIDI keyboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8. Using the computer keyboard and mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9. Known problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1. Overview
XG Manager is a utility by Mountain Utilities that can control any hardware or software synthesizer
implementing the Yamaha XG protocol. It also offers support for the QS300 synthesizer as hosted on
the DB50XG daughterboard, the stand-alone MU10 module and the SW60XG ISA card.
XG Manager is only available for Windows. (A future Linux edition is unlikely, but not impossible.
There are no plans for a macOS edition.)
3
2. Version history
4
Version 1.5.2 Alpha 1 (2019-03-23)
! By default, on startup the application sends the ‘XG System On’ message to the XG device. This
is necessary for devices whose default mode isn’t XG. However, after sending this message, the
application waits a full second to give the device time to switch, so if this message is not
necessary (e.g. for devices for which XG mode is the default), you can suppress this message via
the XG synth options dialog box.
! For clarity, ‘XGSendOnStartup’ has been renamed to ‘XGOnStartupSendSetup’ in the
XGMan.stp configuration file. Consequently, the first time you run this version after updating an
existing version, you’ll get a warning about this change. Simply click OK.
5
asks you if you really want to revert all parameters to their default values.
! The Donate item in the main window’s Help pull-down menu no longer opens a dialog box, but
makes your web browser open the Donate page at the Mountain Utilities web site.
! XG Manager no longer refuses to start if system.ini doesn’t exist in the Windows system folder.
6
3. Computer requirements
To run XG Manager, your computer must comply with the following requirements:
! A mouse.
7
4. Installation of XG Manager
Three editions of XG Manager are available: an installer, a 32-bit portable edition and a 64-bit
portable edition:
Installer:
1. Download xgman-a.b.c-install.exe (where a.b.c stands for the actual version number) to your
computer from the XG page at the Mountain Utilities web site (https://mountainutilities.eu/xg).
2. Run xgman-a.b.c-install.exe and follow its instructions. The installer automatically installs the
edition of the actual application (XGMan.exe) that matches the operating system: the 32-bit
edition on a 32-bit Windows system, the 64-bit edition on a 64-bit Windows system.
Note: the installation includes an uninstaller. It can be run from the Windows start menu via
Programs þ Mountain Utilities þ XG Manager, or via Settings þ Control Panel þ ‘Add or
Remove Programs’ (Windows XP) or ‘Programs and Features’ (Windows Vista and later).
Note that when you install a new version of XG Manager, you do not have to uninstall any
previously installed version first: the old version will be replaced with the new version
automatically.
8
5. MIDI setup
You must tell XG Manager manually where to find a particular XG synth. This involves the
following steps:
1. You must ensure that the pertinent MIDI I/O ports are enabled in XG Manager:
From the main window’s Options pull-down menu, ‘MIDI devices’ opens a dialog box in
which you can select the MIDI I/O devices to which XG Manager connects:
Tip: In the MIDI devices dialog box you can also set up a ‘soft MIDI thru’ link, by connecting
an enabled MIDI input to an enabled MIDI output device. Any MIDI message received by the
MIDI input device is then immediately passed on to the MIDI output device. In fact, you can set
up as many links as there are devices; the only restriction is that each device can have only one
connection.
9
2. You must set the XG synth’s MIDI output device to the correct value:
From the main window, open the ‘XG synth options’ dialog box via the Options pull-down
menu, and select the MIDI output device to which the XG synth is connected.
MIDI pipes
Of particular interest is the enabling/disabling of ‘MIDI pipes’. ‘MIDI pipe’ is my term for what is
commonly known as a ‘virtual MIDI device’. This is software that manifests itself as a virtual MIDI
output port plus a virtual MIDI input port: the driver passes any MIDI data sent to the output port to
the input port. Hence, when a computer program sends data to the virtual MIDI output port, this data
can be picked up at the corresponding input port by any other computer program. Thus, a MIDI pipe
allows inter-program MIDI communication. If a MIDI pipe driver is ‘multi-client’, we can connect
more than one program (up to a particular maximum) to the same virtual output or input port.
To my knowledge, the following free MIDI pipe drivers are available (please contact me if you know
any others):
! Sony/Sonic Foundry Virtual MIDI Router: 4 single-client pipes. Windows 32-bit only.
! LoopBe1: only 1 multi-client pipe, so not very useful. (No, you can’t install more than one
copy!) Windows 32-bit only.
! LoopBe30: 30 multi-client pipes, but the trial version only works for a brief period, and the full
version is not free. Windows 32-bit only.
10
Tools.
! CopperLan (http://www.copperlan.org/):
Available for macOS and Windows (32- and 64-bit).
This is primarily a MIDI-over-Ethernet system, so it’s a bit of overkill if you only need local
MIDI pipes. (CopperLan 1.4 for Windows installs three drivers, if I remember correctly!)
It offers up to 32 virtual MIDI input ports and 32 virtual MIDI output ports; by default none of
these are set up as ‘pipes’, but you can manually connect any output to any input (although the
idiosyncratic user interface makes this much more difficult than it should be).
! loopMIDI (https://www.tobias-erichsen.de/):
This allows you to create and destroy any number of MIDI pipes on the fly.
Simple and effective, so probably the best choice on modern Windows versions (particularly 64-
bit versions, given MIDI Yoke’s problems on those).
If configured improperly, MIDI pipes can easily cause problematic MIDI signal paths. There are
several dangers:
Duplication:
If there is first a split in the signal path, and then a merge, two or more copies of the same MIDI
message arrive at the end of the signal path (i.e. the target MIDI device). This is time-consuming at
best, and may even lead to communication errors.
Feedback:
In general, feedback involves the return of a sent MIDI message to the same MIDI hardware device or
computer program that sent the message. Obviously this needlessly slows down operation, although it
isn’t necessarily disastrous. However, there may also be more sinister effects. For instance, feedback
may interfere with the program’s communication with the MIDI device; this can result in many types
of error.
At the very least you should normally avoid enabling both the output port and the input port of
the same MIDI pipe in the same program (e.g. XG Manager), because by definition anything you
send to a MIDI pipe’s output port (the pipe’s starting point) is returned at the corresponding MIDI
pipe’s input port (the pipe’s end point). So for instance, if you enable both ‘Out To MIDI Yoke: 1’
and ‘In From MIDI Yoke: 1’ in a program, then any MIDI data the program sends to ‘Out To MIDI
Yoke: 1’ is returned to the program at ‘In From MIDI Yoke: 1’. This type of feedback is usually
undesired, except perhaps for monitoring purposes.
The most severe type of feedback occurs when the sender/recipient actually re-sends the
returned MIDI message: this leads to an infinite loop, which may well grind the sender/recipient (and
indeed the whole computer) to a virtual standstill.
In XG Manager this horror can happen if you enable the MIDI Thru feature in the MIDI devices
dialog box for an input-output pair already exhibiting feedback. For instance, if you activate MIDI
Thru from ‘In From MIDI Yoke: 1’ to ‘Out To MIDI Yoke: 1’ in XG Manager’s MIDI devices dialog
box, then any MIDI data sent to ‘Out To MIDI Yoke: 1’ not only comes back to XG Manager at ‘In
From MIDI Yoke: 1’ (via MIDI Yoke’s pipe 1), but is then automatically re-sent from ‘In From MIDI
Yoke: 1’ to ‘Out To MIDI Yoke: 1’ via the MIDI Thru feature, in principle ad infinitum, although
MIDI Yoke does perform some checks that spot and kill the infinite loop — but still...
Close delay:
This problem only occurs with MIDI Yoke NT 1.75 (but not with MIDI Yoke for Windows
95/98/Me): closing any MIDI Yoke NT input port causes a delay of 1 second. (Certain earlier
versions even 3 seconds.)
11
Concerning XG Manager this is mainly relevant during program exit. In principle XG Manager
terminates almost instantly upon exit, but when all the input ports of MIDI Yoke NT 1.75 are
enabled, termination of XG Manager takes some 16 seconds longer than normal! Therefore you
should disable as many MIDI Yoke NT input ports as possible in XG Manager’s MIDI devices dialog
box, i.e. any MIDI Yoke NT input ports that XG Manager itself doesn’t use. (Note that you can still
use any MIDI ports disabled in XG Manager in other programs!)
To help you avoid some of the serious problems discussed above, XG Manager takes the following
steps:
! On first startup, if XG Manager detects any of the MIDI pipes listed above (excluding
CopperLan, since by default its virtual ports aren’t interconnected), it asks you if you want to
enable the I/O devices of these pipes. It’s best to answer No (to avoid feedback loops, and to
avoid MIDI Yoke NT’s close delays during XG Manager’s exit procedure), unless some other
program (e.g. MIDI-OX) is routing an XG synth through a MIDI pipe.
! On every startup, XG Manager optionally warns you if any MIDI Yoke NT input ports are
enabled and thereby cause extra delays during termination of XG Manager. You can
enable/disable this warning on the Input tab of the MIDI devices dialog box.
12
6. The main window
The toolbar merely contains a button duplicating the ‘Send setup’ menu item (in the MIDI pull-down
menu).
File º XG:
A submenu from which you can open/save the full set of XG parameters from/to a file (with
extension ‘.xg’). Note that the application automatically maintains ‘Current.xg’, opening it upon
startup and saving it on exit.
File º Restart:
Terminates XG Manager and starts a new instance of it. Beware: the application does not prompt
you to save/send any changed data: all non-saved/sent data are lost upon restart.
File º Setup:
A submenu from which you can open and save setup (‘.stp’) files.
A setup file includes nearly all the application’s customizable settings, including MIDI I/O
device settings and window positions/sizes.
By opening a (previously saved) setup file you can quickly switch from one setup to another.
However, opening a setup file involves restarting the application; thus you will lose transient
data like unsaved recorded MIDI input messages. So if you only wish to change the window
positions/sizes, it’s simpler to use the desktop (‘.dsk’) file facility (see View º Desktop),
because this doesn’t involve restarting the application.
Tip: you can force XG Manager to use a specific setup file via the command line, as follows:
13
/s setupfile
File º Exit:
Terminates XG Manager. Beware: the application does not prompt you to save/send any
changed data: all non-saved/sent data are lost upon restart.
Note that the associated hotkey (Alt+X) works from almost any location in the program, not
just from the main window. Of course you can also terminate XG Manager by clicking on the V
icon on the main window’s title bar. Pressing Alt+F4 also works, but (unlike Alt+X) only from
the main window.
14
This window can be useful for troubleshooting your MIDI connections.
‘DISABLED ’ in front of the selected MIDI output device indicates that the device is disabled,
so no MIDI messages can currently be sent to that device. (You can enable devices in the MIDI
devices dialog box.)
View º Desktop:
A submenu from which you can open and save desktop (‘.dsk’) files.
A desktop file contains the positions, sizes and states (hidden/visible/minimized) of all the
windows in the application. Thus, a desktop file contains a subset of the data in a setup file: see
File º Setup.
By opening a (previously saved) desktop file you can quickly switch from one desktop (i.e.
layout) to another. Unlike opening a setup file, this does not involve restarting the application.
By default the ‘Keep numbers’ option is off, so that opening or saving a file promotes the file
name to position 1 in the list; when ‘Keep numbers’ is on, the list stays as it is, which can be
useful when you’re continually switching between particular desktops.
View º Skin:
Opens a window in which you can select the ‘skin’ of the application; apart from the default skin
(called ‘Windows’), there are 39 alternative skins. Most prominently, a skin defines the colors of
all the visual elements of the application’s windows, but a skin may also change the font type
and/or size, or the shape or size of buttons etc.
Some tips:
! The default ‘Windows’ skin isn’t really a skin: it’s simply the current interface of the
Windows version you are running. So for instance if your computer is using an Aero theme
on Windows 7, that’s what the ‘Windows’ skin will give you; but on Windows 10 it will
amount to the standard Windows 10 look.
! The six ‘Windows 10 ...’ skins are available on any Windows version, so you can make
your Windows XP or 7 look like Windows 10! (However, there are subtle differences
hetween these skins and the actual Windows 10 interface.)
Disclaimer: The 39 alternative skins were not developed by Mountain Utilities, but are part of
the Delphi programming environment on which this Mountain Utilities application is built. So
15
these skins are offered on a take-it-or-leave-it basis. Some of these skins may cause undesired
visual effects, such as certain screen elements disappearing behind others. However, due to the
sheer number of these skins it would be a huge task to fine-tune every window of every
Mountain Utilities application for every skin. So be prepared for some unpleasant and perhaps
confusing surprises. If you encounter a ‘really bad’ problem, feel free to report it in the
application’s forum at the Mountain Utilities web site.
Note that the hotkey (Alt+0) for opening this dialog box works from almost any location in the
program, not just the main window.
If the highlighted window is partially or completely outside the current monitor(s), you can
move it into full view by pressing ‘Make this window fully visible’. ‘Make all windows fully
visible’ performs this operation on all windows in the list.
Options º XG synth:
Opens a dialog box in which you can set various options related to your XG device:
16
! MIDI output device:
The MIDI device from where the XG synth can be controlled.
! Delay after XG System On message (msec):
Determines the delay after any XG System On message sent by XG Manager. This concerns
both the message sent on startup of XG Manager (cf. the setting described below) and the
on-demand messages sent via MIDI º ‘Send XG System On message’.
! On startup send XG System On message to XG synth:
This is essential for devices whose default mode isn’t XG. However, after sending this
message, XG Manager by default waits a full second to give the device time to switch, so if
this message is not necessary (e.g. for devices (like the DBXG50) for which XG mode is the
default), you can skip this message. You can customize the delay after this message via the
‘Delay ...’ setting mentioned above.
! QS300 (requires DB50XG, MU10 or SW60XG):
If this setting is enabled, XG Manager supports the QS300 synthesizer as hosted on the
DB50XG daughterboard, the stand-alone MU10 module and the SW60XG ISA card.
Options º Hints:
Opens a dialog box in which you can set options affecting the hints that are displayed when you
move the mouse cursor over buttons etc.:
17
Options º Mouse:
Opens a dialog box in which you can set the way in which the mouse turns the parameter knobs:
Help º Manual:
Opens this manual in the external application associated with the file extension ‘pdf’.
18
Help º Mountain Utilities web site:
Provided you’re connected to the internet, your web browser opens the Mountain Utilities web
site, where you can find up-to-date information about XG Manager and other matters related to
XG synths.
19
If you set ‘Versions to report’ to ‘Release’, you will only be notified about Release versions.
‘Release Candidate/Release’ will also notify you about Release Candidate versions, etcetera.
When an update is available, the program asks you whether you wish to open the pertinent
web page at the Mountain Utilities site. You can also check for updates manually, by pressing
the ‘Check now’ button.
Note: If your firewall catches the program's connection attempt and asks you whether you
want to allow this, you can safely say yes: no information identifying you or your computer will
be sent to the Mountain Utilities web site.
Help º Donate:
Makes your web browser open the Donate page at the Mountain Utilities web site
(https://mountainutilities.eu/donate), at which you can express your appreciation of XG Manager
and support its further development by making a donation.
20
7. The MIDI keyboard
The MIDI keyboard is accessible from the main window’s View pull-down menu (º MIDI º
Keyboard).
From the MIDI keyboard you can send note messages (and several related other messages) to any
MIDI output device (e.g. a synthesizer):
! Note names displayed on the status bar follow the Roland octave numbering protocol.
! Pressing the ‘Send settings’ button sends the selected program, volume, pitch bend and
modulation to the selected MIDI output device.
! To play an individual note, left-click on a key: the key turns green for as long as you keep the
mouse-button pressed.
! To hold a note, right-click on a key: the key turns yellow, until you click it again (or clear all
held keys).
! The ‘Held keys’ drop-down box determines how the held keys are interpreted: they can be
played as a chord (i.e. simultaneously) or as arpeggios.
! Pressing the ‘Release keys’ button clears all currently held keys.
! If you hold the Shift key while left-clicking or right-clicking, all currently held notes are cleared
before the newly selected note is played or held. (In other words: it’s as if you’ve pressed the
‘Release keys’ button.)
! Beware: the chord/arpeggio timing is not very accurate, because the ‘simple’ Windows timer is
used (rather than the multi-media timer, which is more exact but also puts a larger strain on the
computer). In particular, performing actions like opening a listbox may stall the timer. In other
words: don’t try to use the chord/arpeggio modes for actual music production!
21
8. Using the computer keyboard and mouse
XG Manager’s user interface uses mostly standard widgets (buttons, checkboxes, pull-down boxes
etc.). This means that it may sometimes be easier to use the keyboard instead of the mouse for
particular operations.
Of particular interest are the keystrokes and mouse-clicks that you can apply to parameter knobs.
The following actions are defined:
22
9. Known problems
MIDI Thru:
XG Manager’s MIDI Thru feature only passes on short MIDI messages, i.e. any message except
SysEx (System Exclusive).
This is because XG Manager achieves its MIDI Thru feature by simply calling the
midiConnect function in Windows’ MMSystem library: basically Windows handles all Thru
traffic behind XG Manager’s back, but unfortunately midiConnect doesn’t pass on SysEx
messages.
I may try to find a work-around for this in a future version of XG Manager. In the meantime
you should use MIDI-OX if you need to pass on SysEx messages via a MIDI Thru connection.
(Apparently MIDI-OX doesn’t use midiConnect, but handles all MIDI Thru traffic manually,
which might actually be marginally slower than midiConnect, for non-SysEx messages that is...)
Window widths:
If the screen dimensions are too small, big windows of fixed size can get cut off. Normally
you’re safe with a screen of 1024 × 768 pixels, but you can run into problems when you
decrease the screen size of a virtual machine running XG Manager.
23