cc
06-12-2000, 08:03 AM
I have read some posts about problems using GigaStudio 160 with Logic Audio. I have experienced the same problem (both with Logic Audio Platinum 4.0.4 and 4.2.2), but I think I may have a workaround. At least, the workaround seems to work on my system (although I have not done any extensive testing!)
It seems there are a few weird things happening between the various Midi drivers.
Briefly, what I see is as follows: When starting Logic via the sequencer button in GSt, all works fine while playing controllers or editing events. However, as soon as the Logic Sequencer is started in playback mode, previously recorded events do not sound (even though the GigaSt midi loop shows activity on the channel).
The strange thing is that, even if events are recorded only on Channel 1 of Port 1, the GSt midi indicator will sometimes flash on Port 1, but mostly on Port 4! No sound emerges, even if patches are loaded onto all channels of ports 1 & 4.
Even stranger; if the sequencer is in playback and a Midi controller is being played simulatenously on the same channel, the playback will not be heard, while the (thru) controller\'s playing will!
To attempt to solve this problem, I experimented with Hubi\'s loopback driver, which has been known to help sort out some other tough Midi problems. Firstly, one has to obtain and install these drivers (one possible source is the downloads page on www.xgfactory.com (\"http://www.xgfactory.com\") ), i.e. http://www.xgfactory.com/downloads/mdlpbk25.zip (\"http://www.xgfactory.com/downloads/mdlpbk25.zip\")
(I suppose that similar drivers such as Midi-Yoke will also be usable).
The steps in this workaround is as follows:
1) Install Hubi\'s loopback drivers
2) Edit win.ini & reboot
3) Setup Hubi\'s \"cables\"
A brief explanation follows (as brief as I can make it!)
Hubi provides the following: 4 ports (LB1 - LB4) which are multiclient ports, both input and output. Anything sent to LB1 as an output port, will appear on LB1 as an input port.
Logic has a reasonably unique way of dealing with Midi ports. Since Logic opens all ports, strange things will now happen when you try recording. Logic will send events out on LB1 - LB4 which it will then receive again on LB1-LB4, and this will confuse Logic. To stop this, the file win.ini must be edited in your /windows directory.
* Note that, after installing Hubi\'s driver, you must first reboot, then start Logic Audio and quit it again. Logic then identifies the new midi ports and adds them to the [logic] section in win.ini.
Now, edit the win.ini file:
Look for the section that starts with [logic]. It will look something like this:
[logic]
SampleEditor=coolle.exe
keyPort=2
MidiIn_SB_Live__MIDI_In__C000=1
MidiIn_SW1000__MIDI_IN=1
MidiOut_Creative_S_W_Synth=1
MidiOut_A__SB_Live__MIDI_Synth=1
MidiOut_B__SB_Live__MIDI_Synth=1
MidiOut_SB_Live__MIDI_Out__C000=1
MidiOut_SW1000__1_Synthesizer=1
MidiOut_SW1000__2_Synthesizer=1
MidiOut_SW1000__3_Synthesizer=1
MidiOut_SW1000__MIDI_OUT=1
LRU2=C:\\Program Files\\Creative\\SBLive\\Media\\Midi\\Symphony.mid
LRU3=Various Multi Sets v3.2.lso
LRU4=
MidiOut_GigaSampler_Endless_Wave=1
MidiOut_NemeSys_MidiOut__Port_1=1
MidiOut_NemeSys_MidiOut__Port_2=1
MidiOut_NemeSys_MidiOut__Port_3=1
MidiOut_NemeSys_MidiOut__Port_4=1
MidiOut_YAMAHA_SXG_Driver=1
MidiIn_LB1=1
MidiIn_LB2=1
MidiIn_LB3=1
MidiIn_LB4=1
MidiOut_LB1=1
MidiOut_LB2=1
MidiOut_LB3=1
MidiOut_LB4=1
This may look somewhat differnent in your system. The important thing is the 4 lines:
MidiIn_LB1=1
MidiIn_LB2=1
MidiIn_LB3=1
MidiIn_LB4=1
For these 4 lines, change the 1 to a 0, i.e.
MidiIn_LB1=0
MidiIn_LB2=0
MidiIn_LB3=0
MidiIn_LB4=0
(Now, restart windows).
This will tell Logic *not* to open these ports as inputs, so Logic will open them only as outputs. Logic will now be able to record / playback as normal.
Hubi also supplies a set of \"cables\" - a little program which you can use to connect these LB ports to your other Midi ports. A cable is set up by double clicking on the hwmdcabl.exe file. One can then right-click on its bar on the task bar to connect inputs and outputs.
For example, start hwmdcabl.exe, then right click on it in the task bar at the bottom of your screen. Select \"LB1\" in the Input column (the middle column), and select \"Nemesys MidiOut Port 1\" in the Output (rightmost) column. Anything sent to LB1 will now be sent on to GSt port 1.
You can now start another instance (just double-click on hwmdcabl.exe again), and connect LB2 to Nemesys Port 2. Two more instances can be used for LB3 to port 3 and LB4 to port 4.
( While experimenting with these, note that when you start another instance of the hwdcabl, an error message may pop up saying something like \"port already in use\" Just accept this, since the new instance is trying to open the same ports as the previous instance, and some of the ports concerned - like the Nemesys ports - may not be multiclient. Just right click on the new instance in the task bar, and set the appropriate ports. )
Even better, you can direcly specify a command line which will do the connections. For this command line, you will need the numbers of the Midi ports, which you can learn by right-clicking as in the previous paragraph.
The idea would be to make a little batch file with 4 lines such as
HWMDCABL.exe OUT=7 IN=2
which will connect LB1 to Giga port 1, LB2 to Giga port 2, etc.
When you have done experimenting, close all the cables by right-clicking on each and choosing \"close\".
To use the workaround, do the following (the order is important):
1) Start Gigastudio (on my system, I *must* start Gigastudio *before* I start any cables, otherwise Gigastudio does not respond to the controllers configured on its inputs! So, first start Gigastudio. No changes need to be made to the GigaSt configuration.
2) Now start the 4 cables which connect LB1 to Nemesys port 1, LB2 to Nemesys Port 2, etc. These cables must be started and connected *before* Logic is started.
3) Now start Logic from the sequencer button in GigaSt.
4) When choosing instruments within Logic, the Nemesys ports will now be grayed out, and you will not be able to select them. This is because these ports are not multiclient, and they have already been opened by each Hubi \"cable.\" Where you would have selected \"Nemesys port 1\", now select \"LB1\" instead, and use LB2 instead of Nemesys port 2, etc.
During playback, Logic will play events to LB1, which the Hubi cable will then relay to Nemesys port 1. For some weird reason, sound will now result! (Well, at least on my system!)
I have only tested the system briefly with 2 channels to one port, and with 2 channels to 2 ports, but it seems to work perfectly well. I suppose that using the loopback will slightly increase the CPU load, but at least it is better than nothing!
// Charl
[This message has been edited by cc (edited 06-12-2000).]
It seems there are a few weird things happening between the various Midi drivers.
Briefly, what I see is as follows: When starting Logic via the sequencer button in GSt, all works fine while playing controllers or editing events. However, as soon as the Logic Sequencer is started in playback mode, previously recorded events do not sound (even though the GigaSt midi loop shows activity on the channel).
The strange thing is that, even if events are recorded only on Channel 1 of Port 1, the GSt midi indicator will sometimes flash on Port 1, but mostly on Port 4! No sound emerges, even if patches are loaded onto all channels of ports 1 & 4.
Even stranger; if the sequencer is in playback and a Midi controller is being played simulatenously on the same channel, the playback will not be heard, while the (thru) controller\'s playing will!
To attempt to solve this problem, I experimented with Hubi\'s loopback driver, which has been known to help sort out some other tough Midi problems. Firstly, one has to obtain and install these drivers (one possible source is the downloads page on www.xgfactory.com (\"http://www.xgfactory.com\") ), i.e. http://www.xgfactory.com/downloads/mdlpbk25.zip (\"http://www.xgfactory.com/downloads/mdlpbk25.zip\")
(I suppose that similar drivers such as Midi-Yoke will also be usable).
The steps in this workaround is as follows:
1) Install Hubi\'s loopback drivers
2) Edit win.ini & reboot
3) Setup Hubi\'s \"cables\"
A brief explanation follows (as brief as I can make it!)
Hubi provides the following: 4 ports (LB1 - LB4) which are multiclient ports, both input and output. Anything sent to LB1 as an output port, will appear on LB1 as an input port.
Logic has a reasonably unique way of dealing with Midi ports. Since Logic opens all ports, strange things will now happen when you try recording. Logic will send events out on LB1 - LB4 which it will then receive again on LB1-LB4, and this will confuse Logic. To stop this, the file win.ini must be edited in your /windows directory.
* Note that, after installing Hubi\'s driver, you must first reboot, then start Logic Audio and quit it again. Logic then identifies the new midi ports and adds them to the [logic] section in win.ini.
Now, edit the win.ini file:
Look for the section that starts with [logic]. It will look something like this:
[logic]
SampleEditor=coolle.exe
keyPort=2
MidiIn_SB_Live__MIDI_In__C000=1
MidiIn_SW1000__MIDI_IN=1
MidiOut_Creative_S_W_Synth=1
MidiOut_A__SB_Live__MIDI_Synth=1
MidiOut_B__SB_Live__MIDI_Synth=1
MidiOut_SB_Live__MIDI_Out__C000=1
MidiOut_SW1000__1_Synthesizer=1
MidiOut_SW1000__2_Synthesizer=1
MidiOut_SW1000__3_Synthesizer=1
MidiOut_SW1000__MIDI_OUT=1
LRU2=C:\\Program Files\\Creative\\SBLive\\Media\\Midi\\Symphony.mid
LRU3=Various Multi Sets v3.2.lso
LRU4=
MidiOut_GigaSampler_Endless_Wave=1
MidiOut_NemeSys_MidiOut__Port_1=1
MidiOut_NemeSys_MidiOut__Port_2=1
MidiOut_NemeSys_MidiOut__Port_3=1
MidiOut_NemeSys_MidiOut__Port_4=1
MidiOut_YAMAHA_SXG_Driver=1
MidiIn_LB1=1
MidiIn_LB2=1
MidiIn_LB3=1
MidiIn_LB4=1
MidiOut_LB1=1
MidiOut_LB2=1
MidiOut_LB3=1
MidiOut_LB4=1
This may look somewhat differnent in your system. The important thing is the 4 lines:
MidiIn_LB1=1
MidiIn_LB2=1
MidiIn_LB3=1
MidiIn_LB4=1
For these 4 lines, change the 1 to a 0, i.e.
MidiIn_LB1=0
MidiIn_LB2=0
MidiIn_LB3=0
MidiIn_LB4=0
(Now, restart windows).
This will tell Logic *not* to open these ports as inputs, so Logic will open them only as outputs. Logic will now be able to record / playback as normal.
Hubi also supplies a set of \"cables\" - a little program which you can use to connect these LB ports to your other Midi ports. A cable is set up by double clicking on the hwmdcabl.exe file. One can then right-click on its bar on the task bar to connect inputs and outputs.
For example, start hwmdcabl.exe, then right click on it in the task bar at the bottom of your screen. Select \"LB1\" in the Input column (the middle column), and select \"Nemesys MidiOut Port 1\" in the Output (rightmost) column. Anything sent to LB1 will now be sent on to GSt port 1.
You can now start another instance (just double-click on hwmdcabl.exe again), and connect LB2 to Nemesys Port 2. Two more instances can be used for LB3 to port 3 and LB4 to port 4.
( While experimenting with these, note that when you start another instance of the hwdcabl, an error message may pop up saying something like \"port already in use\" Just accept this, since the new instance is trying to open the same ports as the previous instance, and some of the ports concerned - like the Nemesys ports - may not be multiclient. Just right click on the new instance in the task bar, and set the appropriate ports. )
Even better, you can direcly specify a command line which will do the connections. For this command line, you will need the numbers of the Midi ports, which you can learn by right-clicking as in the previous paragraph.
The idea would be to make a little batch file with 4 lines such as
HWMDCABL.exe OUT=7 IN=2
which will connect LB1 to Giga port 1, LB2 to Giga port 2, etc.
When you have done experimenting, close all the cables by right-clicking on each and choosing \"close\".
To use the workaround, do the following (the order is important):
1) Start Gigastudio (on my system, I *must* start Gigastudio *before* I start any cables, otherwise Gigastudio does not respond to the controllers configured on its inputs! So, first start Gigastudio. No changes need to be made to the GigaSt configuration.
2) Now start the 4 cables which connect LB1 to Nemesys port 1, LB2 to Nemesys Port 2, etc. These cables must be started and connected *before* Logic is started.
3) Now start Logic from the sequencer button in GigaSt.
4) When choosing instruments within Logic, the Nemesys ports will now be grayed out, and you will not be able to select them. This is because these ports are not multiclient, and they have already been opened by each Hubi \"cable.\" Where you would have selected \"Nemesys port 1\", now select \"LB1\" instead, and use LB2 instead of Nemesys port 2, etc.
During playback, Logic will play events to LB1, which the Hubi cable will then relay to Nemesys port 1. For some weird reason, sound will now result! (Well, at least on my system!)
I have only tested the system briefly with 2 channels to one port, and with 2 channels to 2 ports, but it seems to work perfectly well. I suppose that using the loopback will slightly increase the CPU load, but at least it is better than nothing!
// Charl
[This message has been edited by cc (edited 06-12-2000).]