OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Applications => Topic started by: Martin Iturbide on October 05, 2019, 04:02:34 pm

Title: Timidity MCD install (Minstaller).
Post by: Martin Iturbide on October 05, 2019, 04:02:34 pm
Hi

I'm trying to install Timidity MCD (http://hobbes.nmsu.edu/h-viewer.php?dir=/pub/os2/apps/mmedia/sound/players&file=timidityMCD_2104.zip), since I want MIDI emulation on MMOS2. I remember that I used it on the past.
It is installed with the Multimedia Installer, but on ArcaOS minstall (from Kiewitz) it is giving me an error.

"timidmcd.scr:6] String is too big.
Return-Code 8 (CID: Success, error (s) logged)

Is there something you suggest to change on timidmcd.scr ? Or any other way to get MIDI emulation on MMOS2 ?

Regards
Title: Re: Timidity MCD install (Minstaller).
Post by: Martin Iturbide on October 05, 2019, 04:10:04 pm
Hi

I found a workarround for Minstall. I changed the sixth line of timidmcd.scr from
 DrvVersionNumber = "2.10.4"
to
  DrvVersionNumber = "2.10"

Now I have to remember how to configure Timidity with the GUS/patch thing.

Regards
Title: Re: Timidity MCD install (Minstaller).
Post by: Martin Iturbide on October 05, 2019, 06:13:44 pm
Ohh

I'm going to try Alex's port, I forgot about that.
http://www.altsan.org/programming/ports/

Regards
Title: Re: Timidity MCD install (Minstaller).
Post by: Martin Iturbide on October 05, 2019, 07:05:52 pm
Hi

I had tried Alex Timidity without issues, but I need someway to have Timidity working on MMOS2.

Timidity MCD is producing me an error on the WPS, it seems that CW-MM tried to read the .mid file and crash the WPS everytime I show a window with a .mid file on it. I need to test it futher on some other VM to confirm it is a reproducible error. To revert that error, I just rename timidity.dll (from \MMOS2\DLL) to timidity.old.

I want to have MIDI support on MMOS2, because I want to try to get MIDI sound on solo old OS/2 games like Lemmings, Makman.

Regards
Title: Re: Timidity MCD install (Minstaller).
Post by: David McKenna on October 05, 2019, 08:06:16 pm
 Hi Martin,

  I saw your post and decided to try Timidity MCD but so far no luck playing any MIDI files. If I double click one, the WPS resets and if I right click one, then choose 'Player', the playing app starts, but hangs the WPS until I force kill the 'AB' process with Top.

  The problem with CWMM can be dealt with by editing the OS2.INI 'CWMM' keyword 'mmCLSDontCheckDrives' to include the drive letter of the drive with the MIDI files on it.

  Let us know if you get it going...

Regards,
Title: Re: Timidity MCD install (Minstaller).
Post by: xynixme on October 06, 2019, 01:24:03 am
I want to have MIDI support on MMOS2, because I want to try to get MIDI sound on solo old OS/2 games like Lemmings, Makman.

The Makman MIDI files seems to require more instruments than supported by Timidity by default, if https://onlinesequencer.net is anything to go by. So you may need real, supported hardware after all.

You could try to convert (directly or indirectly) a sound file to a supported MMOS/2 file format, e.g. WAV, and next hope that Makman uses the right technology. For example, you can copy Makman's EATING.WAV to EATING.MID, and use x:\MMOS2\PLAY.CMD FILE="EATING.MID" to play the renamed file. Of course it'll be a WAV file, but with a file name expected by the app. If that works with Makman, then...

Code: [Select]
COPY VEMBO.MID VEMBO.MID.BAK
Somehow play VEMBO.MID and record that as VEMBO.WAV (or convert an unsupported file format binary, if possible)
Rename VEMBO.WAV to VEMBO.MID

If.

To test, please first try this with an existing audio file, per app, and make sure the sound file will actually be used by the app. I don't know how to let Makman play VEMBO.MID, without having tested that. I cannot hear a MP3 files saved as VEMBO.MID, but that doesn't rule out that this won't work with Makman.
Title: Re: Timidity MCD install (Minstaller).
Post by: Dave Yeo on October 06, 2019, 01:55:42 am
There's other reports of Timidity MCD crashing everytime a folder with MIDI files is opened. Be nice to fix. First the autotools support needs fixing as trying to run configure && make fails with sh can't find CONFIGURE or such. The MCD code is mixed in with the code to build Timidity too.
Title: Re: Timidity MCD install (Minstaller).
Post by: Lars on October 06, 2019, 10:14:08 am
Timidity MCD is broken. I was thinking about writing a new one that just invokes timidity.exe under the hoods but I never found the time to do it.
What does work is to associate .MID files with timidity.exe but that does not give you the "double click and play" functionality.
Title: Re: Timidity MCD install (Minstaller).
Post by: Martin Iturbide on October 06, 2019, 06:47:28 pm
Hi

