This is a test. Test! Consider yourself tested.

[UT] RMusicPlayer beta - music player for UT.

For questions and discussion about UnrealEd, UnrealScript, and other aspects of Unreal Engine design.

Moderators: ividyon, Semfry, zYnthetic

User avatar Raven
Trustee Member Trustee Member
Posts: 807
Joined: 12 Nov 2007, 09:39
Location: Nørresundby
Contact:

Subject: [UT] RMusicPlayer beta - music player for UT.

Post Posted: 22 May 2008, 19:23

About

RMusicPlayer is new version of RvMp3Player. The code has been completly rewritten, this time using FMODEX. Features:

* Mod support (you can subclass RMusic_Player to define new music directory)
* Save support in SP games
* Supports many audio files (flac, mp2, mp3, ogg, wma, wav)
* Crossfades/fades in/fades out music

Current bugs (will be fixed):

* DSP plugins - everything loads fine, but I can't hear difference :)
* You can't have more then one DSP plugin
* Additional codecs doesn't work

ReadMe GO TO WIKI

Changelog

v 0.1.4
- File is searched in all paths ([Core.System] in main ini) with *.umx
v 0.1.3
- added information about current volume to the menu.
- removed unused configuration from advanced options->audio
v 0.1.2
- RMusic_Controller spawns RMusic_Save at startup
- RMusic_SingleGameInfo2 detects save and stops/plays correct music
v 0.1.1
- fixed Trigger function in RMusic_Controller
- in RMusic_Player function RMusic_Play stops music (if something is playing), before playing new one
v 0.1.0
- added new RMusic_Controller actions (AC_Pause and AC_UnPause)
- DSP manager moved form RMusic_Controller into RMusic_DSPController
- new samples in SDK (integration with gametype and playerpawn)
v 0.0.3
- fixed fade in/out/corssfade bug
- fixed crashes on dedicated server
- added DSP related functions into RMusic_Player
v 0.0.2 (first public release)
- fixed few RMusic_Player bugs

Download

As always source code is included in zip file.

link: RMusicPlayer 0.1.4 (~694kb)

Tnx to (alphabetical order):

.:..: - for helping me with damn trigger function on dedicated server
Smirftsch - for helping with few native parts (type conversion)
Waffnuffly - for betatesting :)
Last edited by Raven on 08 Jun 2009, 00:34, edited 9 times in total.
Madness, as you know, is like gravity…all it takes is a little push!
Image
http://turniej.unreal.pl/portfolio

User avatar Buff Skeleton
>:E >:E
Posts: 4036
Joined: 15 Dec 2007, 00:46

Subject:

Post Posted: 22 May 2008, 19:42

I'll check this out when I get home from work today :tup:

User avatar Raven
Trustee Member Trustee Member
Posts: 807
Joined: 12 Nov 2007, 09:39
Location: Nørresundby
Contact:

Subject:

Post Posted: 22 May 2008, 19:51

I totally forgot about volume-control window :). Will add it today.

EDIT:

UWindow used for volume control has been added :). Just click onRMusicPlayer :: Volume Control in mod menu.

EDIT 2:

Forgot to say. Debug mode is on (bIncludeDebugInfo = true), so every change (like volume change) is inside log. I'll turn it off in full version.
Madness, as you know, is like gravity…all it takes is a little push!
Image
http://turniej.unreal.pl/portfolio

User avatar zYnthetic
Trustee Member Trustee Member
Posts: 506
Joined: 12 Nov 2007, 00:10

Subject:

Post Posted: 22 May 2008, 23:31

Raven, you need some kind of award for being so awsome. This is really turning into a rich contribution. :tup:
Image

User avatar ElectricIce
Skaarj Warlord Skaarj Warlord
Posts: 715
Joined: 12 Nov 2007, 20:42
Location: Somewhere lost in Na-Pali
Contact:

Subject:

Post Posted: 23 May 2008, 12:27

this doesn't create any missmatch on Waffy's EXU? right? if im right it uses RVMP3 player.

User avatar Raven
Trustee Member Trustee Member
Posts: 807
Joined: 12 Nov 2007, 09:39
Location: Nørresundby
Contact:

Subject:

Post Posted: 23 May 2008, 12:56

It's RMusicPlayer, new package, new code. It uses FMODEX in opposition to RvMp3Player which uses FMOD 3. Code should be compatible with RvMP3. Just to make sure I've removed native function numeration.

BTW I've found a bug with level switching, It's now active :).
Madness, as you know, is like gravity…all it takes is a little push!
Image
http://turniej.unreal.pl/portfolio

