Mancubus
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > Chocolate Doom version 2 beta
Pages (4): « 1 2 3 [4]  
Author
All times are GMT. The time now is 02:37. Post New Thread    Post A Reply
fraggle
Filled with the code of Doom


Posts: 7829
Registered: 07-00


The setup tool has an option to select MIDI backend, always has. I'm curious as to what source code changes you needed to make to get what you wanted.

Old Post 01-22-14 20:25 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Holering
Member


Posts: 373
Registered: 01-03


Mix_SetMusicCMD in SDL_Mixer:
code:
// Load the MIDI Mix_SetMusicCMD(getenv("MIDI")); music = Mix_LoadMUS(filename); if (music == NULL) { // Failed to load fprintf(stderr, "Error loading midi: %s\n", Mix_GetError()); } // remove file now // remove(filename); // Z_Free(filename); return music; }

Same kind of thing was done to eternity and a patch was made by mp2e: http://www.mediafire.com/download/k...ty_sound.tar.xz

Only problem is a 1 second halt every time a track changes; and when exiting chocolate-doom, /tmp/doom.mid remains.

What this does is make an environment variable so *NIX users (and possibly Windows) can choose any midi backend they want (timidity++, amidi, fluidsynth, pmidi, hardware midi, etc.). No dependencies required what so ever. Way better than sdl_mixer's internal midi emulation IMO.

Last edited by Holering on 01-24-14 at 00:41

Old Post 01-23-14 01:53 #
Holering is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
fabian
Member


Posts: 399
Registered: 12-12



Holering said:
All that's needed is an environment variable and *NIX users can choose any midi backend (timidity++, amidi, pmidi, etc.). No dependencies what so ever. Better than sdl_mixer's internal midi emulation IMO.


Not sure if that is what you are talking about, but since sdl-mixer version 1.2.12 users can choose to use the Fluidsynth midi renderer by setting the SDL_SOUNDFONTS=/path/to/soundfont1:/path/to/soundfont2 and SDL_FORCE_SOUNDFONTS variables. If you are using Debian and have either the "musescore-soundfont-gm" and/or "fluid-soundfont-gm" packages installed, manually setting the variables should not be necessary anymore from sdl-mixer1.2 (1.2.12-6) onward.

Old Post 01-23-14 11:49 #
fabian is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Holering
Member


Posts: 373
Registered: 01-03


Fluidsynth is broken in sdl_mixer; sadly.

SDL developers seem to neglect midi rendering as best they can. Fluidsynth actually sounds great outside of sdl_mixer (running as daemon or whatever), but inside sdl_mixer it's totally messed up. I'm not even joking. Wouldn't be surprised if the original timidity sounded normal outside sdl_mixer.

For the record, fluidsynth doesn't emulate all the various midi modules that timidity++ does (Roland SC-55, Sound Blaster Live!, XG, etc). It doesn't even support XG mappings AFAIK. It's a wonderful soundfont renderer but it can suck at times without having .pat support (you can make pat sets sound better than most soundfonts out there with just a text editor; I actually have vocals in Final Fantasy VII XG midi soundtrack working which is impossible without proper XG emulation and a custom 1GB pat set).

It wasn't really what I was talking about, but what you brought up shows off sdl_mixer's bad midi development (at least for *NIX users). You can't even use a real hardware midi module with sdl_mixer on Linux, unless you're using OSS (and that's a maybe).

Last edited by Holering on 01-24-14 at 00:43

Old Post 01-23-14 11:55 #
Holering is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
_bruce_
Senior Member


Posts: 1333
Registered: 11-07


There's a neat little bugger in 'i_video.c' - report here, because I do not have a git-uar account.

The game's dot "performance visualizer" doesn't draw all 20 dots when the difference in tics would require it to.
The active dot drawer only draws 10 because tics doesn't get scaled by 4 but 2 - capping the delay dot count at 10 instead of 20.
Black dots, removers, get drawn correctly.

i_video.c/line 1092 -> for (i=0 ; i<tics*2 ; i+=4) -> 2 should be 4.

Old Post 03-13-14 01:07 #
_bruce_ is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Holering
Member


Posts: 373
Registered: 01-03


Possible to add native PC-speaker support?

Last edited by Holering on 04-09-14 at 04:48

Old Post 04-09-14 04:39 #
Holering is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7829
Registered: 07-00


Chocolate Doom already has native PC speaker support.

Old Post 04-09-14 04:50 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Holering
Member


Posts: 373
Registered: 01-03


Maybe should've said Linux Chocolate-doom? My pc-speaker doesn't do a thing with chocolate-doom but it clearly works with other Linux programs. It also works with Doom 1.9 in win9x. Haven't tried Chocolate-Doom in Windows... PC speaker emulation works fine however.

Old Post 04-10-14 00:25 #
Holering is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7829
Registered: 07-00


There is indeed native PC speaker support under Linux.

https://github.com/chocolate-doom/c...pcsound_linux.c

You might need to run as root.

Old Post 04-10-14 02:19 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Holering
Member


Posts: 373
Registered: 01-03


You're absolutely right! Need to be root for native pc-speaker to work.

Old Post 04-12-14 10:19 #
Holering is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7829
Registered: 07-00



plums said:
I don't know if this is outside the scope of "vanilla compatibility", but I have a joystick with 28 buttons, and chocolate doom doesn't seem to recognize the higher ones. I'm not sure how far up it will read. chocolate-doom-setup.exe does recognize all buttons, and I can move with the joystick, so I'm pretty sure it's not the fault of the hardware.

Took me a while to get round to it, but this is now fixed.

The solution I implemented was to use a virtual->physical joystick button mapping; the game code itself only supports up to 20 (virtual) buttons, but these virtual buttons can each map to any physical button as desired. Maybe the game sees you pressing button 1 to fire, but that's actually "button 50" on your super-duper controller.

If this all sounds a bit complicated then don't worry - the setup tool conveniently hides all of the details for you.

I've been doing quite a bit of work on the joystick code over the past few days, and it's now much improved.

Old Post 05-01-14 05:54 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
plums
Senior Member


Posts: 2011
Registered: 08-13


Great! I'll give it a test soon.

Old Post 05-01-14 14:57 #
plums is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
plums
Senior Member


Posts: 2011
Registered: 08-13


I'm having some devbuild issues on Win32.

* I tried following the instructions for building Chocolate Doom on Windows with Cygwin. Some of the packages have changed versions or even names. (I think 'gcc-mingw-core' is now 'mingw-gcc-core' for instance.) SDL fails to build with the message Your compiler (gcc) does not produce Win32 executables! I can find a lot of references to this online, and how gcc no longer supports the '-mno-cygwin' flag, but no real solutions. Do I have to go back to gcc3?

* The latest non-gl branch build here is 113, which doesn't have the joystick fixes (I assume they work fine but I thought I should verify anyhow).

* The GL build here quits immediately on starting. stderr.txt reports IOperm_InstallDriver: Failed to start service (2). Unsure of whether GL development is at the point where putting this on the issue tracker is useful or not.


Also, there are two Chocolate Doom threads here on DoomWorld. Which is the preferred one?

Old Post 05-07-14 22:36 #
plums is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 02:37. Post New Thread    Post A Reply
Pages (4): « 1 2 3 [4]  
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > Chocolate Doom version 2 beta

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.