25 May '13 - 00:01 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: 1 ... 28 29 [30] 31 32 ... 34
  Reply  |  Print  
Author Topic: XMPlay MIDI plugin  (Read 223473 times)
winner
Posts: 193


« Reply #580 on: 1 Apr '11 - 01:20 »
Reply with quoteQuote

So, I tried reinstalling the BASSMIDI synthesizer and rebooting. Same problem. When I select the Default MIDI Synth as BASSMIDI the program tells me it's set, but when I reopen the Driver Configuration window, it reverts to showing the MS GS Wavetable Synth in the dropdown.

I'm also having trouble unassociating both XMPlay and Windows Media Player from .mid file extensions in order to test playing by the OS. If I unassociate XMPlay, then WMP becomes the default player and the checkbox is grayed out in Win7's file associations window so I can't deselect it.
Logged
mudlord
Guest
« Reply #581 on: 1 Apr '11 - 01:55 »
Reply with quoteQuote

Dunno whats the issue there....
Weird.

Whats your system? Does it have a Creative soundcard?
Logged
winner
Posts: 193


« Reply #582 on: 1 Apr '11 - 02:49 »
Reply with quoteQuote

Dunno whats the issue there....
Weird.

Whats your system? Does it have a Creative soundcard?
System is Windows 7 Home Premium, 64 bit, on a Gigabyte AMD motherboard with Realtek on-board audio.
Logged
Rich Nagel
Posts: 292


« Reply #583 on: 1 Apr '11 - 04:23 »
Reply with quoteQuote

Hiya Mudlord, didn't even know that you posted in these forums Smiley

I hope to get a fix out in the next few days for this MIDI Yoke weirdness...

Many thanks! Smiley
Logged
mudlord
Guest
« Reply #584 on: 1 Apr '11 - 05:38 »
Reply with quoteQuote

Try the update on my server Rich Nagel.

You will need to uninstall the old version first.
Logged
Rich Nagel
Posts: 292


« Reply #585 on: 1 Apr '11 - 07:01 »
Reply with quoteQuote

Try the update on my server Rich Nagel. You will need to uninstall the old version first.

It works *PERFECTLY*, many thanks!!! Smiley