User avatar Buff Skeleton
>:E >:E
Posts: 4036
Joined: 15 Dec 2007, 00:46

Subject:

Post Posted: 23 May 2008, 15:10

{WINGS}Zombiehunter wrote:this doesn't create any missmatch on Waffy's EXU? right? if im right it uses RVMP3 player.

I'm definitely going to switch to this once its bugs are ironed out, though, since it is basically the same thing, but better.

And I didn't end up getting a chance to test it yesterday, but I just wanted to be sure: this still will work with galaxy, right? It just uses FMOD but doesn't require you to use FMOD as your sound driver in UT... right?

User avatar Raven
Trustee Member Trustee Member
Posts: 807
Joined: 12 Nov 2007, 09:39
Location: Nørresundby
Contact:

Subject:

Post Posted: 23 May 2008, 15:12

It just uses FMODEX to play music. It's independent of your sound driver in UT.
Madness, as you know, is like gravity…all it takes is a little push!
Image
http://turniej.unreal.pl/portfolio

User avatar Buff Skeleton
>:E >:E
Posts: 4036
Joined: 15 Dec 2007, 00:46

Subject:

Post Posted: 26 May 2008, 19:30

This seems to be working much better, but since it still crashes dedicated servers, I can't test it online until UA is around next. Here's what server.log says when I try to connect to my own dedicated server (it works for any map that isn't using the RMusicPlayer or RvMp3Player):

Code: Select all

Critical: appError called:
Critical: Assertion failed: ((UGameEngine*)(XLevel->Engine))->GEntry [File:C:\UTDev\Engine\Src\UnPawn.cpp] [Line: 370]
Critical: Windows GetLastError: The operation completed successfully. (0)
Exit: Executing UObject::StaticShutdownAfterError
Critical: APlayerPawn::execGetEntryLevel
Critical: UObject::ProcessEvent
Critical: (EXU2CoopGame2 EXU2-BI02-HugeHam.EXU2CoopGame0, Function EXU2BI.EXU2CoopGame2.PostLogin)
Critical: ULevel::SpawnPlayActor
Critical: ULevel::NotifyReceivedText
Critical: UControlChannel::ReceivedBunch
Critical: UChannel::ReceivedSequencedBunch
Critical: Direct
Critical: UChannel::ReceivedRawBunch
Critical: DispatchDataToChannel
Critical: BunchData
Critical: UNetConnection::ReceivedPacket
Critical: UNetConnection::ReceivedRawPacket
Critical: UTcpNetDriver::TickDispatch
Critical: UpdatePreNet
Critical: ULevel::Tick
Critical: (NetMode=1)
Critical: TickLevel
Critical: UGameEngine::Tick
Critical: UpdateWorld
Critical: MainLoop
Exit: Exiting.


Offline I get a few things:

Code: Select all

ScriptWarning: RMp3Player Entry.RMp3Player0 (Function RvMp3Player.RMp3Player.Tick:0032) Accessed None
ScriptWarning: RMp3Player Entry.RMp3Player0 (Function RvMp3Player.RMp3Player.Tick:003A) Accessed None
ScriptWarning: RMp3Player Entry.RMp3Player0 (Function RvMp3Player.RMp3Player.Tick:0042) Accessed None
ScriptWarning: RMp3Player Entry.RMp3Player0 (Function RvMp3Player.RMp3Player.Tick:004A) Accessed None


And this after I loaded another level:

Code: Select all

Init: RMusic_Player :: RMusic_Stop :: Sound released
ScriptWarning: EXU2Game EXU2-BI02-HugeHam.EXU2Game2 (Function EXU2BI.EXU2Game.PostLogin:00BB) Accessed None


It seems much more robust than before so far, though! I will test some listen server stuff soon, probably today if UA is around.

User avatar UArchitect
Skaarj Lord Skaarj Lord
Posts: 182
Joined: 18 Nov 2007, 21:22

Subject:

Post Posted: 26 May 2008, 19:35

i havent seen the code myself or even downloaded this yet, but ill base my assuptions on the "getentry" portion of the error

this looks like a similar error the old mp3player had if i remember correctly


the entry level does not exist on dedicated servers, you should check the netmode and double check that getentrylevel isnt none before attempting to do anything with it
theres my two cents....

and cheers for making a badass alternative to umx (im especially liking the support for fading this time round as well as the additional supported formats)

edit:

really small nitpick but do you think you could make the independant volume also scale by the normal music volume slider, i just find it annoying having to adjust the volume independantly all the time, if it scaled with its own volume and the music volume you could easily tune both umx and the mp3/other music to be equal levels of loudness :P

in simpler terms, volume = rmusicplayervolume * utmusicvolume;

just a thought
Last edited by UArchitect on 26 May 2008, 20:17, edited 1 time in total.

User avatar Buff Skeleton
>:E >:E
Posts: 4036
Joined: 15 Dec 2007, 00:46

Subject:

Post Posted: 26 May 2008, 20:09

We are still having weird issues with listen servers. As the host, music plays fine for me when triggered, but not for the client. When the client rejoins the server while music is playing, music stops. The client still doesn't hear anything. Restarting the level just does the same stuff. There's nothing in the logs to indicate a problem, either.

User avatar Raven
Trustee Member Trustee Member
Posts: 807
Joined: 12 Nov 2007, 09:39
Location: Nørresundby
Contact:

Subject:

Post Posted: 26 May 2008, 20:42

UA: Ok, will check everything, but new compilation seems to work much better on dedicated servers. All bugs was in gametypes. New (fixed) gametypes are at wiki: http://wiki.beyondunreal.com/UE1:RMusic ... support.29 I think that only SP requires additional coding in game info, because of that save support. I've tested player on pure DM map and it works without any problems, so maybe you can switch to pure coopgame2.
I can make an option in ini, to use current volume or UT volume. The problem is, that each time volume is changed FMOD function has to be called, so I can put this in tick.

Waffnuffly: try using new gametype, or return to coopgame2. Will try to hunt down that bug.

Code: Select all

ScriptWarning: RMp3Player Entry.RMp3Player0 (Function RvMp3Player.RMp3Player.Tick:0032) Accessed None
ScriptWarning: RMp3Player Entry.RMp3Player0 (Function RvMp3Player.RMp3Player.Tick:003A) Accessed None
ScriptWarning: RMp3Player Entry.RMp3Player0 (Function RvMp3Player.RMp3Player.Tick:0042) Accessed None
ScriptWarning: RMp3Player Entry.RMp3Player0 (Function RvMp3Player.RMp3Player.Tick:004A) Accessed None

It's about RvMp3Player, not RMusicPlayer :).
Madness, as you know, is like gravity…all it takes is a little push!
Image
http://turniej.unreal.pl/portfolio

User avatar UArchitect
Skaarj Lord Skaarj Lord
Posts: 182
Joined: 18 Nov 2007, 21:22

Subject:

Post Posted: 26 May 2008, 21:36

yeah i just looked in waffs gameinfo (coopgame2 subclass) and it has 'NewPlayer.GetEntryLevel()' in postlogin, im guessing this would be a cause of such an error on a dedicated server

anyway, keep up the good work :0

User avatar Raven
Trustee Member Trustee Member
Posts: 807
Joined: 12 Nov 2007, 09:39
Location: Nørresundby
Contact:

Subject:

Post Posted: 26 May 2008, 22:10

Tnx, doing my best ;). After that listen/dedicated server problem, I'll try to fix DSP plugin support and additional codecs since those things doesn't work right now.

