VOGONS

Common searches


First post, by Rencer

User metadata
Rank Newbie
Rank
Newbie

Here is my tutorial how it can be done correctly.
I followed a tutorial that I find on the internet to install and use the SC-VA, but it doesn't worked.
I asked about it here and finally with the help of reaInc, I managed to make it work.

Few things that you need:
Roland Sound Canvas VA
You can download a trial version or buy it from Roland's website:
https://www.roland.com/global/products/sound_ … s_va/downloads/

Download the Windows version!
The trial version works only for 10 minutes in a row, but you can restart it and it will work again for 10 minutes. It works for 14 days, after that, you need to remove and reinstall, if you still want to use the trial version.

Falcosoft MidiPlayer
It is a free program that you can download from the author's website:
http://falcosoft.hu/midiplayer_57_x64.zip

You need Wine and the native Linux version of DOSBox. You also need winetricks too.
They can be installed from the repository of your Linux.
First, install them.

1. You want to play DOS games with Roland music!
Than you need to set up DOSBox's MIDI settings.
First you need to know which port is your Midi Through Port-0.
To find it out, in terminal run the following command:

aconnect -l

It gives you a list and you should see something like this:

client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'

So the Midi Through Port-0 is 14:0 in this example, but the number 14 can be different for you.

Now open up your DOSBox config file for editing. The file should be in your home folder inside the ".dosbox" folder.
Go to the [midi] section and under it, change the following lines like this:

mpu401=intelligent
mididevice=alsa
midiconfig=14:0

The midiconfig is 14:0 in my example, but you need to put your port number here. Let's say aconnect tells you that it is 17, than it must be 17:0

Save the changes, and close your editor.

2. Use the the terminal to setup Wine.
If you like to install the SC-VA into different folder, and not into the default ".wine" folder you need to make a new prefix with this command:

WINEPREFIX=~/.wine-scva wineboot

