It did not. I can see it recreating the db3 file, but it still hangs with 15% cpu. Unless it is actually rebuilding the database not allowing me to do anything else. The music folder contains around 43.000 files.
No database changing. no file with journal in the name. Actually the modified date of the db3 does not change at all.
So I went in configuration and unchecked the directory with the mp3's, and checked the standard Music directory (no music there)
It then started up, even MUSIC works (but does not show anything). It showed me the (unchecked) MP3 directory there too if I go one level up. If I click it MP hangs again. So it obviously has something to do with this directory (on a USB3.0 external harddisk).
My guess though is that the openfolderdatabase before actually filling the database is reading all the MP3 filenames, maybe their types etc. Building internal treelists or something, and having as many files as I have may cuase this delay (looks like hanging) and the 15% cpu usage (On a dual quad xeon!)
Could it be that this new release changed the openfolderdatabase that way, and before it was actually filling the database WHILE recursing the folder directories?
But I also placed a MP3 in the standard music directory. Started MP, if I play the file. again I get an 'unable to play'.
2013-03-06 21:08:39.510689 [ERROR][MPMain(1)]: BASS: Unable to play C:\Users\Ben\Music\01 - Rubber Bullets.mp3. Reason: BASS_ERROR_HANDLE.
2013-03-06 21:08:39.520691 [ERROR][MPMain(1)]: PlaylistPlayer: *** unable to play - C:\Users\Ben\Music\01 - Rubber Bullets.mp3 - skipping track!
2013-03-06 21:08:44.458376 [ERROR][MPMain(1)]: BASS: Play caused an exception: System.NullReferenceException: Object reference not set to an instance of an object.
at MediaPortal.MusicPlayer.BASS.BassAudioEngine.Play(String filePath).
2013-03-06 21:08:44.465378 [ERROR][MPMain(1)]: PlaylistPlayer: *** unable to play - C:\Users\Ben\Music\01 - Rubber Bullets.mp3 - skipping track!
So the latest release gives me two problems...the mp3 directory and BASS not able to play my mp3's.
Any suggestions?[DOUBLEPOST=1362601365][/DOUBLEPOST]Some more from one of the logs
013-03-09 00:56:09.325392 [ERROR][MPMain(1)]: TVHome: Error occured in Init(): Requested Service not found, st at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at TvPlugin.TVHome.OnAdded()
at MediaPortal.GUI.Library.GUIWindowManager.Add(GUIWindow& Window)
at MediaPortal.GUI.Library.PluginManager.LoadWindowPlugin(String strFile)
at MediaPortal.GUI.Library.PluginManager.LoadWindowPlugins()
at MediaPortalApp.InitializeDeviceObjects()
at MediaPortal.D3DApp.InitializeEnvironment()
at MediaPortal.D3DApp.CreateGraphicsSample()
at MediaPortalApp.Main(String[] args)
2013-03-09 00:56:24.080360 [ERROR][MPMain(1)]: BASS: Unable to play C:\Users\Ben\Music\01 - Rubber Bullets.mp3. Reason: BASS_ERROR_HANDLE.
2013-03-09 00:56:24.092362 [ERROR][MPMain(1)]: PlaylistPlayer: *** unable to play - C:\Users\Ben\Music\01 - Rubber Bullets.mp3 - skipping track!
2013-03-09 00:56:36.277987 [ERROR][MPMain(1)]: BASS: Error stopping mixer: BASS_ERROR_HANDLE
2013-03-09 00:56:36.284988 [ERROR][MPMain(1)]: BASS: Error freeing mixer: BASS_ERROR_HANDLE
i need to see the full log.
and you shoudl turn on Debugging.
After the error with the TVPlugin i see that there was a problem freeing the mixer, which means that a mixer must have been created before already.
Please run with debug turned on and attach the log file. Don't copy the content of it into the thread.
Got the latest version from GitHub, compiled it and started it in Visual Studio in debug mode. The song plays fine. I don't know if it uses the BASS engine. In configuration 'Player', is blank.
How can I check it is using the BASS engine?
I also had a look at MP hanging when I go to the MP3 directory:
It's this routine that is in a 'forever' loop:
protected virtual void SwitchToNextAllowedLayout(Layout selectedLayout) { int iSelectedLayout = (int)selectedLayout; int totalLayouts = Enum.GetValues(typeof(Layout)).Length - 1; if (iSelectedLayout > totalLayouts) iSelectedLayout = 0; bool shouldContinue = true; do { if (!AllowLayout(selectedLayout) || facadeLayout.IsNullLayout(selectedLayout)) { iSelectedLayout++; if (iSelectedLayout > totalLayouts) iSelectedLayout = 0; } else { shouldContinue = false; } } while (shouldContinue); CurrentLayout = (Layout)iSelectedLayout; SwitchLayout(); }
What I see happening is:
totalLayouts = 6;
in the while(shouldContinue) loop my iSelectedLayout becomes greater than the totalLayouts which causes iSlectedlayout to be reset to 0, and the loop continues forever because shouldContinue is never set to false;
I have no idea what it actually tries to do, but looking at the logic in the loop I think that testing selectedLayout in this line: if (!AllowLayout(selectedLayout) || facadeLayout.IsNullLayout(selectedLayout)) is not a good idea if you actually increase iSelectedLayout in the loop. That is probably problem 1. But if you would change that, testing iSelectedLayout, you still have a risk of a forever loop if none of the layouts is ever accepted, so you would need to make sure that when all possibilities have been tried, you get out of the loop or throw an exception.
BASS Player is used to play on your ASUS Xonar D2 Audio Device.
I get however a strange error, which i don't understand why.
I need to add more debug information.
I am a bit occupied the next 2 days. hopefully i can do that on Thursday.
I'll keep you posted.