For the moment I had found Alex's port of Timidity (2.13.2 preview release 2) with the EAWPatches package working very good (PM and command line) testing different MID files.

Timidity MCD is broken. I was thinking about writing a new one that just invokes timidity.exe under the hoods but I never found the time to do it.

That would be the optimal thing to integrate the MIDI with MMOS2, maybe some of the Timidity MCD source code (https://doconnor.transsee.ca/timidity.html) can be re utilize to save some time. 

Regards
Title: Re: Timidity MCD install (Minstaller).
Post by: Lars on October 06, 2019, 07:07:16 pm
No, timidity MCD source Code is Not helpful.
It's completely Broken and IT cannot handle multiple instances (I did already Look at it)
Title: Re: Timidity MCD install (Minstaller).
Post by: Dave Yeo on October 06, 2019, 07:46:29 pm
Besides Timidity, there's also fluidsynth (Hobbes) for playing MIDI files with SoundFonts. Haven't tested but KOMH seems to be keeping it up to date.
Title: Re: Timidity MCD install (Minstaller).
Post by: Lars on October 07, 2019, 07:17:02 am
Hi David,

yes, there are applications that can play MIDI just fine. The only advantage of a MCD implementation is that it better integrates in the WPS and the MMPM environment as you can use the MMPM API to control the "MIDI device". For example, that makes it available to any application that uses the generic/well defined MMPM API to play a MIDI file instead of calling an app directly. Additionally, the WPS will play a MIDI file on a double click because underneath, the WPS class that manages MIDI files uses the MMPM API to play the MIDI file.
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on October 12, 2019, 09:51:31 pm
Hi

For the moment I had found Alex's port of Timidity (2.13.2 preview release 2) with the EAWPatches package working very good (PM and command line) testing different MID files.

Regards

Hi Martin, after having read your post I've installed Timidity 2.13.2 wpi package (OS2 Warp 4.52 on Virtualbox), and its GUI appearently works but no sound is heard  while the player runs a midi file.  I've then executed the BEE.MID file in the Timidity text mode, below you can see the output.  Do you catch the issue?
Thank you
Title: Re: Timidity MCD install (Minstaller).
Post by: Martin Iturbide on October 12, 2019, 09:55:15 pm
Hi

For the moment I had found Alex's port of Timidity (2.13.2 preview release 2) with the EAWPatches package working very good (PM and command line) testing different MID files.

Regards

Hi Martin, after having read your post I've installed Timidity 2.13.2 wpi package (OS2 Warp 4.52 on Virtualbox), and its GUI appearently works but no sound is heard  while the player runs a midi file.  I've then executed the BEE.MID file in the Timidity text mode, below you can see the output.  Do you catch the issue?
Thank you

Hi Mauro

I installed Alex's Timidity and also  timidity_eawpats_r12.wpi (http://hobbes.nmsu.edu/download/pub/os2/apps/mmedia/sound/players/timidity_eawpats_r12.wpi). Alex WarpIn installer will recognize timidity_eawpats_r12.wpi on the same folder and installs both. Did you installed that? I think that EAWPats are like the instruments files, or something.

Regards
Title: Re: Timidity MCD install (Minstaller).
Post by: Dave Yeo on October 13, 2019, 01:59:06 am
I often see similar errors with working MIDI files and Timidity, it's missing samples from your patchset. Of course if all instruments are missing, no sound but judging by your output, you're only missing some.
I've installed a lot of samples over the years.
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on October 13, 2019, 10:47:48 am

Hi Mauro

I installed Alex's Timidity and also  timidity_eawpats_r12.wpi (http://hobbes.nmsu.edu/download/pub/os2/apps/mmedia/sound/players/timidity_eawpats_r12.wpi). Alex WarpIn installer will recognize timidity_eawpats_r12.wpi on the same folder and installs both. Did you installed that? I think that EAWPats are like the instruments files, or something.

Regards

ok thanks, I missed the timidity_eawpats package suggestion, so I installed it, but still not giving sounds, with same ouput message in TiMidity text mode.
Is it correct that the eawpats contents must be inside the eawpats subfolder (APPS/TiMidity/eawpats) ?
Title: Re: Timidity MCD install (Minstaller).
Post by: Alex Taylor on October 13, 2019, 06:06:47 pm
ok thanks, I missed the timidity_eawpats package suggestion, so I installed it, but still not giving sounds, with same ouput message in TiMidity text mode.
Is it correct that the eawpats contents must be inside the eawpats subfolder (APPS/TiMidity/eawpats) ?

Not necessarily, but then the timidity.cfg file must be edited to include the correct path.
e.g.
Code: [Select]
dir c:\mmos2\patches\eawpats
Also make sure that timidity.cfg has the eawpats config file entries uncommented:
Code: [Select]
source gravis.cfg
source gsdrums.cfg
source gssfx.cfg
source xgmap2.cfg
(This shouldn't technically be necessary if they are in the Timidity program directory, but I'm not entirely certain that's 100% true in practice, and it's safer to make sure they're uncommented.)
Title: Re: Timidity MCD install (Minstaller).
Post by: Alex Taylor on October 13, 2019, 06:08:00 pm
By the way, I'm preparing a new release, which includes several improvements to the PM GUI.
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on October 13, 2019, 06:28:06 pm
I often see similar errors with working MIDI files and Timidity, it's missing samples from your patchset. Of course if all instruments are missing, no sound but judging by your output, you're only missing some.
I've installed a lot of samples over the years.

Hi Dave, as said in my previous post now I've installed Timidity eawpats as well but still hear no sound running a midi file.
If I run TiMidity in text mode to play a midi file just to see what it says, a file with few instruments like BEE.MID will show few of them missing, while a file with more of them (BALLGAME.MID) will show more missing.  I believe all those missing instruments warnings are mostly indicating that is going wrong and that'why I hear nothing. Isn't so?
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on October 13, 2019, 06:31:12 pm
ok thanks, I missed the timidity_eawpats package suggestion, so I installed it, but still not giving sounds, with same ouput message in TiMidity text mode.
Is it correct that the eawpats contents must be inside the eawpats subfolder (APPS/TiMidity/eawpats) ?

Not necessarily, but then the timidity.cfg file must be edited to include the correct path.
e.g.
Code: [Select]
dir c:\mmos2\patches\eawpats
Also make sure that timidity.cfg has the eawpats config file entries uncommented:
Code: [Select]
source gravis.cfg
source gsdrums.cfg
source gssfx.cfg
source xgmap2.cfg
(This shouldn't technically be necessary if they are in the Timidity program directory, but I'm not entirely certain that's 100% true in practice, and it's safer to make sure they're uncommented.)

Hi Alex, I've edited TIMIDITY.CFG as you suggested, would you please have a look if did ok, especially in the config/patch file directories section?
Thank you

##############################################################################
# Look for configuration and patch files in the following directories:

dir @@TIMIDITY_DIR@@
dir C:\APPS\TiMidity\eawpats

##############################################################################
# This sets up the default patches in the TiMidity support package
# "timidity-lib-0.1.tar.gz":

#bank 0
#   0 patch/acpiano.pat
#  24 patch/nylongt2.pat

##############################################################################
# Uncomment to enable Eric Welsh's EAWPatches
#
source gravis.cfg
source gsdrums.cfg
source gssfx.cfg
source xgmap2.cfg

##############################################################################
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on October 13, 2019, 06:38:27 pm


Quote

Hi Alex, I've edited TIMIDITY.CFG as you suggested, would you please have a look if did ok, especially in the config/patch file directories section?

dir @@TIMIDITY_DIR@@
dir C:\APPS\TiMidity\eawpats

##############################################################################
# This sets up the default patches in the TiMidity support package
# "timidity-lib-0.1.tar.gz":

#bank 0
#   0 patch/acpiano.pat
#  24 patch/nylongt2.pat

##############################################################################
# Uncomment to enable Eric Welsh's EAWPatches
#
source gravis.cfg
source gsdrums.cfg
source gssfx.cfg
source xgmap2.cfg

YES IT IS !  Now it is playing !

Thanks to you, Dave and Martin
Title: Re: Timidity MCD install (Minstaller).
Post by: Alex Taylor on October 14, 2019, 03:21:23 pm
Glad to hear it.

FWIW, this line:
dir @@TIMIDITY_DIR@@
is unnecessary - it's just a placeholder for the WPI installer.
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on October 17, 2019, 08:03:22 pm
By the way, I'm preparing a new release, which includes several improvements to the PM GUI.

to keep an eye on it, we're talking about http://www.altsan.org/programming/ports/  page, right?
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on October 18, 2019, 08:29:04 am
now that TiMidity works, just need to ask if you can tell,  how can I get its execution associated to .mid files opening.  I already made the association with Assoedit, and it confirms that *.MID filter is now associated to TiMidity text mode execution, but a midi file context menu still shows "play" as default association, which leads to nothing. This maybe because in the Multimedia configuration a MIDI file is considered unseparable from the Sequencer01 which is given as the default system application for playing it, and don't know how to change it (if I uncheck the box then next opening I find it checked again).
Thank you
Title: Re: Timidity MCD install (Minstaller).
Post by: Lars on October 18, 2019, 11:15:42 am
This is exactly the problem I explained already: the WPS class that handles MIDI files uses the MMPM API to play the midi file.
And this API requires an MCD implementation of timidity. The only thing you can do is to deregister the WPS class that handles MIDI files, in which case a midi file will be an "ordinary" file of unknown content . But then, you will also lose the WPS icon representation of the midi file.
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on October 18, 2019, 02:16:55 pm
This is exactly the problem I explained already: the WPS class that handles MIDI files uses the MMPM API to play the midi file.
And this API requires an MCD implementation of timidity. The only thing you can do is to deregister the WPS class that handles MIDI files, in which case a midi file will be an "ordinary" file of unknown content . But then, you will also lose the WPS icon representation of the midi file.

Hi Lars, thanks for the clarification. I would try to do that, since I use a test environment machine where to make all experiments before going live. Losing a WPS icon will be an accettable pain in change of the benefit to play midi files by an icon doubleclick. Can I ask to explain me how to proceed to deregister the WPS class handling midi?
Title: Re: Timidity MCD install (Minstaller).
Post by: Lars on October 18, 2019, 04:19:16 pm
I am not in front of my PC but if you have XWorkplace installed you can then use the WPS class browser to show all WPS classes. You will then be able to guess from the WPS class name what is the WPDataFile derived WPS class that handles MIDI files. It should be called "MMMIDI" or something like that. If you found it you can right click on that WPS class and choose "deregister" and it will no longer be registered. You can then restart the WPS. What you should do is to note down the DLL that implements the WPS class and also the WPS class name. You can then reregister the WPS class in case you want to do that.
Title: Re: Timidity MCD install (Minstaller).
Post by: Alex Taylor on October 19, 2019, 04:53:42 am
By the way, I'm preparing a new release, which includes several improvements to the PM GUI.

to keep an eye on it, we're talking about http://www.altsan.org/programming/ports/  page, right?

That's correct, yes.  Coming soon.
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on October 19, 2019, 09:33:19 pm
I am not in front of my PC but if you have XWorkplace installed you can then use the WPS class browser to show all WPS classes. You will then be able to guess from the WPS class name what is the WPDataFile derived WPS class that handles MIDI files. It should be called "MMMIDI" or something like that. If you found it you can right click on that WPS class and choose "deregister" and it will no longer be registered. You can then restart the WPS. What you should do is to note down the DLL that implements the WPS class and also the WPS class name. You can then reregister the WPS class in case you want to do that.

Ok, I do have XWorkplace and have deregistered the MMMIDI class by selecting "Deregister" as you indicated (1st image) and at that moment the MMMIDI class disappeared from its position, but then after rebooting nothing has changed, midi files are with same icon as before and same context menu with "play" item by default.
Furthermore, by reopening the WPS class browser, MMMIDI is there again, without possibility to act on its context menu because the items are shadowed (2nd image)
Title: Re: Timidity MCD install (Minstaller).
Post by: ivan on October 20, 2019, 04:52:19 pm
Hi mauro,

You could also try Class manager (search for classman on hobbes) which is what I use when I need to deregister classes.
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on October 20, 2019, 10:12:25 pm
Hi mauro,

You could also try Class manager (search for classman on hobbes) which is what I use when I need to deregister classes.

I'll try it
thank you
Title: Re: Timidity MCD install (Minstaller).
Post by: Lars on October 21, 2019, 06:44:42 am
It's possible that these classes cannot be deregistered in the normal way. It is possible that they are always preloaded via some OS2SYS.INI or OS2.INI key, I forgot which one that was.
Title: Re: Timidity MCD install (Minstaller).
Post by: Pete on October 21, 2019, 04:40:07 pm
Hi All

A possible ini file entry is:-

    Application                                    Key
   PM_Workplace:IplLoad         MMMIDI


Not sure if this line in config.sys is relevant - change the "?" for appropriate drive letter

   DEVICE=?:\MMOS2\MMPLAYER\midi.sys


Regards

Pete


Title: Re: Timidity MCD install (Minstaller).
Post by: Lars on October 21, 2019, 05:56:21 pm
Hi All

A possible ini file entry is:-

    Application                                    Key
   PM_Workplace:IplLoad         MMMIDI


Not sure if this line in config.sys is relevant - change the "?" for appropriate drive letter

   DEVICE=?:\MMOS2\MMPLAYER\midi.sys


Regards

Pete

1) Thanks, yes, that is exactly the registry key that I meant.
2) I don't think MIDI.SYS is necessary to play MIDI files. MIDI files are played either directly through audio HW (if it supports that which these days most audio HW does not) or by creating,parameterizing and concatenating PCM sound fragments (that's what Timidity does in SW). I think MIDI.SYS is only necessary to control a device that can be controlled via MIDI commands such as a keyboard with MIDI input.
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on October 21, 2019, 09:14:47 pm
Hi mauro,

