[Linux] GUI discussion

Discussion of development and patch submission.
szadycbr
Posts: 295
Joined: Mon 21 Nov, 2016 6:23 pm

Re: [Linux] GUI discussion

Post by szadycbr »

I build that too, works very nice.
Thank You!
startmenu
Posts: 104
Joined: Sat 29 Nov, 2014 7:39 am

Re: [Linux] GUI discussion

Post by startmenu »

I build one on Windows... with my modified makefile

Code: Select all

VPATH = . dosbox resid-fp
CPP  = g++
CC   = gcc
WXRC = wxrc
CFLAGS = -DRELEASE_BUILD -O3 -m32 -fomit-frame-pointer -msse2 -mstackrealign -D__MINGW64__ $(shell wx-config --cxxflags) $(shell wx-config --cxxflags)
OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o ali1429.o amstrad.o cdrom-ioctl.o cdrom-image.o \
	codegen.o codegen_ops.o codegen_timing_486.o codegen_timing_686.o codegen_timing_pentium.o codegen_timing_winchip.o codegen_x86.o compaq.o config.o cpu.o dac.o \
	device.o dells200.o disc.o disc_fdi.o disc_img.o disc_sector.o dma.o fdc.o fdc37c665.o fdd.o fdi2raw.o gameport.o hdd.o hdd_esdi.o headland.o i430lx.o i430fx.o \
	i430vx.o ide.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o \
	keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o lpt.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_ps2.o \
	mouse_serial.o neat.o nmi.o nvr.o olivetti_m24.o opti495.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o \
	scat.o serial.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_cms.o sound_dbopl.o \
	sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
	sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o \
	sound_ym7128.o soundopenal.o tandy_eeprom.o tandy_rom.o timer.o um8881f.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
	vid_ati28800.o vid_ati68860_ramdac.o vid_cga.o vid_cl5429.o vid_colorplus.o vid_ega.o vid_et4000.o \
	vid_et4000w32.o vid_et4000w32i.o vid_genius.o vid_hercules.o vid_icd2061.o vid_ics2595.o vid_incolor.o vid_mda.o \
	vid_olivetti_m24.o vid_oti067.o vid_paradise.o vid_pc1512.o vid_pc1640.o vid_pc200.o \
	vid_pcjr.o vid_ps1_svga.o vid_s3.o vid_s3_virge.o vid_sdac_ramdac.o vid_stg_ramdac.o vid_svga.o \
	vid_svga_render.o vid_tandy.o vid_tandysl.o vid_tgui9440.o vid_tkd8001_ramdac.o vid_tvga.o vid_unk_ramdac.o \
	vid_vga.o vid_voodoo.o vid_wy700.o video.o wd76c10.o x86seg.o x87.o xtide.o \
	wx-main.o wx-config_sel.o wx-dialogbox.o wx-utils.o wx-app.o wx-sdl2-joystick.o wx-sdl2-mouse.o wx-sdl2-keyboard.o wx-sdl2-video.o wx-sdl2-midi.o \
	wx-sdl2.o wx-config.o wx-deviceconfig.o wx-sdl2-hdconf.o wx-status.o wx-sdl2-status.o wx-resources.o wx-thread.o wx-common.o wx-sdl2-display.o
DBOBJ = cdrom_image.o dbopl.o vid_cga_comp.o
SIDOBJ = convolve.o convolve-sse.o envelope.o extfilt.o filter.o pot.o sid.o voice.o wave6581__ST.o wave6581_P_T.o wave6581_PS_.o wave6581_PST.o wave8580__ST.o wave8580_P_T.o wave8580_PS_.o wave8580_PST.o wave.o


LIBS = -mwindows -lopenal -lstdc++ -lmingw32 -lSDL2main -lSDL2  -mwindows  -Wl,--no-undefined -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid  $(shell wx-config --libs) $(shell sdl2-config --libs) -static-libstdc++ -static-libgcc

PCem-wx-SDL2.exe: $(OBJ) $(DBOBJ) $(SIDOBJ)
	$(CC) $(OBJ) $(DBOBJ) $(SIDOBJ) -o "PCem-wx-SDL2.exe" $(LIBS)

all : PCem-wx-SDL2.exe

clean :
	del *.o
	del PCem-wx-SDL2.exe

%.o : %.c
	$(CC) $(CFLAGS) -c $<

%.o : %.cc
	$(CPP) $(CFLAGS) -c $<