BTW, one little itty-bitty feature request if possible: Any chance of adding a global reverb slider to the driver/configuration utility that would bump up the entire reverb level somewhat (something along the lines of Ian's reverb slider in the newest version of his XMPlay MIDI Plugin)?
Logged
mudlord
Guest
« Reply #586 on: 1 Apr '11 - 08:02 »
Reply with quoteQuote

The BASSMIDI API does not offer functionality like that currently.
Logged
Rich Nagel
Posts: 292


« Reply #587 on: 1 Apr '11 - 09:34 »
Reply with quoteQuote

The BASSMIDI API does not offer functionality like that currently.

A-OK, thanks for the info Smiley


(edit) BTW, I don't suppose that these (mentioned in the BASSMIDI documentation) could be controlled using standard MIDI controllers (or MIDI RPNs/NRPNs) embedded in a MIDI file, could they?

MIDI_EVENT_REVERB_TIME
MIDI_EVENT_REVERB_DELAY
MIDI_EVENT_REVERB_LOCUTOFF
MIDI_EVENT_REVERB_HICUTOFF
MIDI_EVENT_REVERB_LEVEL

Sorry for the (probably) dumb question <grin>... I'm not a programmer, but I *do* understand MIDI controller stuff; and was simply thinking that maybe I could embed something in the MIDI files to enhance the reverb a bit Smiley


(heh, just a-thinking out loud) Those parameters sound extremely similar to the effect of the EMU-8K/10K/20K hardware's NRPN controllers for aditional reverb (and chorus) control Smiley

(e.g.)

CC# - Param. - Desc.
99 - 127 - NRPN MSB, always 127
98 - 26 - NRPN LSB, 26 for Reverb
6 - 65 - Data Entry MSB, 64 or 65
38 - 127 - Data Entry LSB, 0-127
« Last Edit: 1 Apr '11 - 11:54 by Rich Nagel » Logged
Ian @ un4seen
Administrator
Posts: 15276


« Reply #588 on: 1 Apr '11 - 16:04 »
Reply with quoteQuote

The BASSMIDI API does not offer functionality like that currently.

It should be possible to implement by adjusting the MIDI_EVENT_REVERB_LEVEL value, and using syncs to reapply the adjustment whenever it's changed by the MIDI data. For example, something like this...

BASS_ChannelSetSync(stream, BASS_SYNC_MIDI_EVENT|BASS_SYNC_MIXTIME, MIDI_EVENT_REVERB_LEVEL, ReverbLevelSync, 0); // get notified of reverb level changes
BASS_ChannelSetSync(stream, BASS_SYNC_MIDI_EVENT|BASS_SYNC_MIXTIME, MIDI_EVENT_REVERB_MACRO, ReverbLevelSync, 0); // and reverb macros (which change the level)
BASS_ChannelSetSync(stream, BASS_SYNC_MIDI_EVENT|BASS_SYNC_MIXTIME, MIDI_EVENT_SYSTEM, ReverbLevelSync, 0); // ditto system resets

...

void CALLBACK ReverbLevelSync(HSYNC handle, DWORD channel, DWORD data, void *user)
{
DWORD level=BASS_MIDI_StreamGetEvent(channel, 0, MIDI_EVENT_REVERB_LEVEL); // get the reverb level
level*=adjustment; // apply the adjustment
BASS_MIDI_StreamEvent(channel, 0, MIDI_EVENT_REVERB_LEVEL, level); // apply to the MIDI stream
}

If you check the MIDITEST example, it does similar with the tempo. Also be sure to use the BASS_MIDI_EVENTS_SYNC flag in your BASS_MIDI_StreamEvents call, to have it trigger the syncs.

BTW, I don't suppose that these (mentioned in the BASSMIDI documentation) could be controlled using standard MIDI controllers (or MIDI RPNs/NRPNs) embedded in a MIDI file, could they?

MIDI_EVENT_REVERB_TIME
MIDI_EVENT_REVERB_DELAY
MIDI_EVENT_REVERB_LOCUTOFF
MIDI_EVENT_REVERB_HICUTOFF
MIDI_EVENT_REVERB_LEVEL

Sorry for the (probably) dumb question <grin>... I'm not a programmer, but I *do* understand MIDI controller stuff; and was simply thinking that maybe I could embed something in the MIDI files to enhance the reverb a bit Smiley


(heh, just a-thinking out loud) Those parameters sound extremely similar to the effect of the EMU-8K/10K/20K hardware's NRPN controllers for aditional reverb (and chorus) control Smiley

The reverb/chorus parameters are currently adjustable via GM2/GS/XG sysex events (not EMU NRPN I'm afraid Smiley), although as you suggest, controllers/RPN could be rerouted to the BASSMIDI events.
Logged
Rich Nagel
Posts: 292


« Reply #589 on: 2 Apr '11 - 00:39 »
Reply with quoteQuote

The reverb/chorus parameters are currently adjustable via GM2/GS/XG sysex events (not EMU NRPN I'm afraid Smiley), although as you suggest, controllers/RPN could be rerouted to the BASSMIDI events.

Thanks for the info, Ian Smiley I have some extensive documentation for sysex events for XG and GM2 format... will be having a look at them soon Smiley

(edit) Yep, it responds to the various XG sysex messages for reverb and chorus types ( http://www.cmoo.com/snor/weeds/Yamaha_XG/YXG50Utl.txt ), like Hall 2, Tunnel, etc... Smiley
« Last Edit: 2 Apr '11 - 00:58 by Rich Nagel » Logged
mudlord
Guest
« Reply #590 on: 3 Apr '11 - 03:19 »
Reply with quoteQuote

Thank you for the sync information.
Didn't realise there was these methods to also configure the synth.
Logged
nicorac
Posts: 8


« Reply #591 on: 3 Apr '11 - 15:35 »
Reply with quoteQuote

Hi guys, it seems there's a new contender into the "MIDI Synts" game Grin.
Take a look here: http://coolsoft.altervista.org/virtualmidisynth

It fully support VanBasco, which is my favourite karaoke player.

PS: yes, I wrote it!
Logged
mudlord
Guest
« Reply #592 on: 4 Apr '11 - 03:26 »
Reply with quoteQuote

You wrote it....?

*sigh*

That was awfully quick, and only hours after we changed the licence. And charging for donations! Cute! Cheesy
« Last Edit: 4 Apr '11 - 04:00 by mudlord » Logged
winner
Posts: 193


« Reply #593 on: 4 Apr '11 - 05:28 »
Reply with quoteQuote

Hi guys, it seems there's a new contender into the "MIDI Synts" game Grin.
Take a look here: http://coolsoft.altervista.org/virtualmidisynth

It fully support VanBasco, which is my favourite karaoke player.

PS: yes, I wrote it!
I tried this as well on my Win7 SP1 system and it also did not work. I set this as the default device for midi, even rebooted my computer. Midi files played with Media Player Classic Home Cinema x64 used the MS Soft Synth. Winamp did not show this as a selectable device. Oh well, for what I do with midi right now, just experimenting with different soundfonts and playing files for enjoyment, I'd rather use the XMPlay progam since it has more flexibility to substitute individual channels from among soundfonts.
Logged
mudlord
Guest
« Reply #594 on: 4 Apr '11 - 06:49 »
Reply with quoteQuote

winner,
did you by any chance do mods to your Drivers32 reg key entries?
Logged
piovrauz
Posts: 473


« Reply #595 on: 4 Apr '11 - 07:58 »
Reply with quoteQuote

Now I get the feeling that I could, using reshacker, "write" a softsynth too...
Supports vanbasco? well, it should supports all players that use system midi...
bah...
 
Logged
mudlord
Guest
« Reply #596 on: 4 Apr '11 - 11:04 »
Reply with quoteQuote

Well, granted, the source code level mods are nothing overly complicated at all.
DirectX DMO effects are so easy to add, it aint funny.
 
Most of it seems like a 1/2 hour job at most, even less.....Smiley
I just find it incredibly hard to believe that out of goodwill, we released the source, for a collaborative effort by others. Instead, but pardon my French, we got shat on and to add insult to injury, they want some money for a 15 minute job. Sure, we changed the license, but some bloody common courtesy would be nice. Is that just so hard to ask for?

I wouldn't mind some royalties from such code use either, personally. >_>
« Last Edit: 4 Apr '11 - 11:08 by mudlord » Logged
nicorac
Posts: 8


« Reply #597 on: 4 Apr '11 - 11:47 »
Reply with quoteQuote

...and to add insult to injury, they want some money for a 15 minute job.
Sure, we changed the license, but some bloody common courtesy would be nice. Is that just so hard to ask for?
Well, I don't like to open flames BUT I'd like to state that VirtualMIDISynth is not a matter of 15 minutes work.
Your great work gave me the push to fix, package and release it.
One big difference, as I can see, is that VMS DOES work with vanBasco, while bassmididrv does not (and hangs).
Since I'd like to be collaborative, as I always been, I suppose that's because you don't send a MOM_DONE message back to the client upon receiving MODM_LONGDATA.
You should call DriverCallback(), as requested here, and that's NOT a matter of 15 minutes!

Other differences I see:
- I install everything on a private subfolder of System32
this is not only a change to NSIS .nsi file, as you could suppose, but it requires DLL delay loading support inside the MM driver and so on
- VMS does not require system reboot upon upgrade/uninstall, but it detects who's locking driver DLL and alerts user
this can't be done through NSIS, so I do it by myself (look inside NSIS temp folder during setup for findDllLocker.exe)
- I use INI file configuration style, not a plain text file (ok, that's not a huge difference Wink)

I wouldn't mind some royalties from such code use either, personally. >_>
Neither I do, my asking for donations is common to all softwares I release.
Is it bad to ask support for something I (we both) release for free?

As for DirectX effects, I never said are my work; I'll clearly state that they'll come out from BASS library itself.
Logged
mudlord
Guest
« Reply #598 on: 4 Apr '11 - 12:09 »
Reply with quoteQuote

Quote
Well, I don't like to open flames BUT I'd like to state that VirtualMIDISynth is not a matter of 15 minutes work.
Your great work gave me the push to fix, package and release it.

Ah, reason I was so suspicious, is because your driver came out a few hours after kode54 and I just changed the license.....And the massive amount of internal similarities between software packages.
But no matter. Smiley

Quote
As for DirectX effects, I never said are my work; I'll clearly state that they'll come out from BASS library itself.

I was just saying Tongue, that stuff is a 15 minute or even less job, to add such effects to a MIDI render channel handle Smiley
Changing the config format is also a 15 minute job. Making sure that driver handles unlock is also a small job, if you know your scripting (which it IS possible).
Logged
nicorac
Posts: 8


« Reply #599 on: 4 Apr '11 - 12:17 »
Reply with quoteQuote

I reread my previous post and I just want to be clearer:
Your great work gave me the push to fix, package and release it.
my "release it" refers to VirtualMIDISynth, not to bassmididrv  Wink.
Logged
Pages: 1 ... 28 29 [30] 31 32 ... 34
  Reply  |  Print  
 
Jump to:  

Powered by SMF 1.1.18 | SMF © 2013, Simple Machines