You could also try Class manager (search for classman on hobbes) which is what I use when I need to deregister classes.

I'll try it
thank you

just tried, and again it confirms having deregistered the MMMIDI class, but then (also after rebooting) nothing has changed.  Fine, if it is still not clear how to make it, then no problem at all, I will handle the file context menu choice to play midi with TiMidity, good enough for me    :)
Title: Re: Timidity MCD install (Minstaller).
Post by: ivan on October 21, 2019, 09:36:39 pm
There are another couple of places in the ini that might need deleting as well.

PMWP_ASSOC_FILTER  and
PMWP_ASSOC_TYPE  just find the *.mid and delete it.
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on November 30, 2019, 12:23:08 pm
By the way, I'm preparing a new release, which includes several improvements to the PM GUI.

to keep an eye on it, we're talking about http://www.altsan.org/programming/ports/  page, right?
[/quote]

That's correct, yes.  Coming soon.
[/quote]

Hi Alex, not looking for putting pressure but just to have an idea if it would be good for me keep waiting a bit more or installing meantime the current Timidity GUI version from your page : are you planning to release the update shortly?
Thank you much
Title: Re: Timidity MCD install (Minstaller).
Post by: Alex Taylor on December 01, 2019, 01:54:18 pm
Yeah, sorry. The new build is actually all done, I'm just working on ironing some kinks out of the WPI installer.  I'm travelling at the moment but I'll try and get back to this next week.
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on December 02, 2019, 05:23:49 pm
Yeah, sorry. The new build is actually all done, I'm just working on ironing some kinks out of the WPI installer.  I'm travelling at the moment but I'll try and get back to this next week.