%.o : %.cpp
	$(CPP) $(CFLAGS) -c $<
pcem-wx-sdl-win32.png
pcem-wx-sdl-win32.png (229.9 KiB) Viewed 20637 times
basic2004
Posts: 124
Joined: Sun 08 Jan, 2017 5:59 pm

Re: [Linux] GUI discussion

Post by basic2004 »

I tested but Machine can't choose MIDI Out configure from current version now.
Other feature worked almost.
pcem.png
pcem.png (214.08 KiB) Viewed 20616 times
I using Windows 10, so compile with MinGW...
SDL2 + WxWidget version can choose OpenGL! WOW!!!
Roman S
Posts: 6
Joined: Wed 31 May, 2017 5:18 pm

Re: [Linux] GUI discussion

Post by Roman S »

Hi there! I am using Gentoo Linux (AMD64), and compiled the PCem today using a custom ebuild (till now I have used Windows binary under WINE). Portage configured it the following way:

Code: Select all

./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/pcem-9999 --htmldir=/usr/share/doc/pcem-9999/html --libdir=/usr/lib64 --enable-wx
But I have two irritating problems with my build:

1. It expects various subdirectories to be present in the location of the emulator binary - in my case /usr/bin/roms, /usr/bin/configs, /usr/bin/nvr. How do I fix it? Every properly configured application would expect roms somewhere inside /usr/share (probably in /usr/share/PCem/roms), and store configurations and non-volatile memory somewhere in user home directory...

2. My binary pollutes the host OS filesystem - it creates pclog.txt log files in directories that happen to be current - not in user home directory (or other preconfigured directory). Did I miss something?
Attachments
pcem-9999.ebuild.gz
Quick&dirty custom ebuild.
(328 Bytes) Downloaded 355 times
szadycbr
Posts: 295
Joined: Mon 21 Nov, 2016 6:23 pm

Re: [Linux] GUI discussion

Post by szadycbr »

@Roman S , what do you mean by that? "It expects various subdirectories to be present in the location of the emulator binary"?
You must have this directories in the binary folder, did you put your PCem binary in your /usr/bin/ directory? if so, then thats why is asking you for this folders.
I always create PCem directory somewhere in /home and then i put PCem binary in to this folder, and roms, configs, nvr are kept there.
And the PCem binary always create pclog.txt in its folder. i advice you to remove PCem binary from /usr/bin folder and do it same way as in windows.
Not all binaries in linux are kept in bin directory, you should know that.
Roman S
Posts: 6
Joined: Wed 31 May, 2017 5:18 pm

Re: [Linux] GUI discussion

Post by Roman S »

Not me - Gentoo package manager did that.

Holy crap... of course I can put the binary in the home directory (in fact I already did so as a temporary workaround), but this has severe drawbacks. Believe me, if anybody ever tries to include PCem in some distro, they will want to kill you for that, due to gazillion of reasons. Linux != Windows.
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: [Linux] GUI discussion

Post by SarahWalker »

I'd be amazed if anyone ever wanted to put PCem in a distro. I'd have assumed that the legal issues associated with the required BIOS images would make it a complete non-starter.

If anyone does want to make PCem act more like a normal Linux application, then feel free!
AmatCoder
Posts: 28
Joined: Thu 02 Mar, 2017 8:45 pm

Re: [Linux] GUI discussion

Post by AmatCoder »

SarahWalker wrote:I'd be amazed if anyone ever wanted to put PCem in a distro. I'd have assumed that the legal issues associated with the required BIOS images would make it a complete non-starter.
Why? Emulators like MAME, Mednafen etc. also require copyrighted bios images and those emulators are packaged on most distros. The user must get bios files on her own.
SarahWalker wrote:If anyone does want to make PCem act more like a normal Linux application, then feel free!
Surely @bit can do it. If not, I could do it when I get some free time.
Roman S
Posts: 6
Joined: Wed 31 May, 2017 5:18 pm

Re: [Linux] GUI discussion

Post by Roman S »

Linux compilation is now broken (linker error):

Code: Select all

pcem-model.o: In function `at_batman_init':
model.c:(.text+0x109e): undefined reference to `sio_init'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:617: pcem] Error 1
make[1]: Leaving directory '/var/tmp/portage/app-emulation/pcem-9999/work/pcem-9999/src'
make: *** [Makefile:368: all-recursive] Error 1
Missing sio.c in PCem/src/Makefile.in?
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: [Linux] GUI discussion

