Ex Factory Manual
Ex Factory Manual
Ex Factory Manual
00
User Manual
(C) Derek Cook 2001-2016
www.xfactory-librarians.co.uk
Welcome to ex.factory
Table of Contents
Welcome to ex.factory......................................................................................................................................1
Introduction............................................................................................................................................1
Registering ex.factory......................................................................................................................................9
Running ex.factory.........................................................................................................................................10
PC.........................................................................................................................................................10
MAC OS X............................................................................................................................................10
Command Line.....................................................................................................................................10
Table of Contents
The ex.factory Window
No Split...................................................................................................................................16
Horizontal Split........................................................................................................................16
Vertical Split............................................................................................................................16
Tree........................................................................................................................................16
Table.......................................................................................................................................16
Refresh...................................................................................................................................16
Preferences ...........................................................................................................................16
The MIDI Menu.............................................................................................................................17
Import From MIDI....................................................................................................................17
Export to MIDI.........................................................................................................................17
Get VL Element Names..........................................................................................................17
MIDI Router ...........................................................................................................................17
MIDI Preferences ...................................................................................................................17
The SMDI Menu............................................................................................................................18
Get EX Sample Names...........................................................................................................18
SMDI Preferences .................................................................................................................18
The Tools Menu............................................................................................................................19
Master Patch List ...................................................................................................................19
Library Information .................................................................................................................19
Batch Import to Library ..........................................................................................................19
The Window Menu........................................................................................................................20
Tile Horizontal.........................................................................................................................20
Tile Vertical.............................................................................................................................20
Maximise Windows.................................................................................................................20
Restore Windows....................................................................................................................20
Minimise Windows..................................................................................................................20
View EX Synthesizer Data......................................................................................................20
View EX Library......................................................................................................................20
The Help Menu..............................................................................................................................21
Search....................................................................................................................................21
Help .......................................................................................................................................21
Tips and Tricks ......................................................................................................................21
About .....................................................................................................................................21
Register .................................................................................................................................21
Tool Bar...............................................................................................................................................22
Desktop................................................................................................................................................23
Child Window.......................................................................................................................................24
Tree View......................................................................................................................................25
Table View....................................................................................................................................26
EX Synthesizer Window................................................................................................................27
Preset Synth Data...................................................................................................................27
User Synth Data.....................................................................................................................27
EX Library Window........................................................................................................................28
EX Library Table View Columns.............................................................................................28
Table Sorting..........................................................................................................................28
Table Filtering.........................................................................................................................28
Table Filter Controls...............................................................................................................29
Table Filter Configuration.......................................................................................................29
Status Bar............................................................................................................................................30
Program Features...........................................................................................................................................31
File Operations....................................................................................................................................32
Create New File............................................................................................................................33
Open Existing File.........................................................................................................................34
Save Open Files............................................................................................................................35
Separating Data in S1A and S1Y Files...................................................................................35
Workspaces..................................................................................................................................36
File Import Support........................................................................................................................37
AN1x Voice Bank Import.........................................................................................................37
VL70m LIB and MIDI File Import............................................................................................37
Export Data...................................................................................................................................38
HTML .....................................................................................................................................38
XML .......................................................................................................................................38
Cubase Patch Script ..............................................................................................................38
Protools Patch Script .............................................................................................................39
Sonar Patch Script .................................................................................................................39
SpreadSheetML .....................................................................................................................39
Undo Buffer..........................................................................................................................................40
Clipboard Support................................................................................................................................41
MIDI Support........................................................................................................................................42
ii
Welcome to ex.factory
Table of Contents
Program Features
Connecting the EX5 MIDI Ports.....................................................................................................42
Configuring MIDI Support..............................................................................................................42
Copying/Moving Voices and Performances..................................................................................43
Voice/Performance MIDI Limitations......................................................................................44
MIDI Keyboard Routing.................................................................................................................44
VL Custom Wave Support.............................................................................................................44
Default Advanced MIDI Timing Settings.......................................................................................45
Sample Advanced MIDI Timing Settings.......................................................................................45
SMDI Support......................................................................................................................................46
Configuring SMDI Support............................................................................................................46
Sample Names in the EX Synthesizer Window............................................................................46
Getting Sample Names from the EX.............................................................................................46
Copying Samples Via SMDI..........................................................................................................46
Library Support....................................................................................................................................47
Configuring the Library..................................................................................................................47
Adding Objects to The Library.......................................................................................................47
Copying Objects From The Library...............................................................................................47
Deleting Objects From The Library...............................................................................................47
Exporting Voices and Performances From The Library to the EX................................................47
Extracting Files from the Library...................................................................................................47
List File Usage..............................................................................................................................48
New Author...................................................................................................................................48
Library Information .......................................................................................................................48
Find and Goto Facilities.......................................................................................................................49
Find Dialog....................................................................................................................................49
Find Category Dialog....................................................................................................................49
Goto Dialog...................................................................................................................................50
Editing Features...................................................................................................................................51
General Editing Features..............................................................................................................52
Copy/Move Object..................................................................................................................54
Initialise Object.......................................................................................................................55
Rename Object.......................................................................................................................55
Insert Object...........................................................................................................................55
Delete Object..........................................................................................................................56
List Object References...........................................................................................................56
Sort Objects............................................................................................................................57
Remap Object Elements.........................................................................................................57
Synth Editing Features..................................................................................................................58
Voice Editing Features..................................................................................................................59
New.........................................................................................................................................59
Import from EX Memory..........................................................................................................60
Export to EX Memory..............................................................................................................60
Import from EX Edit Buffer......................................................................................................60
Export to EX Edit Buffer..........................................................................................................60
Voice Arpeggiator Editing Features........................................................................................60
Voice Element Editing Features.............................................................................................60
Voice Controller Editing Features...........................................................................................62
Voice Effects Editing Features................................................................................................62
Voice Scene Editing Features................................................................................................62
Performance Editing Features......................................................................................................64
Import from EX Memory..........................................................................................................64
Export to EX Memory..............................................................................................................64
Import from EX Edit Buffer......................................................................................................64
Export to EX Edit Buffer..........................................................................................................65
Performance Arpeggiator Unit Editing Features.....................................................................65
Performance Part Editing Features........................................................................................65
Performance Effects Editing Features....................................................................................66
Performance Scene Editing Features.....................................................................................67
Wave Editing Features..................................................................................................................68
Import Wave...........................................................................................................................68
Wave Layer Editing Features.................................................................................................68
Sample Editing Features...............................................................................................................70
Edit Sample............................................................................................................................70
Import Sample........................................................................................................................71
Export Sample........................................................................................................................71
Pattern Editing Features...............................................................................................................73
Pattern Track Editing Features...............................................................................................73
Arpeggio Editing Features.............................................................................................................74
Arpeggio Track Editing Features............................................................................................74
Song Editing Features...................................................................................................................75
iii
Welcome to ex.factory
Table of Contents
Program Features
Song Track Editing Features..................................................................................................75
Keymap Editing Features..............................................................................................................76
Set Sample/Pattern.................................................................................................................76
Undocumented EX5 Feature..................................................................................................76
System Settings Editing Features.................................................................................................77
Master Patch List..........................................................................................................................78
Generating The Cubase Master Patch List.............................................................................78
Configuring Cubase to Use the Master Patch List..................................................................79
Library Statistics............................................................................................................................79
Batch Import To Library.................................................................................................................79
Select Source Directory Page.................................................................................................80
Select Destination Directory Page..........................................................................................80
Using the Batch Importer........................................................................................................81
Preferences.....................................................................................................................................................83
Device Type Preferences....................................................................................................................84
Voice Preferences...............................................................................................................................85
Performance Preferences....................................................................................................................87
Wave Preferences...............................................................................................................................88
Keymap Preferences...........................................................................................................................89
Check Preferences..............................................................................................................................90
Default View Preferences....................................................................................................................91
MIDI Preferences.................................................................................................................................93
SMDI Preferences...............................................................................................................................96
File References Preferences...............................................................................................................98
Library Preferences.............................................................................................................................99
Miscellaneous Preferences................................................................................................................101
Advanced MIDI Preferences..............................................................................................................102
Online Help....................................................................................................................................................105
Context Sensitive Help......................................................................................................................105
About ex.factory...........................................................................................................................................110
Glossary........................................................................................................................................................111
iv
Welcome to ex.factory
Table of Contents
Keyboard Short Cuts....................................................................................................................................113
Keyboard Shortcuts for the Desktop and Child Windows..................................................................113
Keyboard Shortcuts for Tree Views...................................................................................................114
Keyboard Shortcuts for Table Views.................................................................................................115
Keyboard Editing Short Cuts for both Tree and Table Views............................................................116
Keyboard Shortcuts for the Preferences Dialog................................................................................117
Keyboard Shortcuts for Text Editing Fields.......................................................................................117
Credits...........................................................................................................................................................120
ex.factory License........................................................................................................................................121
Disclaimer..........................................................................................................................................121
Table Filter License...........................................................................................................................121
v
Welcome to ex.factory
Introduction
ex.factory is a cross platform Librarian for the Yamaha EX5/7/R series of synthesizers, that allows you to
organise your EX data from the comfort of your computer.
ex.factory has been written by me, Derek Cook, and is available exclusively as a free download
from www.xfactory-librarians.co.uk. The free version is fully functional apart from the save and export features
(including MIDI export) and Librarian support are disabled. This allows you to evaluate the features of
ex.factory to see if you like it before buying it. If you wish to use ex.factory and enable the save and export
functions you will need to register ex.factory and pay the registration fee.
ex.factory was written as there appears to be no comprehensive librarian/editor for the EX series of
synthesizers, and I (amongst others) was desperate for one.
I am greatly interested in user feedback for shaping future versions of ex.factory. Comments and bug reports
on the current features of ex.factory and requests for future features can be sent
to ex5@xfactory-librarians.co.uk.
ex.factory is programmed in Java, so it is capable of running on any platform that supports Java version 7.0
and above.
The application has been developed and tested for JRE 7 on Mac OS X with testing currently conducted on
OSX 10.11 (El Capitan), and on Windows 10 64 bit.
I think the only issue you might have trying to run on a 32 bit system is that the application launcher (the PC
executable) might not launch. In that case you should still be able to run the Java application directly by
double clicking on the Jar file in Windows Explorer or by launching it from the command line.
All the launcher is doing is wrapping the JAR file so that you have more of a PC experience, so you do not
lose much by running the JAR file directly.
The application should also work on previous versions of Windows and OS X, but I am no longer testing on
these versions, as at some point it's always time to move on. Having said that, so long as there are no JRE
bugs affecting the application, it should work on any OS capable of supporting JRE 7.
The screen shots you see in this manual have been taken with ex.factory running upon JRE 5.0. The look and
feel of the application will vary depending upon your target JRE and computer platform, so don't worry if
ex.factory looks slightly different upon your system.
Welcome to ex.factory 1
What's New in ex.factory V6.9.02 (24/12/2016)
Improved database access performance when editing information.
Previous Versions
V6.9.01 (16/12/2016)
Updated sample playback to work with Java 7 and later.
Updated Help and Manual screenshots to replace the boring old Windows look with that of OS X. I
had to add some new screenshots, and it looked odd having a mix!
V6.9.00 (25/07/2016)
CoreMidi4J is now embedded in the application for OS X Users. So there is no longer a need to
download and install a MIDI Service Provider extension for OS X.
V6.8.00 (28/03/2016)
Updated all x.factory Librarians to use CoreMID4J on Mac OSX.
Updated all x.factory Librarians to use Launch4J application launcher on PC.
The minimum JRE version is now Java 7.
V6.7.00 (28/06/2014)
Updated all x.factory Librarians to use a new automated licensing system.
V6.6.00 (07/10/2012)
Updated VL70m import options to allow VL70m Edit Buffer SYSEX files to be loaded (in addition to VL
LIB and VL MID files already supported.
V6.5.00 (27/08/2012)
Updated MIDI Router to allow the MIDI Channel to be either the channel sent by the source device, or
to be the channel specified in the MIDI Options Dialog.
V6.4.00 (23/08/2012)
Updated application to work with MMJ on OS X to provide access to external MIDI devices. The move
to MMJ is required because the Mandolane MIDI SPI is no longer supported and doesn't work on OS
X Lion and above.
The MIDI Router is now available on the MIDI Menu.
V6.3.00 (19/01/12)
Updated Java Launcher to work on OSX Snow Leopard and OSX Lion.
V6.2.03 (04/12/2011)
Fixed a bug, where the Channel Number in the MIDI Preferences page was being ignored, so that
bank and patch changes were only ever sent on MIDI Channel 1.
V6.2.02 (07/11/2011)
Updated Windows Installer to detect 32 or 64 Java Runtime Environments (JREs) and to configure
the application launcher to make use of a 64 bit JRE if available.
Fixed bug in Librarian batch importer, which was preventing the use of the Library Import Settings
made in the import Wizard
Fixed bug that was preventing the selection of Table Views if the application was not registered
Fixed bug that was preventing the showing if MIDI import options on the context sensitive menus in
Tree and Table Views
V6.2.01 (29/10/2011)
Fixed bug in the File/Save As... function, which was causing a null pointer exception when saving a
file as a different type.
V6.2 (11/08/2011)
V6.1 (14/05/2011)
Library Statistics dialog added, allowing you to see how big the Library is!
Batch importer for importing Motif files into the Library
V6.0.02 (05/04/10)
Added ability to show a flag in the tree view if a voice is using custom elements.
V6.0.01 (24/12/09)
Corrected problem where file data paths on non-English locales were not being found.
Updated license code to allow ex.factory to unpack a license.zip if it is found in the license folder,
which simplifies installation particularly for Mac OSX users, where the standard zip extractors were
causing problems with the license file. ex.factory can also now detect a license.lic file if this has been
inadvertantly extracted
V6.0 (23/11/2009)
Library support has been added, which allows you to keep all of your favourite items (Voices,
Performances, Waves, etc.) in one Library database, and then sort and filter them to find the patch
that you want. This feature is only available for registered users. All the features of ex.factory, such
as copying referenced Waves and Samples with a Voice, work when copying items to and from the
Library.
You can now open VL70m MIDI files (as well as VLL LIB files) to access custom VL elements and
transfer them to the EX5.
Corrected problem that was preventing VL70m files from being opened in Table view, and also sorted
out issues with showing the synth window as a table view
If Waves and Samples in an S1M file are referenced by Voices in S1A, S1V or S1Y files (using the
File Association function), then you can now use the List References function the same way as for
Waves/Samples in an S1A file.
If S1A, S1V or S1Y files have an S1M file associated with them (for a RAM or a FLASH bank), then
when you copy Voices to a new file, the Waves/Samples are also copied if there is a corresponding
RAM or FLASH bank in the destination.
Improved Apple Macintosh OSX integration. ex.factory now provides an application bundle and it also
integrates with the OSX Screen Menu Bar's Application menu
V5.0 (29/08/2006)
No new features, but a major rewrite using Java 5, and a few minor bug fixes
V4.1.01 (26/10/2005)
The EX5/EX7 device type setting is now used in generating the titles for patch script files (to address
a comment made by Laurent).
The documentation has been updated to provide more information on installing Cubase Patch scripts
in Cubase SX (to incorporate the information I gave on the thread in the Voices forum started by
klezmer41 on how to install the patch scripts).
V4.1 (30/09/2005)
The Table View now supports Waves, Samples, Arpeggios, Patterns and Keymaps.
The Tree View now supports a "goto keymap" option in the goto Dialog.
An S1A, S1V or S1Y file can have an S1M file associated with it as a FLASH memory bank.
An S1V or S1Y file can have an S1M file associated with it as a RAM memory bank.
Voices and Performances from selected S1A, S1V and S1Y files can be exported to a single, master
Cubase Patch Script, which means you can have a single Cubase script file containing all your patch
names, including preset voice definitions.
Voices and Performances from S1A, S1V and S1Y files can be exported in Sonar Patch Script format.
Data within all file types can be exported to SpreadsheetML format, which is a great aid for
documenting your projects.
As well as Initialising a voice, there is now a popup menu option to create a new specific voice type
(e.g. a Drum Voice).
The default directory control in the preferences selection now provides a directory selector to allow
you to pick a directory instead of having to type in a name.
A Refresh option has been added to the View Menu.
Screen updates when copying many objects have been optimised.
What's New in ex.factory V6.9.02 (24/12/2016) 3
Fixed problem that prevented S1M files created by ex.factory from being loaded into FLASH.
Fixed problem with transfers of VL70m custom elements via MIDI (registered user feature)
When checking SMDI settings, ex.factory checks to see if the device is any of the following: "EX5",
"EX5R" or "EX7". Previously the only device ID checked was "EX5".
V4.0 (17/10/2004)
MIDI support, allowing you to transfer Voices and Performances between ex.factory and the EX5 edit
buffers and memory locations (registered users only).
You can now open VL70m lib files and transfer VL70m Custom VL Elements via MIDI to the EX's
Custom VL Wave Slots (registered users only).
Cut, Copy and Paste clipboard support on all EX data types.
Wave Layer Parameter Editor.
Sample Parameter Editor, which includes the ability to audition Samples within ex.factory.
Online Context Sensitive Help within ex.factory, and comprehensive indexed and linked PDF manual.
Tips and Tricks that can be viewed one at a time (including an option to display tips on startup) or as
a list in the help pages.
Arpeggios, Patterns, Waves and Samples can now be sorted by name.
Waves and Samples can now be sorted by category.
The Performance Arpeggiator Unit settings are now shown in the Tree View, and preset and user
Arpeggios can be dragged onto the Performance arpeggiator, the same way as for Voices.
Arpeggiator Unit parameters can now be copied between Voices and Performances.
The Find facility now works in the EX Synthesizer Window.
The EX Synthesizer Window now supports split screen and table views.
When the EX Synthesizer Window is selected, the status bar now shows the amount of Sample
Memory in use.
The Category parameter of a Wave is now shown in the tree view, and can be edited.
The Category parameter of a Sample is now shown in the tree view, and can be edited.
When importing Waves and Samples via the "import" context sensitive menus, multiple files can now
be selected in one go.
When adding Wave Layers to Waves, or Drum Elements to a drum Element Collection, you can call
up a dialog box to add more than one item in one go, by holding down the ALT key whilst selecting
the command from the context sensitive menu.
When moving/copying Wave Layers, you can drop a Wave Layer directly onto a Wave.
When moving/copying Drum Elements, you can drop a Drum Element directly onto a Drum Element
Collection.
More keyboard shortcuts have been added (all are listed in the manual).
V3.2 (08/09/2003)
Multiple selection drag and drop is now supported for many data types.
Multiple selection now supported in Voice and Performance tables, to allow multiple selection drags,
and multiple selection edits.
The Voice and Performance Table views now behave the same as the Tree View when dragging
Voices and Performances (e.g. the automatic update of Performances Parts in an S1A or S1Y file
when a Voice is moved within the file)
SMDI sample data transfer between ex.factory and the EX synth is now supported via drag and drop
between file windows and a new EX Synthesiser Window (which has expanded and replaced the
"preset data window" in earlier versions). This feature is OS specific and we currently have drivers for
Windows and MAC OSX
The import of WAV files now supports the import of centre key and loop point information from the
WAV file if this information is embedded in the WAV file.
Support added for display of scene data and scene editing, including:
Drag and drop of scene branch and scenes;
Initialise scene branch and scenes;
Insert and delete scenes;
Scene editor for editing scene values (quite a neat feature as there is no way to precisely edit
scene data on the EX).
Export of voice information to Protools MIDMAN format.
The size and position of the main ex.factory window is remembered between sessions.
Workspaces can be saved and loaded, which allows you to save an arrangement of open files for
later reuse. The files, their window size and position and split arrangements are remembered along
with tree and table selection status. The tree expansion state is also remembered along with column
sizing for tables.
Goto support added to allow easier navigation to objects.
V3.1 (21/12/2002)
A warning is provided if an object is being copied to a file and it already exists in the destination file
(NB: This currently works by only checking the name of the object).
A warning is provided if an object is being deleted from a file (or being overwitten by a copy operation)
and another object is referencing that object (e.g. a Voice being used by a Performance).
Objects that are referenced by another object (e.g. a Voice being used by a Performance) are shown
in the tree view in blue text.
V3.0 (25/06/2002)
Support for S1A (Synth All) files.
Support for S1Y (Synth) files.
Support for S1M (Sample) files.
Support for S1S (Song) files.
Support for S1P (Pattern) files.
Support for S1R (Arpeggio) files.
Support for importing AN1 (AN1x Voice format) files.
EX Preset Voices, Waves, VL Waves, Samples and Arpeggios are available in a special Window and
can be used in drag operations.
The status bar has been extended to show status on free/used Waves, Layers and the amount of
Sample memory used in S1A and S1M files.
EX5 System Settings can be moved copied between files, and can be saved to disk for reloading
later.
Drum Elements can be listed and manipulated by note groupings.
Extension of print to HTML for all file types, and selection of what is listed for S1A, S1Y and S1M file
types.
Voices now display Arpeggio data, and Apreggios can be dragged onto a Voice.
Performance Part links to User Voices are adjusted when Voices are moved, inserted or deleted
within S1A or S1Y files.
Wave Layer links to User Samples are adjusted when Samples are moved, inserted or deleted within
S1A or S1M files.
Drum Voice Element links to User Samples are adjusted when Samples are moved, inserted or
deleted within S1A files.
Keymap links to User Samples are adjusted when Samples are moved, inserted or deleted within S1A
files.
Voice Element links to User Waves are adjusted when Waves are moved, inserted or deleted within
S1A files.
Voice links to User Arpeggios are adjusted when Arpeggios are moved, inserted or deleted within
S1A files.
Keymap links to User Patterns are adjusted when Patterns are moved, inserted or deleted within S1A
files.
When Voices are moved within an S1A or S1Y file then Performance Links to User Voices are
updated.
When Samples are moved within an S1M file then Wave Layer Links to User Samples are updated.
When Samples are moved within an S1A file then Wave Layer, Drum Element and Keymap Note links
to User Samples are updated.
When Patterns are moved within an S1A file then Keymap Note links to User Patterns are updated.
When Arpeggios are moved within an S1A file then Voice links to User Arpeggios are updated.
When Performances/Parts are dragged to a different S1A or S1Y file then referenced User Voices are
also moved/copied as well.
When Waves/Wave Layers are dragged to a different S1A or S1M file then referenced User Samples
are also moved/copied as well.
When Voices/AWM Elements are dragged to a different S1A file then referenced User Waves and
Arpeggios are also moved/copied as well.
When Drum Voices/Elements are dragged to a different S1A file then referenced User Samples are
also moved/copied as well.
When Keymaps/Keymap Notes are dragged to a different S1A file then referenced User Samples and
Patterns are also moved/copied as well.
Fixed a "feature" in Java. Java child windows usually only become active when you click the title bar
of the Window. I've added some code that activates the Window if you click anywhere inside it (this is
to emulate Windows operation).
V2.0 (03/01/2002)
Multiple Document Interface (MDI), allowing more than one file at a time to be open.
V1.0 (26/11/2001)
First release of ex.factory
IMPORTANT NOTE: If you are using ex.factory on Windows 7 and above, then there is an issue with the
EX5's default configuration of the MIDI A Output Port which can prevent the reception of Voice and
Performance bulk dumps over MIDI. This issue is covered in the EX5 MIDI ports section.
ex.factory is downloaded as a self installing file, so installation is automatic, and for most users little else, if
anything, needs to be done to get up and running.
This section is only relevant to installing additional items not included as part of the ex.factory installer.
The extensions provide MacOS X Java programs access to all CoreMIDI devices
An extension is required because, historically, the Java implementation on OS X is not able to access external
MIDI devices. Apple/Oracle claim to have fixed the external MIDI device access problem in its Java
implementation. However, it appears that only "simple" MIDI messages are now supported. SYSEX data
transfer (essential for transferring synth data) is not supported.
ex.factory now embeds CoreMIDI4J in the application package, so you no longer need to download and install
it separately. However, if you still require an SPI for other Java MIDI software then you will need to ensure
that you have the latest compatible version of CoreMIDI4J, as if an SPI is installed in the
/Library/Java/Extensions folder then this will override the version of CoreMIDI4J embedded in ex.factory.
If you are not using any other Java software that requires MIDI access, it is best to remove any existing
version of CoreMIDI4J from the /Library/Java/Extensions folder so that ex.factory can access the CoreMIDI4J
version embedded in the package. That way you can ensure that ex.factory is always using the latest
compatible version of CoreMIDI4J.
ex.factory will warn you if it detects an earlier version of CoreMIDI4J. It will still function, but will not benefit
from recent CoreMIDI4J bug fixes or enhancements.
If you need to retain a version of CoreMIDI4J in the /Library/Java/Extensions folder then you can always
download the latest version of CoreMIDI4J.jar from CoreMIDI4J Releases
Once you have downloaded CoreMIDI4J.jar it needs to be copied to the /Library/Java/Extensions folder. You
will need to provide administrator permissions to copy the files.
Once installed, when running the librarians and selecting the MIDI ports to use, select the ports prefixed with
CoreMIDI4J -. For example my Edirol UA-25 interface that I use for testing on OS X is listed as CoreMIDI4J -
UA-25. The latest version of ex.factory will only list CoreMIDI4J devices.
The Tritonus extensions provide better support for converting between different audio file types.
If you use the sy.factory Sample Editor to audition Samples whilst adjusting their centre key values then it is
essential that you install Tritonus.
You will need the following libraries from the Tritonus Website:
Once you have these files you need to install them into your JRE.
To do this copy the files to the lib\ext folder within the folder where you installed your JRE. For example, on
my machine the full path where these files need to be installed is:
C:\Program Files\Java\jre1.8.0_73\lib\ext
Please refer to the x.factory Librarian Registration Page for details on how to register ex.factory.
Registering ex.factory 9
Running ex.factory
Starting up ex.factory is as simple as starting any application, simple double click on the icon and you're
away.
If you have registered ex.factory, then the Library will be created (if it doesn't already exist) and opened.
During start-up, a "Splash Screen" is shown. This stays visible until a few seconds after the program has
loaded and is ready for use, but can be dismissed at any time by clicking on the Splash Screen.
ex.factory remembers the size and position of the main window between sessions, so the main window will be
sized and positioned as you left it the last time.
PC
Simply double click on the program icon for the program either in an Explorer shell, or from the desktop if you
let the installer placed a shortcut there.
You can also select the program from the Start Menu. By default, ex.factory can be found under the x.factory
Librarians Program Group.
IMPORTANT NOTE: If the application is failing to launch on a PC with a 32 bit version of Windows, then
please read the Section on adjusting the JRE Memory Configuration, as the failure is more than likely to be
due to an out of memory condition.
MAC OS X
Navigate to the Applications folder in Finder and double click the ex.factory application.
You can also create "Aliases" of the application and place them anywhere you wish, such as on the desktop
To make an alias you can choose any one of the following methods:
Click the ex.factory item you have just identified and hold down the mouse button. Then, while holding
down the Command and Option keys simultaneously, drag the item to where you want the alias to
appear then let go of the mouse button and finally release the two keys. This will create an alias at
your desired location. While dragging, the ghosted item will display a shortcut arrow which will
remain on the aliased icon when it has been created.
Hold down the Ctrl key, and then click the ex.factory item as identified previously. The context menu
will be displayed, and one of the choices will be Make Alias. Click that option, and then release the
key. The ex.factory alias will appear next to the original item and can be dragged to your location of
choice.
Select the ex.factory item you identified previously by clicking it once then press Command-l
(lowercase L). The ex.factory alias will appear next to the original item and can be dragged to your
location of choice.
Click the ex.factory item once to select it, and then from the File menu, select Make Alias. The
ex.factory alias will appear next to the original item and can be dragged to your location of choice.
Note that if your alias does not have a small arrow in the lower left corner then you have not correctly created
an alias and have probably just dragged the application launcher to a new location. If so, drag it back to the
ex.factory folder and start again.
Command Line
You can also startup ex.factory from a command shell (e.g. MsDOS). Simply change directory to where
ex.factory is located and type the following:
Running ex.factory 10
The ex.factory Window
The main ex.factory window on OS X looks like this
The sy.factory user interface is a Multiple Document Interface (MDI), which allows you to have
The ex.factory user interface is a Multiple Document Interface (MDI), which allows you to have more than one
file open at a time.
The interface is divided into the now familiar layout of (from top to bottom):
ex.factory also provides context sensitive popup menus, which are accessible by right clicking over data
shown in a Child Window. Naturally the contents of the popup menus varies according to the type of data over
which the menu was popped up.
File Menu
Edit Menu
View Menu
MIDI Menu
SMDI Menu
Tools Menu
Window Menu
Help Menu
The MIDI option is only visible if you have registered ex.factory and enabled MIDI support in the MIDI
Preferences Tab in the Preferences Dialog.
The SMDI Menu is only visible if you have enabled SMDI support in the SMDI Preferences Tab in the
Preferences Dialog.
New ...
Shows the Create New File Dialog, which allows you to create a new file.
Open ...
Shows the Open File Dialog, which allows you to open a specified file.
Save
If the file in question is a newly created file, then the Save File Dialog is brought up to allow a name to be
entered.
Save As ...
Saves the selected file after a name has been entered in the Save File Dialog.
Save All
Saves all files that have been modified using their current names.
This option allows you to select a previously saved Workspace, which is a Collection of open windows, and
their size and position within the main ex.factory window.
When you select this option, a dialog opens which allows you to select an ex.factory workspace file (EXW).
This option allows you to save the current size and position of the main ex.factory window, and the
arrangement of the open windows within ex.factory to a Workspace file.
These options allow you to Export the data in the currently selected file to a variety of different formats.
Exit
If any files have been modified and have not been saved, you will be given the option of saving them.
The file menu also contains a list of recently opened files to allow easy access to files that you are currently
working upon. The recently open files list appears at the bottom of the file menu.
Undo
Redo
Cut
Places a copy of the selected Object(s) onto the Clipboard and deletes the selected Object(s) from the file.
Copy
Paste
Copies the Object(s) on the Clipboard into the highlighted location within the current file.
Find ...
ex.factory supports the ability to find Objects either by name or by category (where an Object supports
categories, such as Voices).
Selecting the Find ... option brings up the Find dialog, that allows you to specify the string to search for, along
with options that can be used to refine the search.
Find Next
If you have defined the Find criteria within the Find dialog, then this option will repeat the search using the
same criteria.
You can also search by category be selecting Find Category ... option, which brings up the Find Category
Dialog.
If you have defined the Find Category criteria within the Find Category dialog, then this option will repeat the
search using the same criteria.
Goto ...
Selecting this option brings up the Goto Dialog, which allows you to quickly navigate to a numbered Object.
Note how some of the options change depending on whether or not the Child Window is split.
When the Child Window is split the Left/Top Pane and Right/Bottom Pane menu options have the following
sub menu.
Tool Bar
Status Bar
No Split
Horizontal Split
Vertical Split
Tree
When checked the main/left/top pane in a Child Window displays data in a Tree View.
Table
When checked the main/right/bottom pane in a Child Window displays data in a Table View.
Refresh
This command is provided in case the screen is not properly updated following an edit operation. There are a
couple of odd bugs I cannot track down on screen updates. So if you come across them as well, then this
command will force a redraw of the windows.
Preferences ...
Imports Voices and Performances from the EX via MIDI to the currently selected Window.
Export to MIDI
Exports Voices and Performances to the EX via MIDI from the currently selected Window.
Opens the MIDI Router Dialog which allows you to use another keyboard to audition EX Data.
Reads the VL Custom Element Names from the EX5 (via MIDI) into the EX Synthesizer Window.
Opens the Preferences Dialog with the MIDI Preferences Tab active.
Reads the Sample headers from the EX5 (via SMDI) into the EX Synthesizer Window.
Opens the Preferences dialog with the SMDI Preferences Tab active.
In the example given above, you'll see that after the predefined menu options there are menu options that
allow you to select the windows currently open within ex.factory (ML1_FLS.S1V, MEL-LABS.s1m and
THE_END.S1A in our example menu).
Tile Horizontal
Tile Vertical
Maximise Windows
Maximises all Child Windows so that they all occupy the size defined by the desktop.
Restore Windows
Minimise Windows
Opens or closes the EX Synthesizer Window which provides a view on preset and user EX synth data.
View EX Library
Note: This menu option is only visible if you have registered ex.factory.
Opens or closes the EX Library Window which provides a view on the EX Library.
Search
OS X Only. This is a standard OS X Menu function currently not working with sy.factory. One day....
Help ...
About ...
This menu option is not available if the host operating system is OS X. On OSX there is an About ex.factory
menu option in the ex.factory Application Menu.
Displays the ex.factory About Dialog, which provides some basic information about the program, such as the
version number.
Register ...
Displays the New File Dialog to allow you to select the type of file to create
Displays the Open File Dialog to allow you to select a file to open
Saves the currently selected file
Displays the Save As Dialog to allow you to select a different name for the currently selected file
Saves all the open files to disk
Cuts the selected Objects and places them on the Clipboard
Copies the selected Objects and places them on the Clipboard
Pastes the contents of the Clipboard to the current selection
Undos the previous edit
Redos the previous edit
Displays the Find Dialog to allow you to define the search criteria and then search for the first occurence
Searches for the next occurence of the search criteria defined in the Find Dialog
Imports Voices/Performances from the EX via the MIDI interface
Exports Voices/Performances to the EX via the MIDI interface
Displays the Preferences dialog where you can configure ex.factory
Displays the ex.factory Online Help index page
Enables Context Sensitive Help
Displays the Tips and Tricks Dialog
Displays the About Dialog
The Save and MIDI export buttons are only enabled if ex.factory is Registered.
If the SHIFT key is held down when clicking on the (Find) button, then the Find Category Dialog is
displayed instead.
If the SHIFT key is held down when clicking on the (Find Next) button, then a Find Category search is
performed instead.
The Tool Bar can be dragged and made a floating toolbar by clicking and dragging the handle to the left of the
Tool Bar.
The Tool Bar can also be dragged to a different window border other than the top border.
The Tool Bar can be hidden/unhidden by the Tool Bar menu option on the View menu.
The Tool Bar whilst floating can be docked once more by closing it.
Tile (either vertically or horizontally) all Child Windows that are not iconised
Minimise all Child Windows
Maximise all Child Windows
Restore all Child Windows
Select a specific Child Window
Open the EX Synthesizer Window
Open the EX Library Window
The Child Window is maximised by default when it is opened, and can be minimised, restored or closed by the
buttons to the right of the Child Window's title bar.
The menu options on the View menu can be used to change the View between a Tree view and a Table view,
and a Child Window can be either split horizontally or vertically split to show any of the following
combinations:
The default Child Window View applied when a file is opened is set in the Default View Tab of the Preferences
Dialog.
The following example shows a Child Window that is split and showing both a Tree View and a Table View on
the same data.
The Tree and Table views support drag move and drag copy operations, and the views will automatically
scroll whilst drag operations are in progress.
Basically, information is shown as a set of hierarchical Objects. Objects may have children attached to them,
and they themselves may have further child Objects (e.g. a Voice Object, has a child Object for its Elements,
and this Object groups all the Elements of the Voice).
The basic tree structure is a Root Object at the top of the tree under which are various Object Collections
which themselves contain further data. The top level Collections that can be found under the root node varies
upon the file type:
File Type - this is the root of the data currently loaded and a container for all data held in the EX
Synthesizer data file which has been loaded. This root is always present and indicates the type of file
loaded (S1A, S1Y, S1V, S1M, S1P, S1R or S1S)
User Voices - The Voices from an EX S1V, S1Y or S1A data file
User Performances - The Performances from an EX S1Y or S1A data file
User Samples - The Samples present in an S1A or S1M file
User Waves - The Waves present in an S1A or S1M file
User Patterns - The Patterns present in an S1A or S1P file
User Arpeggios - The Arpeggios present in an S1A or S1R file
User Song - The Song present in an S1A or S1S file
User Keymaps - The Keymaps present in an S1A file
System Settings - The system settings present in an S1A or S1Y file
The Tree View allows multiple Objects to be selected, which is useful for performing operations only upon
certain Objects. You can only perform operations upon Objects of the same type.
If you wish to perform an operation upon all Objects in a Collection, simply select the Collection containing the
Objects.
If you right click over an object or selection of objects within the Tree View, a context sensitive popup menu
will appear that provides the editing operations that can be performed upon the object(s).
Objects can be Copied and Moved either within or between Child Window Views using Drag and Drop.
The Table View can only show one Collection of Objects at a time.
You can select what a Table View shows in S1A, S1Y or S1M files by right clicking within the table to access
the context sensitive menu, upon which can be found menu options to select the different data types available
in a file. S1P, S1R and S1V files by their nature only have one type of data.
If you right click over an object or selection of objects within the Table View, a context sensitive popup menu
will appear that provides the editing operations that can be performed upon the object(s). The cells in a Row
that contain the Object Category and Object Name (if available) can be directly edited by clicking in them.
Objects can be Copied and Moved either within or between Child Window Views using Drag and Drop.
This Child Window is a special View that shows the following EX Preset and User Data Collections:
This data can be used to set Objects within the EX data files to point to preset data. For example if you drag a
Preset Wave onto an AWM Element within an S1V, S1Y or S1A file, then the Element will be updated to
reference the Preset Wave.
Note: only drag copy operations are supported where preset data is a drag source, as it does not make sense
to try and move preset data.
This Collection contains Collections for user data within the EX, including:
User Voices
User Performances
User VL Waves
User Samples
User Voices, User Performances and User VL Waves are only shown if ex.factory has been registered
and MIDI Support is enabled.
Allow drag and drop transfers of User Voices, User Performances and User VL Waves between
ex.factory and the EX via the MIDI Interface
Allow drag and drop transfers of User Samples between ex.factory and the EX via the SMDI Interface
The EX Library Data Window is made visible by ensuring that the View EX Library option in the Window
Menu is checked.
This Child Window is a special View that shows the contents of the EX Library.
Like the standard Table View, you can select the view of type of objects that you wish to view (e.g. Voices,
Performances, etc.), which includes Files and Authors that are stored in the Database.
The window can be configured to be either a Tree or a Table view. The Table view is recommended because
filtering capabilities are available, which are described below.
The following columns can be found in the Library table. Not all columns are available in a table view,
depending on the type of data being viewed. For example, only Voices have the Type Column.
Category The Category of an Object. Not all Objects have a defined Category
Name The Name of an Object. Note that this name can be up to 50 characters long, so you can provide
a more meaningful name for an object within the Library (the original name is preserved for when
the object is copied from the Library).
Type The type of the object (e.g. the type of voice). Not all Objects have a defined Type.
Rating Each Object object can be assigned a rating, from unrated to five stars. Filtering on this column
will allow you to quickly find you favourite items.
Comment Each object can have a comment associated with it of up to 100 characters. For example, you
could use this field to contain keywords that you use to describe a sound's character in more
detail. This could help you to define a filter to search for a sound.
Author You can define the Author for each Object. This field defaults to "Unknown" when objects are
added to the Library. You can setup ex.factory to prompt you for an Author name when a new file
is being added to the database.
Source The name of the source file that an Object was copied from when it was added to the Library.
Table Sorting
You can sort a table by a column by clicking on a column heading in the table header. for example to sort
voices by name, then click on the Name column heading. The sorting will cycle through the following states
each time you click a column header:
Unsorted
Sort Ascending
Sort Descending
Table Filtering
The database table provides a very comprehensive filtering capability, which allows you to filter on any
column or combination of columns. For example, you can filter on voices with a name that contains the phrase
"Fred", combined with a category filter for "pads", combined with a type filter for AWM voices, and finally filter
for those which have a three star rating.
The ex.factory Window 28
You can enter a filter for each column using the filter header that is above the table column names.
A filter with a grey background is restricted to filtering by items that you can select from the drop down list. For
example, a rating value can only be unrated or rated between 1 and 5 stars
A filter with a yellow background allows you to enter a PERL Regular Expression string that acts as a filter.
Consider the following PERL examples for filtering by name:
drum will match all names containing the phrase drum (anywhere in the name);
^t will match all names beginning with the letter T ('^' anchors the search to the start of the name);
[0-9]$ will match all names ending with a number character between 0 and 9. ('$' anchors the search
to the end of the name);
^M[0-9] will match all names starting with letter M followed by a numeric character.
That is just an overview of how you can use regular expressions for filtering. More details for how you can
form regular expression pattons can be found on the PERL Regular Expression Page
The drop down list for a Perl Regular Expression filter provides a history of the search terms entered during
the session.
When the Configure Filter Dialog button is selected, the following dialog appears that allows you to control
the behaviour of the filter for specific columns.
Rating - allows you to select whether or not an exact match is required, or if the filter is to allow
ratings greater than or equal to the one shown.
Comment - allows you to select if a PERL Regular Expression can be entered, or if choices are
restricted to the choices provided in the drop down dialog.
Author - allows you to select if a PERL Regular Expression can be entered, or if choices are restricted
to the choices provided in the drop down dialog.
Source File - allows you to select if a PERL Regular Expression can be entered, or if choices are
restricted to the choices provided in the drop down dialog.
The Status Bar provides the following pieces of information (from left to right) for the Child Window which is
currently selected:
The name of the file currently open, if any. If no file has been selected then this field is blank
The type of the file
Whether or not the file has been modified
The number of Elements used within the file, and the number of Elements which are free, displayed in
the form E=used/free
The number of Waves used within the file, and the number of Waves which are free, displayed in the
form W=used/free
The number of Layers used within the file, and the number of Layers which are free, displayed in the
form L=used/free
The amount of Sample Memory used within the file in words (bytes/2) in the form M=used
If the left/top split pane is a table this indicator identifies what the table is showing (Voices,
Performances, etc.)
If the right/bottom split pane is a table this indicator identifies what the table is showing (Voices,
Performances, etc.)
Notes:
File Operarations
Undo/Redo Support
Clipboard Support
MIDI Support
SMDI Support
Library Support
Find and Goto Support
Editing Features
Tools
Program Features 31
File Operations
ex.factory supports the following file operations:
Program Features 32
Create New File
When the New File ... option from the File Menu or the button on the Toolbar is selected, the following
dialog is shown:
This dialog allows you to select the type of file to create from the following:
The new data file is given a name in the form of "exFactory_n", where n is a number that increments every
time a file is created.
Note, this is different from initialising data in a file, as a totally new file is created.
Program Features 33
Open Existing File
When the Open ... option from the File menu or the button on the Toolbar is selected, the following dialog
will appear allowing a file to be selected.
ex.factory checks to ensure that the selected file is a valid Yamaha format file, and an error dialog will appear
if the file is not valid.
If a file selected for opening is already open, ex.factory will ask if you want to replace the file that is in
memory.
If an S1A, S1V or S1Y file is opened at it has file references to S1M files, then the associated S1M files are
also opened.
If an S1M file is opened and it is referenced by any S1A, S1Y or S1V files then the referencing files are also
opened.
Program Features 34
Save Open Files
When you save a file to disk using: the Save As ... command from the File Menu, or when a file created using
the New ... command from the File Menu is saved for the first time, the following dialog appears to allow you
to select a name for the file
The Tree View also supports options on its Context Sensitive Menu to save data from S1A and S1Y files into
seperate files.
Voices and Performances can be saved to an S1Y file by right clicking over the
Performances Collection and selecting the Save as S1Y File option
Voices can be saved to an S1V file by right clicking over the Voices Collection and
selecting the Save as S1V File option
Waves and Samples can be saved to an S1M file by right clicking over the Waves or
Samples Collection and selecting the Save as S1M File option
Arpeggios can be saved to an S1R file by right clicking over the Arpeggios Collection
and selecting the Save as S1R File option
Patterns can be saved to an S1P file by right clicking over the Patterns Collection and
selecting the Save as S1P File option
The Song can be saved to an S1S file by right clicking over the Song and selecting the
Save as S1S File option
S1Y Files Collections that can be separately saved
Voices can be saved to an S1V file by right clicking over the Voices Collection and
selecting the Save as S1V File option
Program Features 35
Workspaces
ex.factory allows you to save the current size and position of the main ex.factory window, and the
arrangement of the open Child Windows within ex.factory to a file known as a Workspace.
This allows you to save a Workspace you are using for future recall at a later date.
Program Features 36
File Import Support
ex.factory allows you to import the following non-native EX file types.
ex.factory has the ability to import AN1x Voice banks and create an S1V file from an AN1 format file.
Please note, although the EX5 and AN1x share the same basic sound engine, they differ greatly in the Effects
and Controller departments. ex.factory attempts to replicate the sound as close as possible, but it is not
possible to create exact matches. To my ears the majority of results are good, and provide a useful alternative
for patches, as a starting point for your own AN patches.
ex.factory creates AN(Layer) Voices, as they provide the closest match to the AN1x "Dual Scene" Voice
structure. I'm not certain if the first AN Element of an AN(Layer) Voice will sound on an EX7, so I'm not certain
if the resultant Voice banks are any use on an EX7. If not, and enough EX7 users shout out, I'll see if I can
come up with an EX7 variant (e.g. each An1x Voice scene in its own EX5 patch).
You can open VL70m LIB and MIDI files and export VL70m custom VL Elements to the EX's sixteen Custom
VL Element Slots (VL Elements 257 thru to 272).
If you open the EX Synthesizer Window, you can drag VL Elements from the VL70m file over to the Custom
VL Elements shown in the EX Synthesizer Window
Please note you can only Drag Copy VL70m voices/elements to the EX Custom VL Wave Slots; you cannot
Drag Move them.
Program Features 37
Export Data
ex.factory allows you to export the data in the currently selected file to a variety of different formats.
HTML
XML
Cubase Patch List
ProTools Patch List
Sonar Patch List
SpreadSheetML
HTML ...
This option allows you to export a listing of the data in HTML format.
If the file being exported is either an S1A, S1Y or S1M file, the following dialog will appear allowing you to
select the features to be exported:
E.g. for an S1Y file you will have the option of exporting Voices and/or Performances.
The saved HTML file contains as a minimum an index to the main listings (e.g. Voices/Performances) in the
file, and a section giving information on the file (such as the file type and the number of used and free
Elements).
For Voices, Performances and Waves, the tables provide hyperlinks to entries where more detail is provided
on the Objects.
XML ...
This option allows you to export a listing of the data in XML format.
If the file being printed is either an S1A, S1Y or S1M file, the following dialog will appear allowing you to select
the features to be exported.
E.g. for an S1Y file you will have the option of exporting Voices and/or Performances.
This export option is intended to provide a means of importing EX data into other programmes, e.g. a
database.
This option allows you to export a listing of the Voice/Performance data in S1A, S1Y and S1V files in Cubase
patch script format. The patch script format exported by ex.factory is compatible with both Cubase VST and
Cubase SX/SL/SE.
Program Features 38
This allows you to create patch scripts for use within Cubase to ease the selection of patches within the
Cubase environment.
Note: There appears to be an EX5 bug which means that you cannot switch between Voice and Performance
modes via external MIDI commands. Thus, although exporting an S1A or S1Y file to a patch script provides
both Voice and Performance menus within Cubase, you still need to select the right mode on the EX. Shame!
See the Master Patch List dialog documentation for details on how to install patch scripts within Cubase SX.
This option allows you to export a listing of the Voice/Performance data in S1A, S1Y and S1V files in Protools
patch script format (MIDMAN files).
This allows you to create patch scripts for use within Protools to ease the selection of patches within the
Protools environment.
Note: There appears to be an EX5 bug which means that you cannot switch between Voice and Performance
modes via external MIDI commands. Thus, although exporting an S1A or S1Y file to a patch script provides
both Voice and Performance menus within Protools, you still need to select the right mode on the EX. Shame!
Consult your sequencer documentation for details on how to install the patch scripts within your sequencer.
This option allows you to export a listing of the Voice/Performance data in S1A, S1Y and S1V files in Sonar
patch script format (MIDMAN files).
This allows you to create patch scripts for use within Sonar to ease the selection of patches within the Sonar
environment.
Note: There appears to be an EX5 bug which means that you cannot switch between Voice and Performance
modes via external MIDI commands. Thus, although exporting an S1A or S1Y file to a patch script provides
both Voice and Performance menus within Sonar, you still need to select the right mode on the EX. Shame!
Consult your sequencer documentation for details on how to install the patch scripts within your sequencer.
SpreadSheetML ...
This option allows you to export a listing of the data in Microsoft SpreadSheetML format.
If the file being printed is either an S1A, S1Y or S1M file, the following dialog will appear allowing you to select
the features to be exported.
E.g. for an S1Y file you will have the option of exporting Voices and/or Performances.
This export option is intended to provide a means of importing EX data into either Microsoft Word or Excel,
which is a great way to start documenting your patch collections
Program Features 39
Undo Buffer
ex.factory supports a multi-level Undo/Redo Buffer facility on all edits.
The Undo/Redo commands can be found both within the Edit Menu, and on the Toolbar.
Please note that the undo buffer is global across all open files, and is cleared when any file is closed. This
may be improved in later releases.
The undo buffer can be cleared by the selecting the Clear Undo Buffer option on the Edit Menu. The
intention of this feature is to help cope with low memory situations, as it will free up the memory used by
stored edits.
Program Features 40
Clipboard Support
The ex.factory clipboard works just like the clipboard in other applications. It allows you to place an Object or
a copy of an Object upon the clipboard and then paste that Object elsewhere within a file or another file.
You can Cut/Copy either a single Object or a Collection of Objects onto the clipboard.
You can only paste from the clipboard to the current location in a file if it makes sense to do so. For example:
The ex.factory clipboard is "local" to the application, and only ex.factory Objects can be placed upon it.
ex.factory does not support the system clipboard so it is not possible to cut and paste between ex.factory and
other applications. I don't think this is a major drawback because I cannot think of any circumstances where
you would wish to do this!
Program Features 41
MIDI Support
To use ex.factory MIDI support, your copy of ex.factory needs to be registered.
Before you use the ex.factory's MIDI support, I recommend that it is worth you reading the section on MIDI
Issues. The EX MIDI SYSEX implementation has a few serious bugs in it that can corrupt your data when you
transfer Voices in either direction if you use an application that does not take the bugs into account.
The MIDI support of ex.factory has been designed to work around these bugs, but it is worth you being aware
of the bugs and what ex.factory has to do to work around them. I say this because the ex.factory MIDI
support, whilst being perfectly usable, cannot get rid of the bugs but has to live with them.
You MUST always use the EX5 MIDI A Input Port to receive commands from ex.factory.
CAUTION: Failure to use the EX5 MIDI A Input port may cause data corruption when receiving voices
from the EX5.
This is because for ex.factory to work around the EX5 MIDI Issues, it needs to send bank select and patch
changes for any voice that has element four active, so that it can get an uncorrupted copy of the fourth
element from the voice edit buffer. The EX5 only receives bank and patch changes on the MIDI A Input Port.
So if you use the MIDI B Input port, the bank and patch change commands that ex.factory send are ignored,
and Element four will come from whatever voices happens to be in the Voice Edit buffer.
NOTE: The ex.factory Channel Number setting in the MIDI Preferences dialog tab MUST match the EX5's
Global Recv Ch setting.
Page 14 of the EX5 manual states that MIDI B In only receives System Realtime messages and MIDI time
code messages.
If you are running ex.factory on Windows 7, there appears to be a Windows 7 issue which stops Windows
from receiving SYSEX data when the same MIDI source is providing MIDI Clock data, which the EX5 does by
default on the MIDI A Output port. This is a Windows 7 problem not present on earlier versions of Windows,
and it occurs even when using a low level tool like MIDI-OX, which verifies that it is not an ex.factory or Java
MIDI bug.
If you are running ex.factory on Windows 7, you must choose one of the following:
Use the EX5 MIDI B Output Port, which does not send MIDI Clock.
Use the EX5 MIDI A Output Port, but disable the sequencer's internal Sync option, which will stop the
generation of MIDI Clock on the MIDI A Output port. Details on the Sync option can be found on page
273 of the EX5 Manual.
The EX5 MIDI A output has an echo option which echoes the data on the MIDI A Input Port to the MIDI A
Output Port. I use this feature in my Live rig to merge data from a MIDI Foot Controller connected to the EX5
MIDI A Input Port with the EX5 MIDI data, so both the foot controller MIDI data and the EX5 MIDI data are
sent on the EX5 MIDI Output Port.
If MIDI Echo is active, you must either turn it off, or use the MIDI B Output port for send data to ex.factory.
Details of the MIDI-A Echo Back option can be found on Page 275 of the EX5 Manual.
For this reason and because I am running on Windows 7, I always connect my PC to the EX5 using the MIDI
A Input Port and the MIDI B Output Port.
Notes:
If the Device Number on the EX is set to ALL then it will accept data for any SYSEX Device.
If the Global Recv Channel on the EX is set to OMN then it will accept data from any MIDI channel
You can check that these settings work by pressing the Test EX MIDI Settings button. When you press this
button a test message is sent to the EX and the subsequent Dialog will tell you if communication was
Program Features 42
successful or if there was a problem.
The above steps set up the basic communication mechanism for MIDI support, and you then can set up the
remaining options according to your preferences:
If you never work with Performances then you can exclude them from the bulk transfers by clearing
the Include Performances in Bulk Transfer checkbox
If you wish for ex.factory to always read the EX Voice/Performances on startup then check the Read
EX MIDI Data on Startup checkbox
If you wish for changes made to the EX Synthesizer Window to be automatically written to the EX
then check the Automatically Update EX after Synth Window Edit checkbox
Finally, it is important that you set up the Edit Confirm during Transfer to EX Memory to match the Edit
Confirm Setting in the EX Utility Other tab, otherwise the exports to EX Memory locations may not work
correctly.
If you change this setting in the EX then you should also update the setting within ex.factory.
Caution: When you load an S1A or S1Y file then the following values can change!
All these values need to match those in ex.factory for correct MIDI operation, so you should always be careful
that loading S1A or S1Y files that have not come from your system (e.g. a download from AMPFEA) do not
disturb these settings.
Finally, you may also wish to tune the options found in the Advanced MIDI Preferences tab of the Preferences
Dialog to speed up the MIDI transfers to EX Memory locations. The default values used by ex.factory are
conservative and set so they should work hopefully on all systems. With careful tuning, I've had transfers
working on my system at 5 seconds per Voice, which is roughly double the speed achieved by using the
default values. If you do tune these values you should do so with care to ensure that your Voices are reliably
transferred.
You can get all the EX Voices/Performances into any Child Window (including the EX Synthesizer Window) by
selecting the Import from MIDI option on the MIDI Menu, or the button on the Tool Bar.
This imports all Voices, and all Performances if you have set the MIDI Preferences options to include
Performances during the bulk transfers.
Similarly you can also export all Voices and Performances using the Export MIDI option on the MIDI Menu, or
the button on the Tool Bar.
Note if you import or export MIDI data to/from a Child Window which is opened from a data file, then the EX
Synthesizer Window is also updated with the Voices/Performances being imported/exported.
And you can also move/copy Voices/Performances between the EX Synthesizer Window and Child Window
using drag and drop.
You can also import/export a Voice or Performance to/from the EX Edit Buffer by selecting a single
Voice/Performance and selecting the import/export to/from EX Edit Buffer options from the Voice's or
Performance's Context Sensitive Menu. You can also use the keyboard shortcuts for doing this
Exporting Voices from ex.factory to the EX Edit Buffer is really handy, for example, when trying to find a
particular Voice in a file and you don't wish to load the file into the EX.
Finally you can also perform all the operations on Voices/Performances in the EX Synthesizer Window that
you can upon Voices/Performances in a normal Child Window.
Program Features 43
If you have the Automatically Update EX after Synth Window Edit option active, when you change data
the EX Synthesizer Window then the changes are automatically exported to the EX. If you are making a lot of
changes, you may find yourself waiting quite a lot during the time it takes to do these exports.
So you may wish to turn the Automatically Update EX after Synth Window Edit option off during intensive
editing sessions. Once you've made all your changes you then select the Export MIDI option on the MIDI
Menu, or the button on the Tool Bar Export option to manually export the changes.
If you quit ex.factory with changes still present in the EX Synthesizer Window that have not been exported,
then you will be asked if you wish to export the data or not.
You need to be aware that MIDI SYSEX transfers were designed in the days when a synth patch could be
expressed in a few hundred bytes worth of data. EX Voices and Performances are quite large in comparison
to synths from those early days. Therefore, transferring Voices/Performances from the EX via MIDI is no
faster than saving them via floppy disk.
As such I believe the MIDI transfers complement the disk/load save operations but they don't replace them.
However they are great to have, and I wouldn't like to be without them now!
And as mentioned above you need to ensure that the settings in ex.factory match those in the EX5, paying
particular care when you load new S1A or S1Y files.
And finally if you make a lot of Drum Voices you need to be aware of the MIDI Issues associated with Drum
Voices, which I haven't been able to find workarounds for.
You access this feature by selecting the EX MIDI Router ... option in the MIDI Menu or by pressing the F12
function key whenever you need it, which activates the following dialog.
The router uses the MIDI channel defined in the MIDI Preferences dialog This can either be the channel
transmitted by the source device, or the specified channel.
The routing is active until you close the dialog by selecting the Close Channel button or by pressing the ESC
key.
You can read the names of the Custom VL Waves currently in the EX by selecting Get VL Wave Names
Option on the MIDI Menu. The VL Wave names can be viewed in the EX Synthesizer Window.
You can also copy open VL70m LIB and MIDI files and drag copy the VL Waves in the file to the User VL
Wave slots in the EX Synthesizer Window. You can copy single Waves or a Selection of Waves.
Please note you can only Drag Copy VL70m voices/elements to the EX Custom VL Wave Slots; you cannot
Drag Move them.
Program Features 44
Default Advanced MIDI Timing Settings
The following table lists the default settings for the options found in the Advanced MIDI Preferences tab of
the Preferences Dialog.
You can diagnose the transferring of Voices to EX Memory via MIDI by using the switches given in
the Advanced MIDI Preferences tab of the Preferences Dialog. These switches are all set during normal
operations, but being able to switch thse options on/off can be a useful debugging aid.
Program Features 45
SMDI Support
If you have a SCSI connection between the EX and your computer you can drag and drop Samples between
the EX Synth Data Window and other Child Windows.
You configure SMDI support by setting up the following in the SMDI Preferences Tab of the Preferences
Dialog.
When ex.factory starts up, it does not know the names of the Samples installed in the EX, so all Sample slots
are assumed to be empty and are thus coloured red within the EX Synthesizer Window.
While the Sample names are loading a dialog window shows you the progress.
Reading 1024 Sample headers takes a few minutes, but you can cancel the operation at any time whilst
retaining the Sample headers that have already been read. So for example if you only have 50 Samples in the
EX, you can abort the operation after they have been read.
You can limit the maximum number of Samples to be read by the Import Limit field in the SMDI Preferences
Tab of the Preferences Dialog.
You can also set ex.factory to automatically import the Sample names when it starts up by setting the Read
EX SMDI Data on ex.factory Startup and Startup Import Limit parameters in the SMDI Preferences Tab of
the Preferences Dialog.
Copy Samples from S1A and S1M Child Windows to the EX Synthesizer Window
Copy Samples from the EX Synthesizer Window to S1A and S1M Child Windows
Either single Samples or multiple Samples can be copied. Note: you can only copy Samples via SMDI, you
cannot move them. This means you must hold down the DRAG MODIFIER key during the drag and drop
operation to ensure the operation is a copy operation.
A dialog window will show the progress of a SMDI data transfer. If you are copying multiple Samples then you
can cancel the operation, and ex.factory will abort the transfer once the transfer of the current Sample being
transferred is completed.
If you load a new S1M file into the EX, then you will need to repeat the Get EX Sample Names command to
ensure that ex.factory's Sample list is consistent with that within the EX.
Program Features 46
Library Support
To use the ex.factory Library, your copy of ex.factory needs to be registered.
Synthesizer
Voices
Performances
Waves
Samples
Arpeggios
Patterns
Song
You can add Objects to the Library using the following methods:
Use the Add To Library function that can be found in an Object's context menu;
Drag Copy an Object or Selection of Objects over the EX Library Window.
Using the copy and paste functions of the Clipboard.
Please note that you can only Drag Copy Objects to the EX Library Window; you cannot Drag Move them.
Referenced objects are also copied to the Library if they are not already present in the Library. For example, if
you copy a Performance and it references Voices then they are also copied if required.
If an object is copied to the Library and it is already present in the library (either a complete match or just a
match in name), then the actions you have configured in the Library Preferences tab in the Preferences Dialog
are taken.
Drag Copy an Object or Selection of Objects from the the EX Library Window to a file.
Using the copy and paste functions of the Clipboard to copy an object from the EX Library Window
and paste it to a destination file.
Referenced objects are also copied from the Library if they are not already present in the destination file and if
the destination file supports them. For example, if you copy a Performance and it references Voices then they
are also copied if required.
You can also Drag Copy an Object or Selection of Objects from the the EX Library Window to the EX Synth
Window
Program Features 47
List File Usage
If you right click over an object in the Library, and select the List File Usage... menu option, a dialog will be
displayed which shows all the files in the Library that make use of that object.
Several files may refer to a single object based on the setting on the Library import preferences if they are set
not to add identical objects. If this is set only a single copy is stored, and all files that contained the identical
object only refer to that single object within the Library
New Author
If you set the Library Table View to show Authors, you can right click in the Table and select the New Author
menu option, which displays a dialog that allows you to create a new Author. This option is also available in
the Library Tree View by right clicking over the Author branch
Program Features 48
Find and Goto Facilities
Find Dialog
ex.factory supports the ability to find Objects either by name or by category (where an Object supports
categories, such as Voices).
Selecting the Find ... option on the Edit Menu brings up the Find dialog, that allows you to specify the string to
search for. In addition there are several options that can be selected
Simply select the Category from the "Find Category" combo box that you wish to search for, and that's all
there is to it.
Program Features 49
Goto Dialog
Selecting this option on the on the Edit Menu brings up the Goto Dialog
The types of Objects that can be selected depends upon the type of file
If a Table View is selected then you can only go the type of objects shown by the
Table
Item Number The number of the Object to go to.
Note: At present Voice numbers can only be expressed in the range (0-256). The
dialog does not understand the concept of Voice banks
Note that Goto is not support in the EX Library Window.
Program Features 50
Editing Features
ex.factory supports the following editing features:
Program Features 51
General Editing Features
ex.factory supports many editing features, some of which are classed as general features that are applicable
to all or most Objects.
The general features are described here in one place for convenience:
Copy/Move Object
Initialise Object
Rename Object
Insert Object
Delete Object
List Object References
Sort Objects
Export Objects
Remap Objects
Add Objects to Library
The following table shows whether or not a general edit operation can be applied to a particular type of
Object:
Object Type Move Copy Initialise Rename Insert Delete List Sort Export Remap Add To in File
Library Type(s)
Synth Object Y Y Y N N N N N N Y Y S1A, S1Y,
S1V
Voice Collection Y Y Y N N N N Y Y Y Y S1A, S1Y,
S1V
Voice Y Y Y Y Y Y Y N N Y Y S1A, S1Y,
S1V
Voice Arpeggiator Y Y Y N N N N N N N N S1A, S1Y,
Unit S1V
Voice Element Y Y Y N N N N N N Y N S1A, S1Y,
Collection S1V
Voice Element Y Y Y N Y Y N N N Y N S1A, S1Y,
S1V
Voice Drum Note Y Y Y N Y Y N N N Y N S1A, S1Y,
S1V
Voice Controller Y Y Y N N N N N N N N S1A, S1Y,
Collection S1V
Voice Controller Y Y Y N Y Y N N N N N S1A, S1Y,
S1V
Voice Effects Unit Y Y Y N N N N N N N N S1A, S1Y,
S1V
Voice Reverb Effect Y Y Y N N N N N N N N S1A, S1Y,
Unit S1V
Voice Chorus Unit Y Y Y N N N N N N N N S1A, S1Y,
S1V
Voice Insert Effect Y Y Y N N N N N N N N S1A, S1Y,
Unit 1 S1V
Voice Insert Effect Y Y Y N N N N N N N N S1A, S1Y,
Unit 2 S1V
Voice Scene Y Y Y N N N N N N N N S1A, S1Y,
Collection S1V
Voice Scene Y Y Y N Y Y N N N N N S1A, S1Y,
S1V
Performance Y Y Y N N N N Y Y N Y S1A, S1Y
Collection
Performance Y Y Y Y Y Y N N N N Y S1A, S1Y
Performance Y Y Y N N N N N N N N S1A, S1Y
Arpeggiator Unit
Performance Part Y Y Y N N N N N N N N S1A, S1Y
Collection
Performance Part Y Y Y N Y Y N N N N N S1A, S1Y
Performance Effects Y Y Y N N N N N N N N S1A, S1Y
Unit
Performance Reverb Y Y Y N N N N N N N N S1A, S1Y
Unit
Performance Chorus Y Y Y N N N N N N N N S1A, S1Y
Unit
Performance Scene Y Y Y N N N N N N N N S1A, S1Y
Collection
Performance Scene Y Y Y N Y Y N N N N N S1A, S1Y
Wave Collection Y Y Y N N N N Y Y N Y S1A, S1M
Wave Y Y Y Y Y Y Y N N N Y S1A, S1M
Wave Layer Y Y Y N Y Y N N N N N S1A, S1M
Sample Collection Y Y Y N N N N Y Y N Y S1A, S1M
Sample Y Y Y Y Y Y Y N N N Y S1A, S1M
Program Features 52
Pattern Collection Y Y Y N N N N Y Y N Y S1A, S1P
Pattern Y Y Y Y Y Y Y N N N Y S1A, S1P
Pattern Track Y Y Y N Y Y N N N N N S1A, S1P
Arpeggio Collection Y Y Y N N N N Y Y N Y S1A, S1R
Arpeggio Y Y Y Y Y Y Y N N N Y S1A, S1R
Arpeggio Track Y Y Y N Y Y N N N N N S1A, S1R
Song Y Y Y Y N N N N Y N Y S1A, S1S
Song Track Y Y Y N Y Y N N N N N S1A, S1S
Keymap Collection Y Y Y N N N N N N N N S1A
Keymap Y Y Y N Y Y N N N N N S1A
System Settings Y Y Y N N N N N N N N S1A, S1Y
Program Features 53
Copy/Move Object
ex.factory makes extensive use of drag and drop for copying and moving Objects.
You can drag copy or move Objects within a file or between files, and you can drag single items or multiple
items.
The default drag operation is to move an Object, and there are two types of move operations:
Moving an Object within its Parent Collection (e.g. moving a Voice from location 1 to location 4)
Moving an Object to a new Parent Collection (e.g. moving a Voice from one file to another file)
When you move an Object to a new Parent Collection then the original Object is removed and replaced with
an initialised Object of the same type.
To copy an Object using drag and drop, you must have the DRAG MODIFIER key held down during the
operation. The DRAG MODIFIER key is platform dependent. On the PC platform it is the CTRL key.
You can tell that a copy operation is in progress as the drag image icon has a + sign visible.
When you drag multiple items they must be of the same type. For example you can drag several Voices, but
not Voices and Performances together.
ex.factory provides the following drag/drop feedback to assist in determining the effects of a drag/drop
operation:
Cursor: Indicates if the move is either a copy or a move, or if the drop is invalid (e.g. trying to drag a
Voice onto an Element)
Drag image: A simple pictorial representation of what is being dragged
Drop Point: ex.factory shows the drop point as either a cue line drawn between Objects if an Object is
being moved within its parent (e.g. an Element within a Voice), or a cue rectangle drawn around the
drop location for all other moves and copy operations which are valid
When a Child Window is split, Objects can be dragged and dropped between either side of the split point. This
is handy, for example, for dragging Objects between the start of a Collection and the end of a Collection.
The Tree and Table views will auto-scroll in drag and drop operations, when you move the cursor to either the
top or the bottom of the pane and hold it there.
If you drag an Object onto a Tree View and over a valid parent Object (e.g. an Element over a Voice) and the
parent Object is collapsed within the Tree, and you hold the cursor over the Parent Object for a few seconds it
will automatically expand.
ex.factory will maintain the references to Objects in a Collection when moving Objects within a file, as follows:
The ability to update references following a move or to copy referenced Objects during a move to a new file
can be selectively turned on or off within the Preferences Dialog.
When you are dragging certain Objects that can only be copied and not moved, don't forget that you need to
hold down the DRAG MODIFIER key for the drag to be valid. For example, if you are dragging a preset Voice
from the EX Synthesizer Window onto a Performance Part then you must be performing a copy operation.
Here is a list of items that can only be copied and not moved
Preset Voices
Preset Waves
Preset VL Waves
Preset Samples
Preset Arpeggios
User Voices when dragged onto Performance Parts
User Waves when dragged onto Voice Elements
Program Features 54
User Samples when dragged onto Voice Drum Elements, Wave Layers or Keymaps, or when copied
between ex.factory and the EX via SMDI
User Patterns when dragged onto Keymaps
User Arpeggios when dragged onto Voice Arpeggiator Units and Performance Arpeggiator Units
Initialise Object
The Initialise command is found upon the Context Sensitive Menu in both the Tree View and the Table
View.
Rename Object
The dialog will provide a drop down list for selecting a Category value for Objects that support it:
To rename Objects in the Table View, simply click in Category Cell of the required Object to select the
Category value from a drop down list, or double click in the Name Cell of the required Object to edit the name.
Insert Object
The Insert command is found upon the Context Sensitive Menu in both the Tree View and the Table View.
You can insert more than one Object at a time by selecting multiple Objects prior to executing the Insert
command.
For example if you wish to insert three Performances at location 10, select Performances 10, 11 and 12 and
then execute the Insert command.
Note that when you insert one or more Objects, then the commensurate number of Objects at the end of the
Parent Collection are removed if required. This is necessary to maintain the correct number of Objects in a
Collection.
For example, a Voice Collection in an S1V file can only contain 256 Voices, so if two Voices are inserted into
the Collection then two Voices must be removed from the end of the Collection to maintain the correct size.
ex.factory will maintain the references to Objects in a Collection when inserting Objects, as follows:
Program Features 55
Collection Type in File Type Objects Updated
Voice S1A, S1Y Performance Parts
Wave S1A Voice Elements (AWM Elements using RAM Waves)
Sample S1A Voice Elements (Drum Elements using RAM Samples)
Wave Layers (using RAM Samples)
Sample Keymaps (using RAM Samples)
Pattern S1A Pattern Keymaps
Arpeggio S1A Voice Arpeggiator Units (using User Arpeggios)
Performance Arpeggiator Units (using User Arpeggios)
For example if you insert a Voice into an S1A file at Location 10, then any Performance Parts which are
referencing Voices at Locations 10 and above will be updated to ensure they still reference the same Voices
after the insert operation as they were before the insert operation.
Delete Object
The Delete command is found upon the Context Sensitive Menu in both the Tree View and the Table View.
You can delete more than one Object at a time by selecting multiple Objects prior to executing the Delete
command.
For example if you wish to delete three Performances at location 10, select Performances 10, 11 and 12 and
then execute the Delete command.
Note that when you delete one or more Objects, then a commensurate number of Objects at the end of the
Parent Collection are added if required. This is necessary to maintain the correct number of Objects in a
Collection.
For example, a Voice Collection in an S1V file must contain 256 Voices, so if two Voices are deleted from the
Collection then two Voices must be added to the end of the Collection to maintain the correct size.
ex.factory will maintain the references to Objects in a Collection when deleting Objects, as follows:
The List References command is found upon the Context Sensitive Menu in both the Tree View and
the Table View.
The Object being referenced is shown at the top of the Dialog followed by the Objects referencing it.
Program Features 56
Sort Objects
The Sort command is found upon the Context Sensitive Menu in both the Tree View and the Table View.
The type of sort operations available depend upon the types of Object being sorted:
In the Table View the sort options are accessed via the Context Sensitive Menu for any Object. The sort can
also be initiated by clicking in the Category, Name or Type column headers.
Note: Sorting Voices by Voice Type places all the AWM Voices at the start of a file, thus this is handy for
avoiding those annoying "DSP Resource Full" errors upon the EX when scrolling through Voices whilst in
Performance Edit Mode.
The Map to FLASH and Map to RAM commands are found upon the Context Sensitive Menu in both
the Tree View and the Table View.
Element remapping is useful for creating a new file that points to FLASH Waves as opposed to RAM Waves
and vice versa.
The following types of Elements within the selected Objects or their Child Objects are not affected by the
remapping commands:
Synth Objects
Voice Collection Objects
Voice Objects
Voice Element Collections
Drum Note Objects
Voice Element Objects
This gives you considerable flexibility regarding how to remap Elements within a file.
Program Features 57
Synth Editing Features
ex.factory supports the following editing operations upon the Synth Object within the Tree View of a Child
Window:
Move
Copy
Initialise
Map to Flash
Map to RAM
Add To Library
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access these features, right click over the Synth Object to activate the Synth Object's Context Sensitive
Menu.
The Synth Object is only shown within a Tree View and is the first Object in the Tree View. Its name identifies
the type of file.
Program Features 58
Voice Editing Features
ex.factory supports the following editing operations upon the Voice Collection shown within the Tree View of
a Child Window:
Copy/Move
Initialise
Map to Flash
Map to RAM
Add To Library
Sort by Name
Sort by Category
Sort by Type
Save As S1V File
Import from EX Memory (only available if ex.factory is registered and MIDI support is enabled)
Export to EX Memory (only available if ex.factory is registered and MIDI support is enabled)
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
The Voice Collection Object in an S1A, S1Y or S1V file is only shown within a Tree View and is called User
Voices.
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Voice Collection to activate the Voice Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Voice Objects within the Tree View or Table
View of a Child Window:
Copy/Move
Initialise
Rename
Insert
Delete
New
Map to Flash
Map to RAM
List References
Add To Library
Import from EX Memory (only available if ex.factory is registered and MIDI support is enabled)
Export to EX Memory (only available if ex.factory is registered and MIDI support is enabled)
Import from EX Edit Buffer (only available if ex.factory is registered and MIDI support is enabled)
Export to EX Edit Buffer (only if available ex.factory is registered and MIDI support is enabled)
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a Voice
or selection of Voices to activate the Voice's Context Sensitive Menu.
Within the Tree View of a Child Window you can also directly edit the following Objects that make up a Voice :
New
Allows you to create a new voice at the selected location from one of the following EX voice types.
AWM
VL + AWM
FDSP
AN(POLY)
AN(LAYER)
AN + FDSP
Drum
This is different to initialising a voice, which always creates a default AWM voice.
If you have set the Device Type Preferences option to EX7 then only the AWM, FDSP, AN and Drum options
are presented; VL+AWM, AN(LAYER) and AN+FDSP Voices are only available upon the EX5/EX5R.
Program Features 59
Import from EX Memory
Imports Voices from the EX Memory locations into the currently selected Child Window.
A Single Voice
A Selection of Voices
All Voices by selecting the Voice Collection
Export to EX Memory
Exports Voices from the currently selected Child Window to the EX Memory locations.
A Single Voice
A Selection of Voices
All Voices by selecting the Voice Collection
Imports the Voice currently in the EX Edit Buffer (i.e. the currently selected Voice on the EX) into the Voice
currently selected within the active Child Window.
Note if you have more than one Voice selected then this operation is not available.
Exports the Voice currently selected within the active Child Window to the EX Edit Buffer.
Note if you have more than one Voice selected then this operation is not available.
ex.factory supports the following editing operations upon the Voice Arpeggiator Object shown within the Tree
View of a Child Window:
Copy/Move
Set Arpeggio
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move, Copy and Set (which you do via "Drag and Drop"), right click over the
Voice Arpeggiator to activate the Voice Arpeggiator's Context Sensitive Menu.
You can Copy/Move Voice Arpeggiators to/from Performance Arpeggiators as well as Voice
Arpeggiators.
Set Arpeggio
If the Voice resides in an S1A file, then a User Arpeggio from the same file can be dragged onto a Voice's
Arpeggiator to set the Arpeggio used by the Voice.
Preset Arpeggios from the EX Synthesizer Window can be dragged onto a Voice's Arpeggiator as well.
Please note, the drag operation for this is COPY only. You cannot MOVE an Arpeggio onto an Arpeggiator.
ex.factory supports the following editing operations upon the Voice Element Collection shown within
the Tree View of a Child Window:
Copy/Move
Initialise
Add Drum Element (Drum Voices only)
Sort Drum Elements (Drum Voices only)
Map to Flash
Map to RAM
List By Element (Drum Voices only)
List By Drum Key (Drum Voices only)
Cut to Clipboard
Copy to Clipboard
Program Features 60
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Voice Element Collection to activate the Voice Element Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Voice Element Objects within the Tree View of
a Child Window:
Copy/Move
Set Wave/Sample
Initialise
Insert (Drum Voices only)
Add Drum Element (Drum Voices only)
Delete
Map to Flash
Map to RAM
List By Element (Drum Voices only)
List By Drum Key (Drum Voices only)
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move, Copy and Set (which you do via "Drag and Drop"), right click over a
Voice Element or selection of Voices Elements to activate the Voice Element's Context Sensitive Menu.
Set Wave/Sample
The Wave for an AWM Element and Sample for a Drum Element can be set by drag copying a Wave/Sample
onto the Element.
Preset Waves from the EX Synthesizer Window can be dragged onto any AWM Element
A RAM Wave from an S1A file can be dragged onto any AWM Element within the same file
A Wave in an S1M that is referenced as a FLASH or RAM bank can be dragged onto any AWM
Element within a file that references the S1M file
Preset Samples from the EX Synthesizer Window can be dragged onto any Drum Element
A RAM Sample from an S1A file can be dragged onto any Drum Element within the same file
A Sample in an S1M that is referenced as a FLASH or RAM bank can be dragged onto any Drum
Element within a file that references the S1M file
Preset/User VL Waves from the EX Synthesizer Window can be dragged onto VL Elements
Please note, the drag operation for this is COPY only. You cannot MOVE a Sample or Wave onto an Element.
If you exceed the limit of 128 Drum Elements per Drum Voice (128) or if you exceed the total number of
Elements allowed in a file (1024) then ex.factory will report the error to you.
You can add more than one Drum Element at a time if you wish by holding down the ALT key when you
select the Add Drum Elements option from the Context Sensitive Menu. Holding down the ALT key will bring
up the following Dialog Box which allows you to specify the number of Drum Elements to add:
For Drum Voices, Drum Elements can be grouped and displayed by the key to which they are assigned.
In ex.factory, Drum Elements grouped by their assigned key are called Drum Keys.
Program Features 61
The default option is to list Drum Elements by the order in which they were defined ( List by Element),
however grouping them by Drum Key ( List By Drum Key), allows a more intuitive way of working with Drum
Elements.
All Element editing features also work for Drum Keys, i.e. you can initialise/insert/delete/move/copy and
remap Drum Keys within a Drum Voice.
ex.factory supports the following editing operations upon the Voice Controllers Collection shown within
the Tree View of a Child Window:
Copy/Move
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
The Voice Controllers Collection Object in an S1A, S1Y or S1V file is only shown within a Tree View and is
called User Voices.
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Voice Controllers Collection to activate the Voice Controllers Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Voice Controller Objects within the Tree View
or Table View of a Child Window:
Copy/Move
Initialise
Insert
Delete
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a Voice
Controller or selection of Voice Controllers to activate the Voice Controller's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Voice Effects Units Collection shown within
the Tree View of a Child Window:
Copy/Move
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Voice Effects Units Collection to activate the Voice Effects Units Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the individual Voice Effects Objects (FDSP,
Reverb, Chorus, INS1 and INS2 effects units) within the Tree View of a Child Window:
Copy/Move
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a Voice
Effect or selection of Voice Effects to activate the Voice Effects's Context Sensitive Menu.
You copy/move the Voice Reverb and Chorus Effects to a Performance in one operation by dragging the
Voice Effects Units Collection (the FDSP, INS1 and INS2 effects are ignored).
ex.factory supports the following editing operations upon the Voice Scene Collection shown within the Tree
View of a Child Window:
Copy/Move
Program Features 62
Initialise
Edit
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Voice Scene Collection to activate the Voice Scene Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Voice Scene Objects within the Tree View of
a Child Window:
Copy/Move
Initialise
Insert
Delete
Edit
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a Voice
Scene or selection of Voice Scenes to activate the Voice Scene's Context Sensitive Menu.
Edit Scenes
ex.factory provides the ability to precisely edit Voice Scenes, which is something you cannot do precisely
upon the EX.
The dialog is pretty self explanatory. To edit a "cell" simply double click in it and you can either enter a
numeric value or use the up/down arrows (visible only when editing a cell, as shown in the above example for
Scene 1 of Knob 3) to increment/decrement the values.
Program Features 63
Performance Editing Features
ex.factory supports the following editing operations upon the Performance Collection shown within the Tree
View of a Child Window:
Copy/Move
Initialise
Sort by Name
Sort by Category
Save As S1Y File
Add To Library
Import from EX Memory (only available if ex.factory is registered and MIDI support is enabled)
Export to EX Memory (only available if ex.factory is registered and MIDI support is enabled)
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
The Performance Collection Object in an S1A or S1Y file is only shown within a Tree View and is called
User Performances.
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Performance Collection to activate the Performance Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Performance Objects within the Tree View
or Table View of a Child Window:
Copy/Move
Initialise
Rename
Insert
Delete
Add To Library
Import from EX Memory (only available if ex.factory is registered and MIDI support is enabled)
Export to EX Memory (only available if ex.factory is registered and MIDI support is enabled)
Import from EX Edit Buffer (only available if ex.factory is registered and MIDI support is enabled)
Export to EX Edit Buffer (only if available ex.factory is registered and MIDI support is enabled)
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a
Performance or selection of Performance to activate the Performance's Context Sensitive Menu.
Within the Tree View of a Child Window you can also directly edit the following Objects that make up a
Performance:
Imports Performances from the EX Memory locations into the currently selected Child Window.
A Single Performance
A Selection of Performances
All Performances by selecting the Performance Collection
Export to EX Memory
Exports Performances from the currently selected Child Window to the EX Memory locations.
A Single Performance
A Selection of Performances
All Performances by selecting the Performance Collection
Imports the Performance currently in the EX Edit Buffer (i.e. the currently selected Performance on the EX) to
the Performance currently selected within the active Child Window.
Program Features 64
Note if you have more than one Performance selected then this operation is not available.
Exports the Performance currently selected within the active Child Window to the EX Edit Buffer.
Note if you have more than one Performance selected then this operation is not available.
ex.factory supports the following editing operations upon the Performance Arpeggiator Object shown within
the Tree View of a Child Window:
Copy/Move
Set Arpeggio
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move, Copy and Set (which you do via "Drag and Drop"), right click over the
Performance Arpeggiator to activate the Performance Arpeggiator's Context Sensitive Menu.
You can Copy/Move Performance Arpeggiators to/from Voice Arpeggiators as well as Performance
Arpeggiators.
Set Arpeggio
If the Performance resides in an S1A file, then a User Arpeggio from the same file can be dragged onto a
Performance's Arpeggiator to set the Arpeggio used by the Performance.
Preset Arpeggios from the EX Synthesizer Window can be dragged onto a Performance's Arpeggiator as well.
Please note, the drag operation for this is COPY only. You cannot MOVE an Arpeggio onto an Arpeggiator.
ex.factory supports the following editing operations upon the Performance Part Collection shown within
the Tree View of a Child Window:
Copy/Move
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Performance PartCollectionto activate the Performance PartCollection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Performance Part Objects within the Tree View
of a Child Window:
Copy/Move
Set Voice
Initialise
Insert
Delete
Set/Clear Layer Switch
Set/Clear Insert Switch
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move, Copy and Set (which you do via "Drag and Drop"), right click over a
Performance Part or selection of Performance Parts to activate the Performance Part's Context Sensitive
Menu.
Set Voice
If the Performance resides in an S1A or S1Y file, then a User Voice from the same file can be dragged onto a
Performance Part to set the Voice used by the Performance Part.
Preset Voices from the EX Synthesizer Window can be dragged onto Performance Parts as well.
Note: A Voice cannot be dropped onto a Part if in doing so it would cause a "DSP Resource Full Error".
Program Features 65
If you drop a User Voice on a Part then ex.factory will ask you if you wish to set up the Part so that the Voice
sounds identical to the way the Voice would in Voice mode, and if you wish the Performance effects settings
to be set from this Voice. Note the reason for the two part question is because the Reverb and Chorus effects
are shared between all Parts in a Performance, so you can only choose one!
The parameters that are affected in the Part if you elect to set the Part up to sound like the source Voice are:
Part Volume
Chorus Send Level
Reverb Send Level
Portamento switch (on/off), mode (fingered/full) and time
Key Assign (single/multi)
Key Mode (mono/poly)
Pitchbend upper and lower depth
All modification parameters in the Part's "Sound" Tab are reset to their default values
Please note, the drag operation for this is COPY only. You cannot MOVE a Voice onto a Performance Part.
The Set/Clear Layer Switch options can be found on the Performance Part's Context Sensitive Menu.
Set the Layer Switch for the Part, as long as the maximum number of allowed Layer Switches is not
exceeded
Clear the Layer Switch for the Part
Note: this command is not available if more than one Performance Part is selected.
The Set/Clear Layer Switch options can be found on the Performance Part's Context Sensitive Menu.
Set the Insert Switch for the Part, as long as the maximum number of allowed Insert Switches is not
exceeded
Clear the Insert Switch for the Part
Note: this command is not available if more than one Performance Part is selected.
ex.factory supports the following editing operations upon the Performance Effects Units Collection shown
within the Tree View of Child Window:
Copy/Move
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Performance Effects Units Collection to activate the Performance Effects Units Collection's Context
Sensitive Menu.
ex.factory supports the following editing operations upon the individual Performance Effects Objects
(Reverb and Chorus effects units) within the Tree View of a Child Window:
Copy/Move
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a
Performance Effect or selection of Performance Effects to activate the Performance Effects's Context
Sensitive Menu.
You copy/move the Performance Reverb and Chorus Effects to a Voice in one operation by dragging the
Performance Effects Units Collection .
Program Features 66
Performance Scene Editing Features
ex.factory supports the following editing operations upon the Performance Scene Collection shown within
the Tree View of a Child Window:
Copy/Move
Initialise
Edit
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Performance Scene Collection to activate the Performance Scene Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Performance Scene Objects within the Tree
View of a Child Window:
Copy/Move
Initialise
Insert
Delete
Edit
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a
Performance Scene or selection of Performance Scenes to activate the Performance Scene's Context
Sensitive Menu.
Edit Scenes
ex.factory provides the ability to precisely edit Performance Scenes, which is something you cannot do
precisely upon the EX.
The dialog is pretty self explanatory. To edit a "cell" simply double click in it and you can either enter a
numeric value or use the up/down arrows (visible only when editing a cell, as shown in the above example for
Scene 1 of Knob 3) to increment/decrement the values.
Program Features 67
Wave Editing Features
ex.factory supports the following editing operations upon the Wave Collection shown within the Tree View of
a Child Window:
Copy/Move
Initialise
Sort by Name
Sort by Category
Save As S1M File
Add To Library
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
The Wave Collection Object in an S1A or S1M file is only shown within a Tree View and is called User
Waves.
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Wave Collection to activate the Wave Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Wave Objects within the Tree View or Table
View of a Child Window:
Copy/Move
Initialise
Rename
Insert
Delete
Add Wave Layer
Import
List References
Add To Library
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a Wave
or selection of Waves to activate the Wave's Context Sensitive Menu.
Within the Tree View of a Child Window you can also directly edit the Wave's Wave Layers.
Import Wave
When you select this option, ex.factory will prompt for the file to load. You can select more than one file to
import if you wish.
The rules for importing Samples are applied to determine whether or not a Wave can be imported.
ex.factory mimics the EX behaviour for importing stereo Samples by creating two Samples and a Wave which
references the Samples. The Wave has two Layers one panned hard left referencing the left Sample and the
other panned hard right referencing the right Sample.
This creation of Waves and Samples is a sensible behaviour, as an AWM Voice cannot reference a Sample
(although a drum Voice can). Both the Wave and Sample share the same name up to the first six characters.
After that name of the Left Sample is appended with "-L" and name of the right Sample is appended with "-R".
ex.factory also supports the import of Samples via drag and drop. For example on the PC, WAV files shown in
Windows Explorer can be dragged onto an S1A or S1M file open in ex.factory.
Note, due to a Java limitation ex.factory can only detect if a valid file is being dragged once the drop occurs.
More than one file can be dropped into ex.factory, which allows for the rapid import of a Sample set.
ex.factory supports the following editing operations upon the Wave Layer Objects within the Tree View of
a Child Window:
Copy/Move
Set Sample
Initialise
Insert
Delete
Add Wave Layers
Program Features 68
Edit
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move, Copy and Set (which you do via "Drag and Drop"), right click over a
Wave Layer or selection of Wave Layers to activate the Wave Layer's Context Sensitive Menu.
Set Sample
If the Wave resides in an S1A file, then a RAM Sample from the same file can be dragged onto a Wave Layer
to set the Sample used by the Wave Layer.
Preset Samples from the EX Synthesizer Window can be dragged onto Wave Layers as well.
Please note, the drag operation for this is COPY only. You cannot MOVE a Sample onto a Wave Layer.
If you exceed the limit of 128 Wave Layers per Wave (128) or if you exceed the total number of Wave Layers
allowed in a file (1024) then ex.factory will report the error to you.
You can add more than one Wave Layer at a time if you wish by holding down the ALT key when you select
the Add Wave Layer option from the Context Sensitive Menu. Holding down the ALT key will bring up the
following Dialog Box which allows you to specify the number of Wave Layers to add:
The Edit Wave Layer Dialog allows you to edit the Wave Layer parameters:
The three "panes" within the Dialog represent the three main TABS within the EX5 editing screens for Wave
Layers.
Please refer to the following sections of the EX5 User Manual for descriptions of the parameters within the
ex.factory Edit Wave Layer Dialog:
Program Features 69
Sample Editing Features
ex.factory supports the following editing operations upon the Sample Collection shown within the Tree View
of a Child Window:
Copy/Move
Initialise
Export
Sort by Name
Sort by Category
Save As S1M File
Add To Library
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
The Sample Collection Object in an S1A or S1M file is only shown within a Tree View and is called User
Samples.
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Sample Collection to activate the Sample Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Sample Objects within the Tree View or Table
View of a Child Window:
Copy/Move
Initialise
Rename
Insert
Delete
Edit
Import
Export
List References
Add To Library
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a
Sample or selection of Samples to activate the Sample's Context Sensitive Menu.
Edit Sample
The Edit Sample Dialog allows you to edit the Sample parameters. You can also audition thse Sample using a
keyboard connected to the Keyboard Input MIDI Port defined in the MIDI Preferences options dialog to play
notes. Please note that the MIDI support is "simplistic" mono note detection, don't try and play chords!
The Edit Sample Dialog provides all the controls available in the EX5 Sample Edit Mode. Rather than repeat
the descriptions for these parameters given in the EX5 User Manual, please refer to Pages 179 to 182 of the
Program Features 70
EX5 User Manual.
The Edit Sample Dialog provides three additional controls to allow Samples to be played back within
ex.factory:
Use the Playback Volume slide to adjust the level that samples are played back at (this is not an editing
feature and is not saved).
Note: Java has a maximum Sample playback rate of 48KHz. When shifting the centre key, the adjustment is
achieved by changing the Sample rate (as on the EX). If changing the centre key causes the Java sample rate
to be exceeded, ex.factory will sample rate convert the Sample to maintain the Sample rate within limits.
When this happens the playback button is coloured orange (as shown above). When no sample rate
conversion has taken place the button is its normal colour.
Note you must have the Tritonus Java Sound extension libraries installed for ex.factory to be able to perform
the sample rate conversion. If the Playback button is coloured orange and there is no sound when you press
the play button, then the most likely problem is you are missing the Tritonus Sample Libraries.
If the Sample is looped then the Sample playback will remain in the loop untill either:
The button is pressed, following which Sample playback will continue to the end of the Sample
The button is pressed, following which Sample playback is halted
If you are playing a note on the keyboard, then until the note is released.
Import Sample
When you select this option, ex.factory will prompt for the file to import.You can select more than one file to
import if you wish
If the Sample is an eight bit sample, then the data is assumed to be unsigned data
If the Sample is a sixteen bit sample, then the data is assumed to be signed data
The first step is to convert the Sample to PCM format if it is not a PCM sample
The next step is to convert from little endian data to big endian data if required
The final step is to convert the sample rate if required.
If the Sample rate is not 44.1KHz, you have the option of sample rate converting to 44.1KHz or leaving the
sample unconverted, which is what the EX does (it adjusts the centre key to compensate) or you can attempt
to sample rate convert to 44.1KHz
If you wish to be able to perform the sample rate conversion then you will need the Tritonus Java Sound
extension libraries installed.
Please note that even with these libraries installed, sample rate conversion still seems to be limited to integer
multiples (e.g. 22.05 to 44.1 KHz), but it's an improvement over the default Java Sound implementation that
does not allow sample rate conversion.
If the file is not a valid audio file, or if the type of audio file cannot be converted to the required format, then
ex.factory will put up an error message indicating what the problem is.
ex.factory mimics the EX behaviour by creating a Sample and a Wave that references the Sample. Both the
Wave and Sample share the same name. This is a sensible behaviour as an AWM Voice cannot reference a
Sample (although a drum Voice can).
ex.factory also supports the import of Samples via drag and drop. For example on the PC, WAV files shown in
Windows Explorer can be dragged onto an S1A or S1M file open in ex.factory. Note, due to a Java limitation
ex.factory can only detect if a valid file is being dragged once the drop occurs.
More than one file can be dropped into ex.factory, which allows for the rapid import of a Sample set.
Export Sample
When you select this option, ex.factory will prompt for the directory within which to save the WAV files. The
filename for each WAV file is taken from the Sample Name, so be sure your Sample names are unique,
otherwise a Sample file may get overwritten by another.
Program Features 71
Note: the following characters that are legitimate within Sample Names are not allowed within Filenames (at
least on a PC). If these characters are used in a Sample name then they are replaced with an underscore
character in the WAV filename.
<>?*"|\/:
Program Features 72
Pattern Editing Features
ex.factory supports the following editing operations upon the Pattern Collection shown within the Tree View
of a Child Window:
Copy/Move
Initialise
Sort by Name
Save As S1P File
Add To Library
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
The Pattern Collection Object in an S1A or S1P file is only shown within a Tree View and is called User
Patterns.
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Pattern Collection to activate the Pattern Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Pattern Objects within the Tree View or Table
View of a Child Window:
Copy/Move
Initialise
Rename
Insert
Delete
List References
Add To Library
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a
Pattern or selection of Patterns to activate the Pattern's Context Sensitive Menu.
Within the Tree View of a Child Window you can also directly edit the Tracks that make up a Pattern .
ex.factory supports the following editing operations upon Pattern Tracks shown within the Tree View of
a Child Window:
Copy/Move
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a
Pattern Track to activate the Pattern Track's Context Sensitive Menu.
Program Features 73
Arpeggio Editing Features
ex.factory supports the following editing operations upon the Arpeggio Collection shown within the Tree
View of a Child Window:
Copy/Move
Initialise
Sort by Name
Save As S1R File
Add To Library
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
The Arpeggio Collection Object in an S1A or S1R file is only shown within a Tree View and is called User
Arpeggios.
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Arpeggio Collection to activate the Arpeggio Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Arpeggio Objects within the Tree View or Table
View of a Child Window
Copy/Move
Initialise
Rename
Insert
Delete
List References
Add To Library
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a
Arpeggio or selection of Arpeggios to activate the Arpeggio's Context Sensitive Menu.
Within the Tree View of a Child Window you can also directly edit the Tracks that make up a Arpeggio.
ex.factory supports the following editing operations upon Arpeggio Tracks shown within the Tree View of
a Child Window:
Copy/Move
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a
Arpeggio Track to activate the Arpeggio Track's Context Sensitive Menu.
Program Features 74
Song Editing Features
ex.factory supports the following editing operations upon the Song shown within the Tree View of a Child
Window:
Copy/Move
Initialise
Rename
Save As S1S File
Add To Library
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
The Song Object in an S1A or S1S file is only shown within a Tree View and is called User Song:Name
where Name is the actual name of the song.
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Song to activate the Song's Context Sensitive Menu.
You can also directly edit the Tracks that make up a Song.
ex.factory supports the following editing operations upon Song Tracks shown within the Tree View of a Child
Window:
Copy/Move
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over a Song
Track to activate the Song Track's Context Sensitive Menu.
Program Features 75
Keymap Editing Features
ex.factory supports the following editing operations upon the Keymap Collection shown within the Tree View
of a Child Window:
Copy/Move
Initialise
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
The Keymap Collection Object in an S1A file is only shown within a Tree View and is called User Keymaps.
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
Keymap Collection to activate the Keymap Collection's Context Sensitive Menu.
ex.factory supports the following editing operations upon the Keymap Objects within the Tree View or Table
View of a Child Window:
Copy/Move
Initialise
Set Sample/Pattern
Insert
Delete
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
To access all features other than Move, Copy and Set (which you do via "Drag and Drop"), right click over a
Keymap or a selection of Keymaps to activate the Keymap's Context Sensitive Menu.
Set Sample/Pattern
The Sample or Pattern for a Keymap can be set by drag copying a Sample, Pattern or Pattern Track onto the
Keymap.
Preset Samples from the EX Synthesizer Window can be dragged onto any Keymap
A RAM Sample from an S1A file can be dragged onto any Keymap within the same file
A Sample in an S1M file that is referenced as a FLASH bank can be dragged onto any AWM Element
within a file that references the S1M file
A Pattern from an S1A file can be dragged onto any Keymap within the same file
A Pattern Track from an S1A file can be dragged onto any Keymap within the same file
Please note, the drag operation for this is COPY only. You cannot MOVE a Sample or Pattern onto a
Keymap.
The EX5 only allows you to assign either RAM or FLASH Samples to Keymap Notes.
By happy circumstance, ex.factory allows you to also use Preset Samples, as when developing the Keymap
support I assumed the EX allowed all three Sample sources for Keymaps. Anyway, the EX will happily use
Preset Samples on Keymaps but there are a few things to be aware of:
This is an undocumented EX5 feature, so I'm not certain if there could be any side effects. Use with
Caution!
The EX will not allow Preset Samples above 1024; if a higher preset Sample is used, you get Preset
Sample 1024. (1024 is the limit for the number of RAM and FLASH Samples). This is a bit of a pain
as all the drum Samples are above 1024.
The Sample number shown for a preset Sample on the EX5 Keymap display is "off by one". E.g. if
you enter Sample 333 in ex.factory, once loaded into the EX5 it is displayed as Sample number 334,
but the right Sample is used and played (as can be checked by examining the Sample name, which
will be the same in both ex.factory and the EX5).
Program Features 76
System Settings Editing Features
ex.factory supports the following editing operations upon the System Settings Object shown within the Tree
View of a Child Window:
Copy/Move
Initialise
Save/Load Default Settings
Cut to Clipboard
Copy to Clipboard
Paste from Clipboard
The System Settings Object in an S1A file is only shown within a Tree View and is called System Settings.
To access all features other than Move and Copy (which you do via "Drag and Drop"), right click over the
System Settings Object to activate its Context Sensitive Menu.
The Save/Load Default Settings options can be found on the System Settings contex sensitive menu.
The idea behind this facility is to preserve your System Settings when you are loading S1A and S1Y files that
have come from other user's EX5s.
You should always load S1A and S1Y files that have not come from your EX with caution as they contain all
the system settings defined within the EX UTILITY Mode with the exception of (I believe) the EX SCSI ID.
To help prevent your EX System Settings from being lost when you are loading S1A and S1Y files then
perform the following:
If you haven't already done so, set up your UTILITY mode settings on the EX as you want them
Save off an S1A or S1Y file from the EX to disk. This file will now contain your System Settings
Load the file into ex.factory
Right click over the System Settings Object and select the Save As Default Settings menu option
You preferred System Settings are now saved for future recall.
When you next receive an S1A or S1Y file that has not come from your machine (e.g. most of MarcE's
excellent downloads are S1A files) then perform the following to "imprint" your preferred System Settings
upon the file:
You can now load the file into the EX and your System Settings will be as per your preferred values that you
saved off.
Program Features 77
Master Patch List
The Master Patch List Dialog is found on the Tools menu.
The Master Patch List Dialog provides a means for you to generate a single patch list from a list of files.
Currently only Cubase Patch Scripts can be generated, but future versions may support other sequencers.
File List The list of files to incorporate into a single patch list.
If you click on one of the lines then you can edit the file either by typing
or by using the [...] button to the right of the line to bring up a file selector
dialog.
Note, if you are editing a line, and you are finished, you need to select
another line, or press the RETURN key for the changes to be stored.
New Inserts a new line in the file list.
Delete Deletes the currently selected line in the file list. If no line is selected this
control is disabled.
Move Up Moves the currently selected line in the file list up one line. If no line is
selected or the selected line is the first in the list then this control is
disabled.
Move Down Moves the currently selected line in the file list down one line. If no line is
selected or the selected line is the last in the list then this control is
disabled.
Sort Sorts the lines into ascending alphabetical order
Cubase Exports the files identified in the file list to a Cubase format patch script
file, which is compatible with Cubase VST/SX/SL/SE.
Include Preset Data When this option is checked, the EX Preset Voices are exported at the
start of the patch list.
OK Closes the dialog.
Generating The Cubase Master Patch List
When you generate a Cubase Patch Script, it is written to the directory specified by the Cubase Patch Script
Directory field in the Misc Preferences Tab of the Preferences Dialog. You can set this field up to export the
master patch list directly to the directory read by Cubase upon startup. This directory on my system is
C:\Documents and Settings\Derek\Application Data\Steinberg\Cubase SX
3\Scripts\Patchnames\inactive\yamaha where "C:" is the root drive that Cubase is installed on, "Derek" is
my Windows user name, aand "Cubase SX 3" is my version of Cubase. You will need to vary these
according to your system drive and of course your own user name and version of Cubase.
By default the Application Data folder is hidden in Windows Explorer, so you may not see this folder first of
all. If you cannot see the folder:
1. In Windows Explorer select Folder Options from the Tools menu and click the View tab.
Program Features 78
2. Look down the Advanced Settings list and find the Hidden Files and Folders option.
3. Select the Show Hidden Files and Folders sub option.
4. Select OK to close the dialog.
Cubase only looks for and reads patch scripts when it starts up, so if you're in Cubase after generating the
patch script then exit Cubase and start it up again.
The patch scipts generated by ex.factory should be compatible with Cubase VST/SX/SL/SE. The instructions
given below are for Cubase SX, which is the version I use. Consult your Cubase documentation for how to
install patch scripts if you have a different version.
Within Cubase:
This installs the patch list within Cubase and allows you to use it elsewhere within the application.
In the main Cubase screen, select or create a MIDI track that you wish to be used with the EX. In the
Inspector window (the panel to the left of the main window) click on the out control and you should now be
able to see and select the EX5 - Master Patch List option in amongst the MIDI ports. Also ensure the MIDI
channel number for the track matches the EX channel number.
Now when you click in the Programs control, just below the out control, you'll see a drop down list containing
all of the EX Voices names generated by ex.factory.
You can now scroll through the lists to find a Voice, an you can also type in filter text to quickly look for a
Voice.
Library Statistics
The Library Statistics menu option is found on the Tools menu.
The Library Statistics Dialog provides a means for you to see a summary of the contents of the Library.
The Batch Import To Library Wizard provides a means for you to import several EX files to the library in one
go.
The Batch Import To Library Wizard has two pages to navigate through:
Program Features 79
Select Source Directory Page
Source Directory You can type the name of the source directory in this control.
Or if you click the [...] button to the right of the line, this will bring up a file
selector dialog.
Scan Subdirectories If this control is checked, then the Batch Converter will also include any
subdirectories that it finds within the source directory when looking for
files to convert.
If this control is checked then these errors are ignored, but are logged if
logging is enabled.
Select Destination Directory Page
When an Object being added is Provides the action to do if an Object is added to the Library and there is
already in the Library already an identical Object in the library. The choices are:
Program Features 80
When an Object being added Provides the action to do if an Object is added to the Library and there is
already has the same name as an already an Object in the library with the same name. The choices are:
Object in the Library
Add to Library (with a new name)
Do not add to Library
Overwrite Object in the Library
Create Log File If this control is checked then a log file is created in the destination
directory.
This log file is called "Log File.txt", and can be opened with any text
editor
Using the Batch Importer
Importing an EX file takes about 20 seconds, so if you have a lot of files to import, be prepared to leave the
importer running for a while! The import of a file will be slower if you have a large library as ex.factory needs to
check to duplicate data, so the larger the library the more data the batch importer has to search.
The importer is a simple "Wizard" and you can step through the choice pages using the Prev and Next
buttons, or exit the Wizard using the Cancel Button
Select the source and destination directory options and once that is done click on the Finish button to start
the Batch Import Wizard.
The Wizard will not allow you to select a directory that doesn't exist.
Once the Wizard starts the progress of importing files is shown in the information pane.
There is a progress bar that shows the progress for all the files that the importer has detected, and a progress
bar for the objects in the file currently being imported.
The Wizard also shows how many file errors have been encountered (assuming you have set the options to
ignore File errors).
You can cancel the import at any time by pressing the Cancel button, but you may need to wait for ex.factory
to finish the current file import before the batch conversion is cancelled.
Once completed, a summary results page is shown that summarises the import.
Program Features 81
The Wizard can be dismissed by clicking the Close button.
You can check the results of the import by opening the Log File.txt file (assuming you left logging enabled).
The log file is a simple text file that lists each source file and whether any errors were detected.
All errors are preceded by ** (two stars), so you can use your text editor's find/search facilities to look for ** to
quickly find any errors.
Program Features 82
Preferences
The ex.factory preferences are accessed via the View menu Preferences ... option.
Selecting this option opens a Tabbed dialog with the following tabs which group related parameters:
Note: The options to update Objects following an Object move within the same file (e.g. Update
Voices/Elements after Wave Move) also apply when Objects that can be referenced are inserted, deleted
and sorted.
Note: The options to copy referenced Objects with "parent" Objects (e.g. moving Voices with Performances)
work by:
All the above options are sensitive to what is being dragged. For example a Performance Part, Performance
Part Branch, Performance or Performance Branch can be dragged and the necessary Objects will be copied
Finally, it's worth noting that if the options are all set then everything needed is copied. For example if you
drag a Performance to a new file, then potentially, User Voices used by the Performance, Arpeggios Used by
the Voices, Waves used by the Voices and Samples used by the Waves/Voices are all automatically copied.
This is a feature I've long been desperate for!
Preferences 83
Device Type Preferences
The Device Type Preferences tab is shown below:
EX Device Type Allows you to select the type of EX you have from the following options:
EX5/EX5R
EX7
Preferences 84
Voice Preferences
The Voice/Element Preferences tab is shown below:
Update Voices After Arpeggio If you move an Arpeggio within an S1A file then the Voices that use User
Move Arpeggios are updated to ensure that the correct references to User
Arpeggios are maintained.
Update Voices/Elements After If you move a Wave within an S1A file then the Voices and their AWM
Wave Move Elements that point to RAM Waves are updated to ensure that the
correct references to User Waves are maintained.
Update Voices/Elements After If you move a Sample within an S1A file then the Drum Voices and their
Sample Move Elements that point to RAM Samples are updated to ensure that the
correct references to User Samples are maintained.
Copy User Arpeggio With Voice If you move or copy a Voice from an S1A file to another S1A file, then
the User Arpeggio (if any) referenced by the Voice is also copied to the
destination file if the Arpeggio is not already present in the destination
file.
Copy User Waves With If you move or copy a Voice from an S1A file to another S1A file, then
Voice/Element any User RAM Waves referenced by the Voice and its Elements are also
copied to the destination file if the Waves are not already present in the
destination file.
Copy User Samples With If you move or copy a Voice from an S1A file to another S1A file, then
Voice/Element any User RAM Samples referenced by the Voice and its Elements are
also copied to the destination file if the Samples are not already present
in the destination file.
Show If Voices Use Have Custom If this box is checked then if a voice has custom RAM or FLASH
Elements elements then the voice name in the Tree View is appended with a "C"
(for Custom) This is useful if you wish to quickly see if voices only have
Preferences 85
preset elements.
Preferences 86
Performance Preferences
The Performance/Part Preferences tab is shown below:
Update Performances After If you move an Arpeggio within an S1A file then the Performances that
Arpeggio Move use User Arpeggios are updated to ensure that the correct references to
User Arpeggios are maintained.
Update Performances/Parts After If you move a Voice within an S1A or S1Y file then the Performances
Voice Move and their Parts are updated to ensure that the correct references to User
Voices are maintained.
Copy User Arpeggio With If you move or copy a Performance from an S1A file to another S1A file,
Performance then the User Arpeggio (if any) referenced by the Voice is also copied to
the destination file if the Arpeggio is not already present in the
destination file.
Copy User Voices With If you move or copy a Performance from an S1A or S1Y file to another
Performance S1A or S1Y file, then any User Voices referenced by the Performance
and its Parts are also copied to the destination file if the Voices are not
already present in the destination file.
Start Voice Copy With If this option is selected then when Voices are copied to a new file along
Performances In Bank I2 with Performances the Voices are copied into bank I2 only. Hint: this
option was requested by a user who wished to have Voice Bank I1 free
for his Voices not used by Performances with Bank I2 used for storing
Voices that are used by Performances.
Preferences 87
Wave Preferences
The Wave/Layer Preferences tab is shown below:
Update Waves/Layers After If you move a Sample within an S1A or S1M file then the Waves and
Sample Move their Layers are updated to ensure that the correct references to User
Samples are maintained.
Copy User Samples With If you move or copy a Wave or Wave Layer from an S1A or S1M file to
Wave/Layer another S1A or S1M file, then any User RAM Samples referenced by the
Wave and its Layers are also copied to the destination file if the Samples
are not already present in the destination file.
Preferences 88
Keymap Preferences
The Keymap Preferences tab is shown below:
Update Keymap After Sample If you move a Sample within an S1A file then the Keymap is updated to
Move ensure that the correct references to User Samples are maintained.
Update Keymap After Pattern If you move a Pattern within an S1A file then the Keymap is updated to
Move ensure that the correct references to User Patterns are maintained.
Copy User Samples With Keymap If you move or copy the Keymap from an S1A file to another S1A file,
then any User Samples referenced by the Keymap are also copied to the
destination file if the Samples are not already present in the destination
file.
Copy User Patterns With Keymap If you move or copy the Keymap from an S1A file to another S1A file,
then any User Patterns referenced by the Keymap are also copied to the
destination file if the Patterns are not already present in the destination
file.
Preferences 89
Check Preferences
The Check Preferences tab is shown below:
Check For Duplicates When If you move or copy an Object to a destination file and the Object already
Moving or Copying Objects exists then a warning is presented giving you the option to continue or
cancel the operation.
Warn if Destination Object is If you move or copy an Object and it is overwriting an Object that is
Referenced When Moving or being referenced, or you are deleting a referenced Object, then a
Copying Objects warning is presented giving you the option to continue or cancel the
operation.
Preferences 90
Default View Preferences
The Default View Preferences tab is shown below:
Default View Defines the type of view that is applied to a Child Window when it is first
opened.
No Split
Horizontal Split
Vertical Split
Pane/Left Pane/Top Pane Defines the type of view shown in the single pane of an unsplit view, the
left pane of a horizontally split view or the top pane of a vertically split
view.
Tree View
Table View
Right Pane/Bottom Pane This control is only visible if the Default View option is set to either
Horizontal Split or Vertical Split.
Defines the type of view shown in the right pane of a horizontally split
view or the bottom pane of a vertically split view.
Tree View
Table View
Preferences 91
Default Library View Defines the type of view that is applied to the EX Library Window when it
is first opened.
No Split
Horizontal Split
Vertical Split
Library Pane/Library Left Defines the type of view shown in the single pane of an unsplit view, the
Pane/Library Top Pane left pane of a horizontally split view or the top pane of a vertically split
view.
Tree View
Table View
Library Right Pane/Library This control is only visible if the Default Library View option is set to
Bottom Pane either Horizontal Split or Vertical Split.
Defines the type of view shown in the right pane of a horizontally split
view or the bottom pane of a vertically split view.
Tree View
Table View
View Tool Bar Controls if the toolbar is visible at startup.
View Status Bar Controls if the status bar is visible at startup.
View Backdrop In Child Window This option controls if the image backdrop is displayed in Child Windows.
You may wish to turn off this option if you find the scrolling of the Child
Window is slow on your machine.
Preferences 92
MIDI Preferences
The controls in this tab are only available if ex.factory is registered. If ex.factory is unregistered a text
message is displayed instead.
Preferences 94
Transmit Buffer Size Sets the size of the transmit buffer used for sending data to the EX.
Some MIDI interfaces don't like data coming in big chunks and you may
need to set this to get a reliable transfer of data. The value is specified in
milliseconds.
Transmit Delay Between Buffers This sets the delay that ex.factory waits for between sending buffer sized
data packets. The value is specificied in milliseconds.
Transmit Delay Between Objects This sets the delay that ex.factory waits for after sending a complete
object. The value is specificied in milliseconds.
Automatically Update EX after When this option is checked, if the EX Synthesizer Window is edited
Synth Window Edit then the edited data will be automatically sent to the EX.
Read EX MIDI Data On ex.factory When this option is checked the Voices and Performances (if enabled)
Startup are read from the EX during the ex.factory startup phase.
Include Performances In Bulk When this option is checked, the Performances are included in bulk
Transfer transers. You may wish to uncheck this option if you don't use
Performances.
Edit Confirm During Transfer To If the Edit Confirm parameter in the EX's Utility Mode OTHER tab is
EX Memory set to ON then this parameter should be checked.
If the Edit Confirm parameter in the EX's Utility Mode OTHER tab is
set to OFF then this parameter should be cleared.
Preferences 95
SMDI Preferences
The SMDI Preferences tab is shown below:
Enable SMDI Support When checked, the SMDI support of ex.factory is enabled.
All other controls in this tab are disabled if this control is not checked.
SCSI Host Id This value identifies the number of the SCSI host adapter that is used to
connect the EX5. Unless you have more than one SCSI adapter installed
in your computer then this value is usually 0.
SCSI Unit Id This is the SCSI logical unit number which the EX5 is set to use. This
value must match the value set in the EX5 Utility Mode/Other tab (see
page 276 of the EX5 manual for details.
Import Limit Setting this value allows you to limit the number of Sample Headers that
are read when you use the Get Sample Headers command from
the SMDI Menu.
For example, if you ever use more than a 100 Samples then by setting
the Import Limit to 100 you will only need to read a tenth of the Sample
headers.
Read EX SMDI Data on ex.factory If checked then ex.factory will automatically upon startup read the
Startup Sample headers from the EX (from the first Sample up to the Sample
specified by the Startup Import Limit.
Startup Import Limit This has the same affect as the Import Limit value, but applies to when
Sample headers are imported upon ex.factory startup.
Preferences 96
Test EX SMDI Settings Tests the SMDI settings entered in the dialog to see if communication
can be established with the EX. The test checks the following:
Preferences 97
File References Preferences
This tab allows you to associate S1M files with either S1A, S1Y or S1V files as the contents of the EX FLASH
memory bank, or S1Y or S1V files as the contents of the EX DRAM memory bank.
DRAM File References Provides a list that allows you to associate an S1Y or S1V file with an
S1M file that represents the EX DRAM memory bank.
The New button adds a new line to the list, whilst the Delete button
deletes the currently selected line.
The left hand side stores the path of the the file referencing the
S1M file
The right hand side stores the path of the S1M file.
The [...] button to the right of each path field brings up a dialog that
allows you to select the filename instead of typing it in.
FLASH File References Provides a list that allows you to associate an S1A, S1Y or S1V file with
an S1M file that represents the EX FLASH memory bank.
Preferences 98
Library Preferences
The Library Preferences tab is shown below:
When an Object being added is Provides the action to do if an Object is added to the Library and there is
already in the Library already an identical Object in the library. The choices are:
Preferences 99
Default Filter for the Comment Sets the default filter type for the Comment column. The choices are:
Column
Regular Expression (can contain Perl Regular Expressions)
Match Value (can only be selected using an existing value)
Default Filter for the Author Sets the default filter type for the Author column. The choices are:
Column
Regular Expression (can contain Perl Regular Expressions)
Match Value (can only be selected using an existing value)
Default Filter for the Source Sets the default filter type for the Source column. The choices are:
Column
Regular Expression (can contain Perl Regular Expressions)
Match Value (can only be selected using an existing value)
Preferences 100
Miscellaneous Preferences
The Miscellaneous Preferences tab is shown below:
The [...] button to the right of the field brings up a dialog that allows you
to select the directory instead of typing it in.
Cubase Patch Script Directory Specifies the directory where Cubase patch scripts are written. Note: no
validation is performed on this pathname, so please ensure it is valid. I
may add validation later.
The [...] button to the right of the field brings up a dialog that allows you
to select the directory instead of typing it in.
Load Last File On Startup Controls if the last file opened in the previous session is automatically
loaded when ex.factory is next invoked.
Audio Output for Sample Allows you to select the audio device used for playback of EX5 samples.
Playback
Show Advanced Preferences This option is currently only available if ex.factory has been registered.
Preferences 101
Advanced MIDI Preferences
The Advanced MIDI Preferences tab is only shown if the Show Advanced Preferences option in the Misc
Preferences tab is checked.
Apart from the Timout value (which specifies the time ex.factory waits before it times out on received data) all
the other options in this tab relate solely to the Simulated Store operation that is used to write Voices to EX
memory in a manner that avoids one of the EX's MIDI bugs.
You can adjust these values to optimise the transfer speed of the Simulated Store operation. If you wish to
do this you should adjust the values with care and be sure to test that the transfer is reliable, ensuring that you
test bulk transfers of Voices and not just single Voice transfers.
The default ex.factory timing values are "conservative" values that should work on all systems. I've adjusted
the parameters on my own system and have gotten reliable transfers down to around five seconds per Voice
transfer. Below 4.5 seconds the transfer becomes unreliable on my system, as you are coming up against
inherent time delays in the MIDI transfer and the time it takes the EX to store a Voice.
This tab has the following timing options (all of which are expressed in milliseconds):
Ping Delay This is the amount of time that ex.factory waits for when "pinging" the EX
for a response if the MIDI Handshake option is set between executing
the steps in the Simulated Store sequence.
Bank Change Delay This is the amount of time from ex.factory sending the bank change
command before it sends the next message in the Simulated Store
sequence.
Patch Change Delay This is the amount of time from ex.factory sending the patch change
command before it sends the next message in the Simulated Store
sequence.
Preferences 102
Voice Transmit Delay This is the amount of time from ex.factory sending the Voice before it
sends the next message in the Simulated Store sequence.
Preferences 103
Voice Store Delay This is the amount of time from ex.factory simulating the store operation
and waiting for the store operation to complete.
Remote Switch Delay This is the amount of time that a remote switch command is active for
(on and then off).
The following options should normally be left checked, but are there to allow you to turn off the steps used in
the simulated store to EX memory operation. This may assist you in diagnosing any problems that could
potentially exist on your setup with this operation. If you are having problems, it is recommended that you turn
off all steps and then turn them back on one by one to verify that each step yeilds the intended result.
Sending a bank change message to ensure the correct bank is selected (I1 or I2)
Sending a patch change message to select the destination Voice (1-256)
Transmitting the Voice to the EX Edit Buffer
Using Remote Switch MIDI commands to simulate a Voice edit buffer store operation as if it was
actioned by you pressing the required key sequence on the EX control panel.
MIDI Handshake If checked, ex.factory attempts to "ping" the EX and will not send data
until it gets a response or timeout. If this option is cleared then ex.factory
will not "ping" the EX, but will just wait for the specified time before
performing the next operation.
You should see on the EX that the selected patch changes to be the
same number as the patch sent from ex.factory.
Transmit Voice If checked the patch is sent to the EX Edit Buffer. To check that the
patch is received by the EX:
You should see on the EX that the selected patch changes to be the
same as the patch sent from ex.factory.
Simulate Store If checked the patch is written to the EX memory. Assuming all is well
with the above sequences, the simulated store will deposit the
transmitted patch into memory.
Preferences 104
Online Help
ex.factory provides a full online version of the ex.factory manual.
If you select Help ... from the Help Menu or the button on the Tool Bar, the Help Window is opened.
The Help Window works just like a web browser window, so its operation should be quite familiar to you.
The left pane of the Help Window shows a tabbed navigation pane to allow you to quickly navigate to a topic,
whilst the right hand pane shows the help topic.
The navigation pane can show three different views, depending on which tab you select:
Displays the Table of Contents Navigation Pane, providing a structured list of ex.factory topics
Displays the Index Navigation Pane, providing an indexed list of ex.factory topics
Displays the Search Navigation Pane, allowing you to search the help topics for keywords
Navigates backwards to the last page in the access sequence. If you press and hold the mouse
button over this button, you will get a list of accessed pages
Navigates forwards to the next page in the access sequence. If you press and hold the mouse
button over this button, you will get a list of accessed pages
Selects the home page
Refreshes the current page
Prints the current page
Displays the print settings dialog
pressing the your Computer Platform's Help Key ( F1 on the PC platform), which will load the help
page associated with the Component within the ex.factory Window that currently has Focus (is
responding to the keyboard and mouse).
pressing the button on the Tool Bar and the clicking over the item of interest
You can press the Help Key in any ex.factory Dialog to access the relevant help page for the Dialog.
Library Support
ex.factory provides a Library facility that allows you to store all your data in one place, and use filtering and
sorting facilities to locate the data that you want.
MIDI Support
ex.factory now supports the transfer of Voices and Performances between ex.factory and the EX5 via MIDI.
The EX MIDI SYSEX implementation has some serious flaws in it that can corrupt data, but ex.factory now
includes MIDI support because I have developed workarounds to the MIDI issues.
(NOTE: MIDI features are available only to registered users).
Keyboard Shortcuts
ex.factory supports numerous keyboard shortcuts as an alternative to using the mouse.
Take a look in the online help or the ex.factory manual for details of the supported keyboard shortcuts
Right click over a scene and you'll find an Edit... menu item that calls up the scene editor.
File References
The File References tab in the Preferences dialog allows you to associate S1M files as FLASH or RAM
memory banks for S1A, S1Y and S1V files. Updates to referenced files are reflected back in the files that
reference them. For example, if you sort Waves in an S1M file then files referencing that file will be updated to
ensure that elements maintain the correct references following the sort.
New Voice
You can create a new voice using the New popup menu item in the tree view and the table view.
Selecting more than one existing Wave Layer before selecting the Add... option; e.g. if you select two
Wave Layers then two Wave Layers will be added
holding down the ALT key whilst selecting the Add... option, which will bring up a Dialog box that
allows you to specify the number of Wave Layers to add.
Element Remapping
ex.factory can remap Voice Elements to reference FLASH Waves instead of RAM Waves, and from RAM
Waves to FLASH Waves.
Remapping can also be performed on a Elements, Voices and selections of Elements and Voices.
Right click over an Element or Voice to select the Remapping context menu options.
Selecting more than one existing Drum Element before selecting the Add... option; e.g. if you select
two Drum Element then two Drum Element will be added
holding down the ALT key whilst selecting the Add... option, which will bring up a Dialog box that
allows you to specify the number of Drum Element to add.
Object Colouring
If an Object such as a Wave or Voice is coloured blue, then it is being referenced by another Object.
If you right click over a blue Object you'll find a "List References" context menu, which will show you the
Objects that reference this one.
If a WAV file has an embedded "smpl" chunk, then the loop point data and centre key info that is contained in
this chunk is also read in.
Simply right click over a Sample and select the Edit... option.
Simply right click over a Wave Layer and select the Edit... option.
Table Sorting
You can sort Voice and Performance Tables by clicking in the Table Column headers.
For example, if you click in the Category Column then the Table will be sorted by Category
If you load another user's S1A or S1Y files then you'll overwrite your UTILITY mode settings with theirs.
If you save out an S1A file from you own EX, load it into ex.factory and right click over the "System Settings"
branch, you will find an option to save these settings as a default set.
Before loading any newly received S1A or S1Y files, load them into ex.factory, right click over the settings and
load your default settings into the file.
You can now load these files into your EX and they will contain your default UTILITY mode settings",
Sometimes during a drag operation, the only sensible operaton that can be undertaken is a copy operation,
for example:
In these circumstances a move operation does not make sense so it is not allowed.
For example of you move a Performance to a new File, then the following Objects are also copied:
This feature can be selectively turned off for different Object types if required within the Preferences Dialog.
Saving Data
If you have a file loaded which holds different types of data (e.g. an S1Y file that holds Voices and
Performances) you can save the different data types to simpler (and smaller) file types.
S1A Files
Voices and Performances can be saved to an
S1Y file.
Voices can be saved to an S1V file.
Waves and Samples can be saved to an S1M
file.
Arpeggios can be saved to an S1R file.
Patterns can be saved to an S1P file.
The Song can be saved to an S1S file.
S1Y Files
Voices can be saved to an S1V file.
To save off the data types, right click over the Collections in the Tree View and you'll find options in the
Context Sensitive Menu to save the Collections.
Workspaces
ex.factory allows you to save a Window arrangement as a Workspace which you can then recall at a later
date.
For example of you move a Voice within a file then all the Performance Parts are updated
This feature can be selectively turned off for different Object types if required within the Preferences Dialog.
You can also export file information to HTML, XML or SpreadSheetML formats.
The relevant options can be found on the File Menu under the Export option.
The dialog shows some basic information about the program including the version number and the License
status of ex.factory.
It also shows which Java Run Time Environment that ex.factory is running in.
It's also a chance to take a close look at the excellent Splash Graphic provided by Torus!
For example a Voice Collection stores the 256 Voice Objects that an S1A, S1Y or S1V file
can contain
Context The ability of the help system to tailor the help being displayed according to where the user
Sensitive Help pressed the Help key.
Context The popup menu that is displayed in either the Tree View or Table View that provides a set
Sensitive Menu of commands specific to the currently selected Object
Desktop The area within the ex.factory window where Child Windows can be opened
Drag and Drop The name for the mechanism that allows a use to move data by dragging it with a mouse
and dropping it at a new location.
DRAG The keyboard key that is held down to turn a Drag and Drop move operation into a copy
MODIFIER operation.
On the PC platform, the DRAG MODIFIER key is the CTRL (control) key
EX Library A special instance of a Child Window that doesn't display data in a file, but which displays
Window the data stored in the EX Library.
EX Synthesizer A special instance of a Child Window that doesn't display data in a file, but which displays:
Window
Preset data within the EX
User data imported from the EX via MIDI and/or SMDI
JRE Java Run-time Environment. This provides the Java environment which ex.factory needs in
order to run.
Sun Microsystems provides the JRE for PC systems, and Apple provide their own JRE for
MacOS X
Library A repository where you can store all of your data.
MDI Multiple Document Inteface. The type of user interface used by ex.factory which allows
several Windows to be open within the main application window.
Menu Bar The area of the ex.factory Window that contains the set of menus used for accessing the
main functions provided by the application.
MIDI Musical Instrument Digital Interface. The primary means by which digital data is exchanged
in a serial form between synthesizers and computers.
MMJ A MacOS X specific library that provides the means by which external MIDI devices can be
accessed with the Java MIDI framework.
Native SMDI A piece of software required on each supported platform that provides the SMDI interface
Interface between ex.factory and the SCSI hardware of the platform.
Object A piece of EX data such as a Voice or Performance.
Preset Synth The lists of data within the EX Synthesizer Window that lists the preset data available
Data within the EX.
Reference The means by which the EX associates an Object (such as a Voice) with another Object
(such as a Performance Part). The reference provides the link between the two, and in the
case of the EX, the link is simply the number of the referenced Object.
Regular A system by which certain character sequences are interpreted not as plain text but as
Expression commands that can provide a tailored search for occurences of text
Simulated Store The sequence of operations that ex.factory excutes to store a Voice into an EX memory
location. The MIDI commands to write Voices to EX Memory do not work correctly, and the
Simulated Store mechanism is a workaround that allows Voices to be stored into EX memory
SCSI Small Computer System Interface: A high speed parallel interface used to interface devices
(such as mass storage devices and the EX) to a computer.
Status Bar The area of the ex.factory Window that is used to display status information upon the
currently selected Child Window.
Table View A View which displays data in a file arranged in tablulated rows of data
Glossary 111
Tool Bar The area of the ex.factory Window that contains a set of buttons to provide easy access to
commonly used commands
Tree View A View which displays data in a file arranged in a hierarchical tree structure.
Tritonus A library of Sample processing tools that fits within the Java Sound system and provides
facilities not provided by default, such as sample rate conversion.
View The means by which the data in a file is viewed.
A Child Window provides the view upon an EX File that you have opened.
You can have several views open upno the same data, for example when you have split a
Child Window.
Workspace An arrange of the main ex.factory Window and Child Windows which can be saved for
subsequent recall.
Glossary 112
Keyboard Short Cuts
ex.factory provides many keyboard shortcuts for navigation and performing editing operations.
Tab. Moves keyboard focus to the next component or to the first member of the next group of
components.
Ctrl-Tab. Moves keyboard focus to the next component or to the first member of a group of
components when the current component accepts a tab (as in text fields, tables, and tabbed panes).
Shift-Tab. Moves keyboard focus to the previous component or to the first component in the previous
group of components.
Arrow keys. Move keyboard focus within the individual components of a group of components--for
example, within menu items in a menu or within tabs in a tabbed pane.
This section describes those issues, and also describes how ex.factory gets around those issues.
The symptoms of this problem are that the end of the SYSEX message is corrupted, which manifests itself as
corruption in the Static Control Filter settings for Element 4 and corruption of the Element Insert Effect
Switches (all Elements).
The problem is in the EX SYSEX data encoding scheme that is used to squeeze eight bit data values into
seven bit values (the MIDI standard only allows seven bit data values).
The EX (and some other synths) transfers eight bit data by stripping off the Most Significant Bits (MSBs) from
a block of seven bytes and then combines and sends the MSBs in an extra byte (that I call an MSB Encoding
byte). So for every seven bytes in a Voice an additional byte is sent. If ever you've looked in the EX data list
manual and wondered why they talk about Gross and Net sizes in the Sysex dumps, the Net size of a
message is for an unencoded message, and the Gross size is for an encoded message inclusive of the MSB
Encoding Bytes.
What happens when there is a Voice with Element 4 active being transferred is that a byte is lost from the
message, which happens to be the MSB Encoding byte from the penultimate seven bit data block.
The data bytes in the penultimate seven byte block have lost their correct MSB values
The data bytes in the final block are "shifted" (i.e. Byte 1 is now Byte 0, Byte 2 is now Byte 1, etc.)
The first byte of the final data block is now seen as the "MSB encoding byte" for the penultimate data
block
The message checksum is seen as the "encoding byte" for the final block
The message checksum appears to be calculated after this byte is "dropped" as it is correct for the message
contents.
The net result is the SCF filter settings for Element four and the Insert Effect switches can become corrupted.
ex.factory Workaround
Whilst the Bulk Voice dump messages from both the EX Edit Buffer and Memory Locations suffer from this
bug, the MIDI dumps that read individual Elements from the EX Edit buffer work OK.
So ex.factory ignores the data in a Voice Bulk dump for Element 4 and instead obtains the data for Element 4
from the edit buffer.
When a Voice is read from the EX via MIDI, ex.factory performs the following:
When a Voice is received from the EX it is first checked to see if it is a Drum Voice
If the Voice is a Drum Voice then no further action is taken as this bug does not affect Drum Voices
(but see the specific bugs that do affect drum Voices!)
If the Voice is not a Drum Voice then it is checked to see if it has an active Element 4
If Element 4 is not active then nothing more needs to be done
If Element 4 is active and the Voice dump is from the Edit Buffer, a request is sent for just Element 4
from the edit buffer, as this message is correctly formatted
If Element 4 is active and the Voice dump is from a memory location, then a bank/patch select
message is sent to the EX, which loads the Voice into the edit buffer, and then a request is sent for
just Element 4 from the edit buffer, as this message is correctly formatted
For example, assume you wish to write a Voice to EX memory that has Elements 1,2,3 and 4 active:
If you have a Voice in the destination Memory location with Elements 1, 3 and 4 active, then Element
2 of the Voice being written is lost
If you have a Voice in the destination Memory location with Elements 1, 2 and 4 active, then Element
3 of the Voice being written is lost
And so on
As this is an internal problem with the EX I cannot be sure as to what is going on, but I would hazard a guess
and say that when the Voice is written, the EX is not checking the active Elements in the new Voice and is
thus not "allocating" additional Elements from its supply of free Elements where required.
ex.factory Workaround
Fortunately, sending a Voice to the EX edit buffer works OK, and the EX has MIDI SYSEX commands to
represent the front panel buttons. So the workaround is to:
Note. This "simulated store" operation needs to wait for periods of time between the steps above to ensure
the EX has time to carry them out.
You can tune the time delays by altering the values in the Advanced MIDI Preferences Tab in the Preferences
Dialog to get the optimum speed for your system, but it is still faster to load complete Voice sets via disk.
Having said that, the ability to transfer Voices via MIDI is a bonus if, for example, you want to load in few
Voices from your PC into a Voice set that is already loaded in the EX.
The EX Does Not Transmit Large Drum Voices via MIDI SYSEX
The EX does not transmit Drum Voices with more than 106 Elements via MIDI. Strange but true!
ex.factory Workaround
As this is an internal EX issue there is nothing much I can do about this.
ex.factory will report a MIDI timeout error if it does not receive a Voice within a defined period of time.
So the effect is that such large drum Voices are not received, but all other Voices are correctly received.
MIDI Buffer Overflows When Writing Large Drum Voices via MIDI
SYSEX
If you write a drum Voice to the EX via MIDI and it has more than 46 Elements in it then the Voice is not
correctly received.
ex.factory Workaround
I've been unable to find a workaround for this, so ex.factory does not transmit drum Voices larger than 46
Elements, instead it provides a warning message that the transmission didn't take place.
Sean Magner for helping me adapt the installer to work with Linux.
Jim Atfield for general debugging duties, including OSX compatibility, and for also checking out the
behaviour of the installer on MAC OSX, and then for loaning me his iMac so that I could sort out some
more pervasive issues. I now have my own Mac so I don't have to keep borrowing Jim's, or hassling
him for OSX duties anymore, but OSX support all started with Jim's help.
Airy Andre for sorting out various compatibility issues on the MAC OSX platform, and for providing the
Mac OSX native implementation for ex.factory's SMDI support.
Ingo Prause (BassMaestro) for helping me check out the results of the AN1x converter.
Gary Gregson (Yamaha UK, and Author of AN1xEdit), who freely provided me with the file format
details of his excellent AN1x Voice editor.
Yamaha for making such a great range of musical instruments. The EX range may not be perfect, but
they sure are awesome in their sonic capabilities!
The following "open source" projects are used either within or to build and install ex.factory:
ex.factory's SMDI support is based upon the OpenSmdi project by Christian Nowak
The Table filtering capabilities in the Library Window is based on TableFilter by Luis M. Pena
The ex.factory PDF documentation file is created from the JavaHelp HTML files
using <HTML>DOC This is a great tool that allows me to maintain just one set of documentation files
and create both online help and PDF manual formats of the documentation.
The ex.factory JAVA installer is provided by IZPACK
The PC EXE installer is provided by JSmooth
The PC Native Launcher is provided by Janel
Mac OSX integration is provided by Eirik Bjrsns's "Macify" library
Credits 120
ex.factory License
The unregistered version of ex.factory allows you to evaluate the features of the program, which are fully
functional except the File Save, MIDI Export and Librarian features.
However, ex.factory cannot be included as part of a commercial distribution or on other web sites without the
express permission of the Author. I am happy for you to provide links to www.xfactory-librarians.co.uk, to
maximise public access to ex.factory.
ex.factory license files are issued to users who have registered ex.factory, to gain access to the File Save,
MIDI Export and Librarian features. If you have been issued with a license key you are not allowed to
distribute a license key to other users. Please respect this, and the amount effort I have put into making this
application.
You are permitted to install ex.factory on one computer, for which the license is valid.
If you wish to install ex.factory on more than one computer, then an additional license can be purchased at
50% of the cost of the main license.
The Author retains the copyright on the program and all of its originally developed features.
Disclaimer
Like all software products, this software is provided "AS IS", and without any warranties expressed or implied.
But hey, remember, you're getting it for a very low cost!
I have worked hard to ensure this software works correctly, as I certainly don't want it trashing my data.
However, I cannot be held liable for any problems arising as a consequence of you using this software on
your computer and your data. You use this product at your risk.
Like all new products, please proceed and evaluate with care, and ensure that all your important data files are
backed up before installation and evaluation.
Having gotten that out of the way, if you do encounter any problems, please submit a bug report
to ex5@xfactory-librarians.co.uk, and I will endeavour to provide a fix for any reported problems.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.