ok thank you Alex, repeat it was just to have an idea if waiting could be the better choice, and you confirmed it is.
Title: Re: Timidity MCD install (Minstaller).
Post by: Alex Taylor on December 15, 2019, 09:47:50 pm
Well, here is the release candidate.  I haven't been able to test it as much as I'd have liked, but I figure I might as well set it loose. 

If nobody reports any problems with this build and WPI, I'll release it to Hobbes (etc) in a few days.
http://altsan.org/programming/ports/timidity_player_2132_os2_r3.wpi
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on December 21, 2019, 04:15:12 pm
Well, here is the release candidate.  I haven't been able to test it as much as I'd have liked, but I figure I might as well set it loose. 

If nobody reports any problems with this build and WPI, I'll release it to Hobbes (etc) in a few days.
http://altsan.org/programming/ports/timidity_player_2132_os2_r3.wpi

Hi Alex, works fine in my OS2 Warp 4.51 virtualboxlized . Player autoplay is by default as it should be, and the checkbox status correctly works as left (if changed) for next session.
Still not possible associating .MID to TiMidity as default opening application (as talked in other posts), but guess this is a different handling.
Thank you
Title: Re: Timidity MCD install (Minstaller).
Post by: Lars on December 22, 2019, 09:02:31 am
I can also confirm that timidity.exe works for me.

You can still associate "timidity.exe" with MIDI files. The only problem is that it won't play on a double click but instead you have to invoke it via the MIDI file's context menu.
Title: Re: Timidity MCD install (Minstaller).
Post by: mauro on December 22, 2019, 08:00:35 pm
I can also confirm that timidity.exe works for me.

You can still associate "timidity.exe" with MIDI files. The only problem is that it won't play on a double click but instead you have to invoke it via the MIDI file's context menu.

Hi Lars, yes I actually do so. I hoped to make Timidity (no matter if Player or text mode) the default application for clicking a midi file icon, but I learned that this is a hard task due to a very protective MMOS2 handling configuration
Title: Re: Timidity MCD install (Minstaller).
Post by: R.M. Klippstein on January 01, 2020, 11:14:50 pm
Looks good here also, Thanks Alex