Post by SarahWalker »

Re-run autoconf and automake. This should be standard practice when building on Linux from the repo - as I've said before, as I don't normally develop on Linux I don't always do this before committing.
bit
Posts: 98
Joined: Sun 19 Mar, 2017 7:04 pm

Re: [Linux] GUI discussion

Post by bit »

Roman S wrote:
AmatCoder wrote:Surely @bit can do it. If not, I could do it when I get some free time.
Sure, I can take a look at it.

I'm thinking about creating a separate path for roms/configs/nvr/logs and adding entries for these in pcem.cfg.
This will enable the functionality for Windows and Allegro as well but if they're not set the default behavior should be like it is right now.
For the wx-port on Linux the program will check if ~/.pcem exist and if not, create it and generate a default pcem.cfg with auto-filled default entries for the paths.
The default entries could be like this:
roms = ~/.pcem/roms/;/usr/share/pcem/roms/
nvr = ~/.pcem/nvr/
configs = ~/.pcem/configs/
logs = ~/.pcem/logs/

When looking for roms it should look in all directories specified, the others can only be one directory since they will be written to.
In the future these could be configured from the GUI.

Any objections to this suggestion?
AmatCoder
Posts: 28
Joined: Thu 02 Mar, 2017 8:45 pm

Re: [Linux] GUI discussion

Post by AmatCoder »

For my part, no. That's exactly what I had in mind.
Thanks for working on this.
bit
Posts: 98
Joined: Sun 19 Mar, 2017 7:04 pm

Re: [Linux] GUI discussion

Post by bit »

AmatCoder wrote:For my part, no. That's exactly what I had in mind.
Thanks for working on this.
No problem :)
I've implemented this and added it to the master-branch on my GitHub. It appears to work as expected and Windows and Allegro seems to work fine as well.

It's implemented pretty much like I mentioned; when running pcem the first time on Linux with the wx-port it will automatically create ${HOME}/.pcem and save pcem.cfg there with auto-filled entries which can later be modified.
On any other build the entries will be blank, which sets up the paths the same way as before, but they can also be modified to point to other paths.
The roms_paths accepts multiple paths and all paths that exists will be used to search for roms. The path separator is the same that is used in the PATH-environment variable, which means on Windows it is ";" and on Linux it is ":".

These are the entries added to the cfg:

Code: Select all

[Paths]
roms_paths = ${HOME}/.pcem/roms/:/usr/share/pcem/roms/
nvr_path = ${HOME}/.pcem/nvr/
configs_path = ${HOME}/.pcem/configs/
logs_path = ${HOME}/.pcem/logs/
AmatCoder
Posts: 28
Joined: Thu 02 Mar, 2017 8:45 pm

Re: [Linux] GUI discussion

Post by AmatCoder »

@bit, I tested it and it's working like a charm. Now PCem (at least the wx port) can be packaged by distros :D . Thanks!
Zup
Posts: 83
Joined: Mon 30 Nov, 2015 10:47 am

Re: [Linux] GUI discussion

Post by Zup »

Does this GUI works in Windows?

I like that windows that shows the current video mode...
bit
Posts: 98
Joined: Sun 19 Mar, 2017 7:04 pm

Re: [Linux] GUI discussion

Post by bit »

AmatCoder wrote:@bit, I tested it and it's working like a charm. Now PCem (at least the wx port) can be packaged by distros :D . Thanks!
Np! :)
Zup wrote:Does this GUI works in Windows?
Yeah it works on Windows. It is primarily developed for Linux though so there might be some bugs when running it on Windows.

Sarah: I've attached two patches. The small one fixes the --config-parameter in the wx-port and also reverts some duplicated code in cdrom-image.cc.
The large one adds the configurable paths. It does what I mentioned in my previous post but I also added the changes to Allegro so both Linux-builds have the same behavior.
logs_path has to be read from pcem.cfg before using pclog or it will start writing to the default location. I've made changes so it works on all builds but just wanted to mention it. I also changed the name of pclog.txt to pcem.log, I hope that's alright.

EDIT: Removed configurable_paths.patch, see the post below for an updated version.
Attachments
170606_fixes.patch
(1.28 KiB) Downloaded 308 times
Last edited by bit on Tue 06 Jun, 2017 1:18 pm, edited 1 time in total.
User avatar
JohnElliott
Posts: 113
Joined: Sun 31 Jan, 2016 7:29 pm