It makes a new folder called ".wine-scva" in your home folder. (You can change the "wine-scva" name to what you like, it's just an example.)

If you like to use the default folder, than use this command:

wineboot

It will makes the default ".wine" folder in your home folder.

3. With winetricks install the mfc42.dll
Use this command if you installed wine into a different folder:

WINEPREFIX=~/.wine-scva winetricks mfc42

Or use this if you use the default:

winetricks mfc42

4. The Roland SC-VA comes in an executable installer so you need to install it with Wine
To other than the default folder:

WINEPREFIX=~/.wine-scva wine SOUND_Canvas_VA_Installer.exe

If you are not runnig Wine from the same folder where the insatller is located, you must add that path to the command, like this:

WINEPREFIX=~/.wine-scva wine "YOUR/PATH/TO/SOUND_Canvas_VA_Installer.exe"

To the default folder:

wine SOUND_Canvas_VA_Installer.exe

or

wine "YOUR/PATH/TO/SOUND_Canvas_VA_Installer.exe"

5. The Falcosoft Midiplayer doesn't need to be insatlled, so just unzip it into a folder of your choice.

6. The installations are finished.
Now here is a step that doens't required, but it makes a bit easier to use the Midiplayer with the Roland VST. I recommend to do this step!
Firt locate the 64bit(!) Roland SC-VA folder. It should be in the appropriate Wine prefix that you use.
In my example it is the /.wine-scva/drive_c/Program Files/Roland/Sound Canvas VA
or
/.wine/drive_c/Program Files/Roland/Sound Canvas VA

Copy this whole "Sound Canvas VA" folder with all of it's content to the "VST" folder of the Falcosoft Midiplayer.
For me, it is the "/home/gofri/Music/MidiPlayer5/VST" folder.
When you open up that folder, you should see two other folders insdide this "VST" folder: a "MuntVsti" folder and an "OPL3Vsti" folder, that is the right place.
That two folder is two VST comes with the Midiplayer.
"MuntVsti" is the equvalent of the MUNT MT32-emulator.
"OPL3Vsti" is an OPL3 emulator.
These are fully functional free to use VSTs, no time limit or anything like that.

If you done it right, than now you have 3 folders in "VST": "MuntVsti" folder, "OPL3Vsti" folder, and "Sound Canvas VA"

The reason why it is a good thing to not skip this step, because the Midiplayer look into this folder when you choose VST to load.
So you don't need every time locate the installation folder of the SC-VA. It saves time.
Another thing is, if you copied that "Sound Canvas VA" folder here, you don't need the Roland SC-VA software anymore, you can uninstall that. It saves storage space.

If you like to uninstall it use one of these commands in the terminal:

WINEPREFIX=~/.wine-scva wine uninstaller

or

wine uninstaller

This opens up the usual Windows Add/Remove Programs thingy. Than you can uninstall it.

7. Now you need to set up the Midiplayer correctly to use the SC-VA.
So start it with:

WINEPREFIX=~/.wine-scva wine "YOUR/PATH/TO/MidiPlayer.exe"

or

wine "YOUR/PATH/TO/MidiPlayer.exe"

When the program started, first click on the 'Device Settings...' menu. It's the cogwheel icon at the left side of the program's window.
A new window opens up. At the top you can see 'Midi Out' options.
Under it you can see 'Midi In' options. First tick the 'Active' checkbox to activate the MIDI input. Now you can change the 'Input Port' to 'Midi Through Port-0'
Check the checkbox at 'Midi Out' called 'Use Bass (Soundfont/VSTi)' and it will extend the window to the right.
You can see a lot of new options.
At almost the bottom you can see 'Output Mode'. Change it to 'WASAPI (Vista/7/8/10)'. This is very important! The default is 'Directsound', so make sure you changed it to WASAPI!
Click 'OK', it will close the window.

Now you have to tell Midiplayer to use the SC-VA. Click on the 'Main Menu', it's the icon with 3 stripes at the top left.
Navigate to Bass VST(i) Plugins > VST Instrument. Click on it and it will open a new Window.
Click on the 'File' button and it opens up a file selection window.
You should see that you are inside a folder called "OPL3Vsti" that is the default by the program.
Navigate inside the "Sound Canvas VA" folder.
If you done the 5th step, you just need to go up one level, than navigate inside the "Sound Canvas VA" folder.
Or if you skipped that step, you have to locate the 64bit installation of the Roland Sound Canvas VA and go inside the "Sound Canvas VA" folder at there.
Now select the file called "Sound Canvas VA.dll" and click the 'Open' button. The window closes and now the SC-VA is loaded.
Click the 'PLay' button and it should start SC-VA. If you using the trial mode a small winow appear on the screen, telling that you run the trial version.
Just click 'OK'.

And that's it!
All you need to do is run your DOS game (via DOSBox) and setup it to use a Roland card or General MIDI for music.

Reply 1 of 1, by kode54

User metadata
Rank Member
Rank
Member

Can I give you a helpful hint for future work? Maybe someone could look at my foo_midi source code, as seen on my Bitbucket repository:

https://bitbucket.org/losnoco/foo_midi

And the necessary extra:

https://bitbucket.org/losnoco/foobar2000/src/ … plugins/SCPipe/

The binary packages of foo_midi include this SCPipe utility, in both 32 and 64 bit versions, linked against static MSVC runtime. The SCPlayer in foo_midi source documents how to use it. It may very well be possible to pipe a Wine host of this process through stdin/stdout, but you'll need to configure Wine to not emit any of its own messages during the runtime.

This SCPipe can host any of the versions of the Windows SCCore.dll, one 16 channel stereo 64 voice polyphony instance per invocation. foo_midi invokes it three times for 48 channels. This is way faster than invoking the host VST plugin, as that not only contains a UI, but also clones the SCCore.dll around into your temp folder to facilitate multiple instances in a single process, while my pipe process can share instances on Windows, and possibly in Wine as well.

I have tried WineGCC building the SCPipe, it ended in disaster, the SCCore crashed internally. And there's no C++ ABI to consider here, either.