ahlstromcj / sequencer64

A major reboot of Seq24. Current release 0.97.0 (2021-05-13), native JACK MIDI, Song recording, playlists, and a Windows/Qt version. For fresher code, see the Seq66 project. Note that trigger and mute-group-in-MIDI-file formats have evolved! Back up your work!
GNU Affero General Public License v3.0
237 stars 28 forks source link

PortMidi host error: [4] #178

Open Merthurian opened 5 years ago

Merthurian commented 5 years ago

Getting this error when opening the program on Win10:

"PortMidi host error: [4] 'The specified device is already in use. Wait until it is free, and then try again.' "

When I acknowledge the error dialog, the program crashes.

No other programs are running that could be tying up my midi devices. Which are a UMX-49 Keyboard and a Yamaha Motif Rack.

ahlstromcj commented 5 years ago

For now, check README.windows in the sequencer64 source code project on GitHub. Also see section 13.2 in the PDF in the sequencer64-doc project on github. I had to monkey around to get it working and tried to fully document what I had to do. Let me know if it fails you! Thanks for the report. Oh, I have never tried plugging in a separate MIDI device on Windows (it is my wife's computer), and I might have to try that soon.

On Tue, Sep 17, 2019, 20:45 Dan Purcell notifications@github.com wrote:

Getting this error when opening the program on Win10:

"PortMidi host error: [4] 'The specified device is already in use. Wait until it is free, and then try again.' "

When I acknowledge the error dialog, the program crashes.

No other programs are running that could be tying up my midi devices. Which are a UMX-49 Keyboard and a Yamaha Motif Rack.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ahlstromcj/sequencer64/issues/178?email_source=notifications&email_token=AB45LKCJOAY7TN4BSUWPWP3QKF233A5CNFSM4IXXIRW2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HL77OOQ, or mute the thread https://github.com/notifications/unsubscribe-auth/AB45LKFXGWJQSCGPAGE2TXTQKF233ANCNFSM4IXXIRWQ .

Merthurian commented 5 years ago

Thanks for the advice. I generated the log file as described in the PDF and here is the result:

qpseq64 
C:/Users/Dan/AppData/Local/sequencer64/virtualmidi.log 
2019-09-19 00:36:08 
PortMidi host error: [4] 'The specified device is already in use.  Wait until it is free, and then try again.'
PortMidi MMSystem 0: Microsoft MIDI Mapper output opened
PortMidi MMSystem 1: 2- Fast Track Ultra External input closed
PortMidi MMSystem 2: Yamaha MOTIF-R-1 input closed
PortMidi MMSystem 3: UMX 49 input closed
PortMidi MMSystem 4: Microsoft GS Wavetable Synth output closed
PortMidi MMSystem 5: 2- Fast Track Ultra External output opened
PortMidi MMSystem 6: Yamaha MOTIF-R-1 output opened
PortMidi MMSystem 7: Yamaha MOTIF-R-2 output opened
PortMidi MMSystem 8: Yamaha MOTIF-R-3 output opened
PortMidi MMSystem 9: Yamaha MOTIF-R-4 output opened
PortMidi MMSystem 10: Yamaha MOTIF-R-5 output opened
PortMidi MMSystem 11: Yamaha MOTIF-R-6 output opened
PortMidi MMSystem 12: Yamaha MOTIF-R-7 output opened
PortMidi MMSystem 13: Yamaha MOTIF-R-8 output opened
PortMidi MMSystem 14: UMX 49 output opened
[Writing rc configuration C:\Users\Dan\AppData\Local\sequencer64\erroneous.rc]
[Writing user configuration C:\Users\Dan\AppData\Local\sequencer64\erroneous.usr]

I think I'm stuck now as the next step is to disable the "closed" devices in qpseq24.rc. I don't have this .rc file. If I'm understanding this correctly, the rc file will be generated the first time the program is run. Could the crash be happening before the file is created?

ahlstromcj commented 5 years ago

I finally grokked that the current Windows version of seq64 is wayyyyy old. Today, I rebuilt it for Windows, installed it on my wife's Windows box (Win 7), connected a Yamaha DD-11 drum machine to it via USB, and was able to both record and play to the drum machine.

I still have a few loose ends to connect, but look for a new version in a day or two.

Thank you very much for the report!

-------- Dan Purcell 16:49 Wed 18 Sep --------

Thanks for the advice. I generated the log file as described in the PDF and here is the result:

qpseq64 C:/Users/Dan/AppData/Local/sequencer64/virtualmidi.log 2019-09-19 00:36:08 PortMidi host error: [4] 'The specified device is already in use. Wait until it is free, and then try again.' PortMidi MMSystem 0: Microsoft MIDI Mapper output opened PortMidi MMSystem 1: 2- Fast Track Ultra External input closed PortMidi MMSystem 2: Yamaha MOTIF-R-1 input closed PortMidi MMSystem 3: UMX 49 input closed PortMidi MMSystem 4: Microsoft GS Wavetable Synth output closed PortMidi MMSystem 5: 2- Fast Track Ultra External output opened PortMidi MMSystem 6: Yamaha MOTIF-R-1 output opened PortMidi MMSystem 7: Yamaha MOTIF-R-2 output opened PortMidi MMSystem 8: Yamaha MOTIF-R-3 output opened PortMidi MMSystem 9: Yamaha MOTIF-R-4 output opened PortMidi MMSystem 10: Yamaha MOTIF-R-5 output opened PortMidi MMSystem 11: Yamaha MOTIF-R-6 output opened PortMidi MMSystem 12: Yamaha MOTIF-R-7 output opened PortMidi MMSystem 13: Yamaha MOTIF-R-8 output opened PortMidi MMSystem 14: UMX 49 output opened [Writing rc configuration C:\Users\Dan\AppData\Local\sequencer64\erroneous.rc] [Writing user configuration C:\Users\Dan\AppData\Local\sequencer64\erroneous.usr]

I think I'm stuck now as the next step is to disable the "closed" devices in qpseq24.rc. I don't have this .rc file. If I'm understanding this correctly, the rc file will be generated the first time the program is run. Could the crash be happening before the file is created?

— You are receiving this because you commented. Reply to this email directly, [1]view it on GitHub, or [2]mute the thread.

References

Visible links

  1. https://github.com/ahlstromcj/sequencer64/issues/178?email_source=notifications&email_token=AB45LKFZNORR76HP3LGWYXTQKK5CHA5CNFSM4IXXIRW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7BYYKI#issuecomment-532909097
  2. https://github.com/notifications/unsubscribe-auth/AB45LKHQWTOYIW537ATUAL3QKK5CHANCNFSM4IXXIRWQ

-- You will be surprised by a loud noise.

ahlstromcj commented 5 years ago

Okay, a new Windows installer has been added to the sequencer64/latest project on GitHub. It is version 0.96.5. Uninstall the old version and install the new one.

Unless you have something you want to save, remove the contents (or rename some) of C:/Users/YOURNAME/AppData/Local/sequencer64. Then run the application.

If it still crashes, got to the directory and look at the "erroneous" files and log file. Copy the erroneous files to their "qpseq64" counterparts and disabled (I think) any of the ports that fail.

Let me know what happens! I've been able to get it working with both the built-in Windows MIDI and a Yamaha drum machine, so it is likely that any issues at startup are config issues.

Thanks! You motivated me to get this version up-to-date!!!

-------- Dan Purcell 16:49 Wed 18 Sep --------

Thanks for the advice. I generated the log file as described in the PDF and here is the result:

qpseq64 C:/Users/Dan/AppData/Local/sequencer64/virtualmidi.log 2019-09-19 00:36:08 PortMidi host error: [4] 'The specified device is already in use. Wait until it is free, and then try again.' PortMidi MMSystem 0: Microsoft MIDI Mapper output opened PortMidi MMSystem 1: 2- Fast Track Ultra External input closed PortMidi MMSystem 2: Yamaha MOTIF-R-1 input closed PortMidi MMSystem 3: UMX 49 input closed PortMidi MMSystem 4: Microsoft GS Wavetable Synth output closed PortMidi MMSystem 5: 2- Fast Track Ultra External output opened PortMidi MMSystem 6: Yamaha MOTIF-R-1 output opened PortMidi MMSystem 7: Yamaha MOTIF-R-2 output opened PortMidi MMSystem 8: Yamaha MOTIF-R-3 output opened PortMidi MMSystem 9: Yamaha MOTIF-R-4 output opened PortMidi MMSystem 10: Yamaha MOTIF-R-5 output opened PortMidi MMSystem 11: Yamaha MOTIF-R-6 output opened PortMidi MMSystem 12: Yamaha MOTIF-R-7 output opened PortMidi MMSystem 13: Yamaha MOTIF-R-8 output opened PortMidi MMSystem 14: UMX 49 output opened [Writing rc configuration C:\Users\Dan\AppData\Local\sequencer64\erroneous.rc] [Writing user configuration C:\Users\Dan\AppData\Local\sequencer64\erroneous.usr]

I think I'm stuck now as the next step is to disable the "closed" devices in qpseq24.rc. I don't have this .rc file. If I'm understanding this correctly, the rc file will be generated the first time the program is run. Could the crash be happening before the file is created?

— You are receiving this because you commented. Reply to this email directly, [1]view it on GitHub, or [2]mute the thread.

References

Visible links

  1. https://github.com/ahlstromcj/sequencer64/issues/178?email_source=notifications&email_token=AB45LKFZNORR76HP3LGWYXTQKK5CHA5CNFSM4IXXIRW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7BYYKI#issuecomment-532909097
  2. https://github.com/notifications/unsubscribe-auth/AB45LKHQWTOYIW537ATUAL3QKK5CHANCNFSM4IXXIRWQ

-- Q: What do you call a half-dozen Indians with Asian flu? A: Six sick Sikhs (sic).

arpeggio1234 commented 4 years ago

I had the same issue. I now use the 95.2 zipped one and it is working. But i see no midi-clock menu. Hiw can i solve this. Thanks for making this great seq64 Dian from the Netherlands

wallacewinfrey commented 4 years ago

I ran through the instructions in sequencer-64-manual.pdf, and am running v.0.96.6 on Windows 10 Build 2004 (OS Build 19041.264).

Prior to installation of VirtualMIDISynth, I got the message "PortMidi host error: [4] 'The specified device is already in use. Wait until it is free, and then try again.' "

After the installation of VirtualMIDISynth, I get the message "PortMidi host error: [5] 'The specified device is already in use. Wait until it is free, and then try again.' "

Attempting to set the bus from the command line doesn't change the behavior. Here's my log, which was run before and after installing VirtualMIDISynth:

qpseq64 
C:/Users/wwinfrey/AppData/Local/sequencer64/virtualmidi.log 
2020-05-29 18:58:42 
PortMidi host error: [0] 'Undefined external error.'
PortMidi host error: [3] 'Undefined external error.'
PortMidi MMSystem 0: Microsoft MIDI Mapper output closed
PortMidi MMSystem 1: Multiface Midi input closed
PortMidi MMSystem 2: loopMIDI Port input closed
PortMidi MMSystem 3: Microsoft GS Wavetable Synth output closed
PortMidi MMSystem 4: Multiface Midi output opened
PortMidi MMSystem 5: loopMIDI Port output opened
[Writing rc configuration C:\Users\wwinfrey\AppData\Local\sequencer64\erroneous.rc]
[Writing user configuration C:\Users\wwinfrey\AppData\Local\sequencer64\erroneous.usr]

qpseq64 
C:/Users/wwinfrey/AppData/Local/sequencer64/virtualmidi.log 
2020-05-31 03:31:55 
PortMidi host error: [3] 'The specified device is already in use.  Wait until it is free, and then try again.'
PortMidi host error: [5] 'The specified device is already in use.  Wait until it is free, and then try again.'
PortMidi MMSystem 0: Microsoft MIDI Mapper output opened
PortMidi MMSystem 1: Multiface Midi input closed
PortMidi MMSystem 2: loopMIDI Port input closed
PortMidi MMSystem 3: CoolSoft MIDIMapper output closed
PortMidi MMSystem 4: Microsoft GS Wavetable Synth output opened
PortMidi MMSystem 5: VirtualMIDISynth #1 output closed
PortMidi MMSystem 6: Multiface Midi output opened
PortMidi MMSystem 7: loopMIDI Port output opened
[Writing rc configuration C:\Users\wwinfrey\AppData\Local\sequencer64\erroneous.rc]
[Writing user configuration C:\Users\wwinfrey\AppData\Local\sequencer64\erroneous.usr]
CliffRoberson commented 4 years ago

Having the same issue using 0.96.6 windows: qpseq64 C:/Users/cliff/AppData/Local/sequencer64/virtualmidi.log 2020-08-09 19:16:24 pm_winmm_general_inputs(): no input devices PortMidi host error: [1] 'The specified device is already in use. Wait until it is free, and then try again.' PortMidi MMSystem 0: Microsoft MIDI Mapper output opened PortMidi MMSystem 1: Microsoft GS Wavetable Synth output closed [Writing rc configuration C:\Users\cliff\AppData\Local\sequencer64\erroneous.rc] [Writing user configuration C:\Users\cliff\AppData\Local\sequencer64\erroneous.usr]

CliffRoberson commented 4 years ago

@Merthurian @wallacewinfrey @ahlstromcj @arpeggio1234 As Merthurian was finding, I was not able to alter the qpseq64.rc file because it never got written when the app crashed before it opened. A hacky workaround I just figured out was to copy the qpseq64.rc and qpseq64.usr (not sure if the second one was necessary) from the data folder in the install to my C:\Users\cliff\AppData\Local\sequencer64\ directory. After copying those files the app at least launches without crashing and now I can hopefully do any configuration changes needed to get it working all the way.

ahlstromcj commented 4 years ago

This took me awhile, but I have a new version of Seq66 (not Sequencer64) ready, with a lot of fixes and upgrades. The code is at

https://github.com/ahlstromcj/seq66

I have an updated Windows package at

https://github.com/ahlstromcj/sequencer64-packages/tree/master/seq66/0.90

Be sure you are getting the 0.90.5 version! The one before that is broken.

I have tested support for 4x8 versus 8x8 mode, and got support for the Launchpad Mini working, with configuration (*.ctrl) files in the data directory. (The data directory has also been rearranged.) See the INSTALL file and the readme.windows files. I have tested it with a bare Win 10 install, which uses device 0 (the MIDI Mapper) and disables the built-in wave-table synth (device 1) because the MIDI Mapper grabs that and forwards MIDI to the synth. Let me know if you still have issues regarding basic usage and playback!

-------- Clifford K Roberson 19:45 Sun 09 Aug --------

@Merthurian @wallacewinfrey @ahlstromcj @arpeggio1234 As Merthurian was finding, I was not able to alter the qpseq64.rc file because it never got written when the app crashed before it opened. A hacky workaround I just figured out was to copy the qpseq64.rc and qpseq64.usr (not sure if the second one was necessary) from the data folder in the install to my C:\Users\cliff\AppData\Local\sequencer64\ directory. After copying those files the app at least launches without crashing and now I can hopefully do any configuration changes needed to get it working all the way.

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/ahlstromcj/sequencer64/issues/178#issuecomment-671140327

-- "Nature is very un-American. Nature never hurries." -- William George Jordan