Re: [Linux] GUI discussion

Post by JohnElliott »

Where you're using strncpy(), you need to make sure there's a terminating zero -- if strncpy() truncates the string, it doesn't add one. So, for example:

Code: Select all

void set_nvr_path(char *s)
{
        strncpy(nvr_path, s, 511);
        nvr_path[511] = 0;
        append_slash(nvr_path);
}
bit
Posts: 98
Joined: Sun 19 Mar, 2017 7:04 pm

Re: [Linux] GUI discussion

Post by bit »

JohnElliott wrote:Where you're using strncpy(), you need to make sure there's a terminating zero -- if strncpy() truncates the string, it doesn't add one. So, for example:

Code: Select all

void set_nvr_path(char *s)
{
        strncpy(nvr_path, s, 511);
        nvr_path[511] = 0;
        append_slash(nvr_path);
}
Oh I see, thanks! I'm still not used to programming C so it's great you're pointing out things like this :)
I'll fix that and upload a new patch.
bit
Posts: 98
Joined: Sun 19 Mar, 2017 7:04 pm

Re: [Linux] GUI discussion

Post by bit »

Here's an updated patch which should have safer string handling. It replaces the old one.
Attachments
configurable_paths2.patch
(130.69 KiB) Downloaded 312 times
bit
Posts: 98
Joined: Sun 19 Mar, 2017 7:04 pm

Re: [Linux] GUI discussion

Post by bit »

I found an issue with paths in roms_paths that was introduced with the safe_strncpy-fixes and I also used the wrong define for Windows when getting the path separator. I've attached a patch with fixes for these.
Attachments
configurable_paths_fixes_170615.patch
(696 Bytes) Downloaded 290 times
bit
Posts: 98
Joined: Sun 19 Mar, 2017 7:04 pm

Re: [Linux] GUI discussion

Post by bit »

This patch adds the new sound buffer settings.
Attachments
sound_buffer.patch.zip
(14.52 KiB) Downloaded 299 times
basic2004
Posts: 124
Joined: Sun 08 Jan, 2017 5:59 pm

Re: [Linux] GUI discussion

Post by basic2004 »

Thanks for patching, but wxWidgets version didn't support MIDI out device yet.
If wxWidgets version can support MIDI, I'll use this on my Windows.
bit
Posts: 98
Joined: Sun 19 Mar, 2017 7:04 pm

Re: [Linux] GUI discussion

Post by bit »

basic2004 wrote:Thanks for patching, but wxWidgets version didn't support MIDI out device yet.
If wxWidgets version can support MIDI, I'll use this on my Windows.
Take a look at the mt32emu-branch on my GitHub. It's an experimental branch that adds built-in support for Roland MT-32 emulation using Munt and also adds Windows MIDI in the Windows-version.
basic2004
Posts: 124
Joined: Sun 08 Jan, 2017 5:59 pm

Re: [Linux] GUI discussion

Post by basic2004 »

bit wrote:Take a look at the mt32emu-branch on my GitHub. It's an experimental branch that adds built-in support for Roland MT-32 emulation using Munt and also adds Windows MIDI in the Windows-version.
Oh! Standalone Intelligent MPU-401 with MUNT, this is very wonderful feature!
I'm very happy if you support "Roland SOUND Canvas VA" to MIDI out device directly.
This supported from another PC emulator, Neko Project II, XM6 TypeG.

I testing wxWidgets version of PCem with my Windows.
but I saw these errors when compiling current revision(19140e5).

Code: Select all