After looking into FMODEX examples I think I'll add special actor to control DSP plugins.

EDIT:
I've found and fixed fading/crossfading bug (in old version it stops at 53%). Still no luck on DSP plugins.

EDIT:

RMusicPlayer updated. Changelog:
- changed definition of function RMusic_Play. Now it looks like this:

Code: Select all

native simulated final function bool RMusic_Play(string File, bool Loop);

- changed definition of function RMusic_Stop (removed parameter). Now it looks like this:

Code: Select all

native simulated final function RMusic_Stop();

- fixed fading/crossfading bug
- added configuration menu in Advanced Properties (thus menu itself isent used yet)

Please update every class which uses functions RMusicPlay/RMusicStop and remove last parameter (bool).

Please DO NOT USE RMusic_DSPController, it's still in development.
Madness, as you know, is like gravity…all it takes is a little push!
Image
http://turniej.unreal.pl/portfolio

User avatar Buff Skeleton
>:E >:E
Posts: 4036
Joined: 15 Dec 2007, 00:46

Subject:

Post Posted: 27 May 2008, 15:25

UA fixed the dedicated server crash, but not the listen server silence issue.

Haven't tested the new version yet, but I am just now getting some save/load issues like before. Loading a quicksave, in this case.

- If you have music playing, die, and load a save where music was not playing, the music you had playing doesn't stop.

I had a couple weird volume control issues, but I'll try the new version first before I report those in case they have been fixed.

Next

Who is online

Users browsing this forum: No registered users and 2 guests