pc.o:pc.c:(.text+0x309): undefined reference to `midi_device_init'
pc.o:pc.c:(.text+0xef3): undefined reference to `midi_device_get_from_internal_name'
pc.o:pc.c:(.text+0xef8): undefined reference to `midi_device_current'
pc.o:pc.c:(.text+0x1728): undefined reference to `midi_device_current'
pc.o:pc.c:(.text+0x1e28): undefined reference to `midi_device_current'
pc.o:pc.c:(.text+0x1e30): undefined reference to `midi_device_get_internal_name'
sound.o:sound.c:(.text+0xb21): undefined reference to `midi_poll'
sound_mpu401_uart.o:sound_mpu401_uart.c:(.text+0x65): undefined reference to `midi_write'
sound_sb.o:sound_sb.c:(.text+0xf99): undefined reference to `mpu401_init'
sound_sb.o:sound_sb.c:(.text+0x1286): undefined reference to `mpu401_init'
wx-config.o:wx-config.c:(.text+0xa5d): undefined reference to `midi_device_getname'
wx-config.o:wx-config.c:(.text+0xa7b): undefined reference to `midi_device_available'
wx-config.o:wx-config.c:(.text+0xa8c): undefined reference to `midi_device_getname'
wx-config.o:wx-config.c:(.text+0xa98): undefined reference to `midi_device_current'
wx-config.o:wx-config.c:(.text+0x1037): undefined reference to `midi_device_current'
wx-config.o:wx-config.c:(.text+0x103f): undefined reference to `midi_device_has_config'
wx-config.o:wx-config.c:(.text+0x2280): undefined reference to `midi_device_current'
wx-config.o:wx-config.c:(.text+0x2884): undefined reference to `midi_device_getname'
wx-config.o:wx-config.c:(.text+0x289a): undefined reference to `midi_device_available'
wx-config.o:wx-config.c:(.text+0x28d1): undefined reference to `midi_device_current'
wx-config.o:wx-config.c:(.text+0x2d26): undefined reference to `midi_device_current'
wx-config.o:wx-config.c:(.text+0x2e08): undefined reference to `midi_device_has_config'
wx-config.o:wx-config.c:(.text+0x304c): undefined reference to `midi_device_getdevice'
collect2.exe: error: ld returned 1 exit status
make: *** [PCem-wx-SDL2.exe] Error 1
Windows version(Makefile.mingw) compiled no errors, listing MIDI out devices with Windows MIDI, and plays MIDI very well.
bit
Posts: 98
Joined: Sun 19 Mar, 2017 7:04 pm

Re: [Linux] GUI discussion

Post by bit »

basic2004 wrote:I testing wxWidgets version of PCem with my Windows.
but I saw these errors when compiling current revision(19140e5).

Code: Select all

pc.o:pc.c:(.text+0x309): undefined reference to `midi_device_init'
pc.o:pc.c:(.text+0xef3): undefined reference to `midi_device_get_from_internal_name'
pc.o:pc.c:(.text+0xef8): undefined reference to `midi_device_current'
pc.o:pc.c:(.text+0x1728): undefined reference to `midi_device_current'
pc.o:pc.c:(.text+0x1e28): undefined reference to `midi_device_current'
pc.o:pc.c:(.text+0x1e30): undefined reference to `midi_device_get_internal_name'
sound.o:sound.c:(.text+0xb21): undefined reference to `midi_poll'
sound_mpu401_uart.o:sound_mpu401_uart.c:(.text+0x65): undefined reference to `midi_write'
sound_sb.o:sound_sb.c:(.text+0xf99): undefined reference to `mpu401_init'
sound_sb.o:sound_sb.c:(.text+0x1286): undefined reference to `mpu401_init'
wx-config.o:wx-config.c:(.text+0xa5d): undefined reference to `midi_device_getname'
wx-config.o:wx-config.c:(.text+0xa7b): undefined reference to `midi_device_available'
wx-config.o:wx-config.c:(.text+0xa8c): undefined reference to `midi_device_getname'
wx-config.o:wx-config.c:(.text+0xa98): undefined reference to `midi_device_current'
wx-config.o:wx-config.c:(.text+0x1037): undefined reference to `midi_device_current'
wx-config.o:wx-config.c:(.text+0x103f): undefined reference to `midi_device_has_config'
wx-config.o:wx-config.c:(.text+0x2280): undefined reference to `midi_device_current'
wx-config.o:wx-config.c:(.text+0x2884): undefined reference to `midi_device_getname'
wx-config.o:wx-config.c:(.text+0x289a): undefined reference to `midi_device_available'
wx-config.o:wx-config.c:(.text+0x28d1): undefined reference to `midi_device_current'
wx-config.o:wx-config.c:(.text+0x2d26): undefined reference to `midi_device_current'
wx-config.o:wx-config.c:(.text+0x2e08): undefined reference to `midi_device_has_config'
wx-config.o:wx-config.c:(.text+0x304c): undefined reference to `midi_device_getdevice'
collect2.exe: error: ld returned 1 exit status
make: *** [PCem-wx-SDL2.exe] Error 1
Windows version(Makefile.mingw) compiled no errors, listing MIDI out devices with Windows MIDI, and plays MIDI very well.
Oops, sorry. I had forgot to commit the makefile from my Windows PC, I've done that now :)
basic2004
Posts: 124
Joined: Sun 08 Jan, 2017 5:59 pm

Re: [Linux] GUI discussion

Post by basic2004 »

bit wrote:Oops, sorry. I had forgot to commit the makefile from my Windows PC, I've done that now :)
Thanks to updating, I compiled wxWidgets version and works well.
This branch listing and playing "Roland MT-32 Emulation" with Windows version and wxWidgets version both, when I injected 2 roms in roms/mt32.

I want this feature, Showing MIDI Message (eg. 'The saga continues..' message showing when starting Prince of Persia 2) from PCem Machine(wxWidgets version) and Misc/Status(Windows version) When I select "Roland MT-32 Emulation".

And I want another feature, support VSTi.
I recommend "Roland SOUND Canvas VA", when found a path '%ProgramFiles%/Roland/Sound Canvas VA/SOUND Canvas VA.dll' installed SOUND Canvas VA.
This supports Roland SC-55(fully optimized with GM/GS supported DOS games), 88, 88Pro, and 8820.
or "VST Plugin" from MIDI out device, and select VST DLL file(path) and toggle showing VST panel from Configure.
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: [Linux] GUI discussion

Post by Battler »

I notice that the MT-32 emulation appears to be based on 86Box's MPU-401 intelligent mode emulation (which is in turn ported from DOSBox). I'm going to look into porting it over to 86Box, as it's makes the MIDI code less platform-dependent, and adds a way to use MIDI without directly talking to a host device.
bit
Posts: 98
Joined: Sun 19 Mar, 2017 7:04 pm

Re: [Linux] GUI discussion

Post by bit »

basic2004 wrote:I want this feature, Showing MIDI Message (eg. 'The saga continues..' message showing when starting Prince of Persia 2) from PCem Machine(wxWidgets version) and Misc/Status(Windows version) When I select "Roland MT-32 Emulation".
I'm working on this right now. Is there anything else that could be of interest to display? I'm thinking about adding an option to display the current instruments.
basic2004 wrote:And I want another feature, support VSTi.
I recommend "Roland SOUND Canvas VA", when found a path '%ProgramFiles%/Roland/Sound Canvas VA/SOUND Canvas VA.dll' installed SOUND Canvas VA.
This supports Roland SC-55(fully optimized with GM/GS supported DOS games), 88, 88Pro, and 8820.
or "VST Plugin" from MIDI out device, and select VST DLL file(path) and toggle showing VST panel from Configure.
If it was available for Linux I might have been interested to take a look at it, but unfortunately it is not. Maybe someone else is willing to do it.
basic2004
Posts: 124
Joined: Sun 08 Jan, 2017 5:59 pm

Re: [Linux] GUI discussion

Post by basic2004 »

bit wrote:
basic2004 wrote:I want this feature, Showing MIDI Message (eg. 'The saga continues..' message showing when starting Prince of Persia 2) from PCem Machine(wxWidgets version) and Misc/Status(Windows version) When I select "Roland MT-32 Emulation".
I'm working on this right now. Is there anything else that could be of interest to display? I'm thinking about adding an option to display the current instruments.
Oh, that's interesting!

I found this VSTi Plugin, Munt VSTi. http://falcosoft.hu/softwares.html#munt_vsti
This can emulate General MIDI (using 2 MT-32 synths in 1 port) and selectable Map mode, MT-32 and GM.
But this plugin has some delaying bug in current version.
Supporting MT-32 in your branch is best choice, this playing MIDI signal no delay.
bit wrote:
basic2004 wrote:And I want another feature, support VSTi.
I recommend "Roland SOUND Canvas VA", when found a path '%ProgramFiles%/Roland/Sound Canvas VA/SOUND Canvas VA.dll' installed SOUND Canvas VA.
This supports Roland SC-55(fully optimized with GM/GS supported DOS games), 88, 88Pro, and 8820.
or "VST Plugin" from MIDI out device, and select VST DLL file(path) and toggle showing VST panel from Configure.
If it was available for Linux I might have been interested to take a look at it, but unfortunately it is not. Maybe someone else is willing to do it.
Yes, I found another VST host, 'Pedalboard2'. I'm enough with this and 'VSThost' now.
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: [Linux] GUI discussion

Post by SarahWalker »

Revs 774-776 commit the patches attached to this thread, except for the configurable paths one - I need to look over that some more, and in the UK at present it's too hot to consider doing anything resembling thinking.
Post Reply