ignoring Rating (and other bugs)

You found a bug or have any issues? Please post them here!
Post Reply
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
ignoring Rating (and other bugs)

Post by hdradio »

I 've setup folder based media libraries and a script that asks for songs having "[Rating] >= '80'"
There are thousand of songs available. But a track is chosen that has lower rating. I see in tag editor for this file: Rating : "Poor [20*]"
This is a big problem because files with those ratings should never play.

Also when I find a track and click space to pfl this track, it plays ok but the label on quick monitor player does not change.

A few days ago while testing again pf there were some errors:

Code: Select all

02/01/2014 18:29:48 [v3.0.12.10]:********** Error/Exception Information **********
Error Message: Cannot access a disposed object.
Object name: 'b'.
Error Type: System.ObjectDisposedException
Error Source: System.Windows.Forms.System.Object MarshaledInvoke(System.Windows.Forms.Control, System.Delegate, System.Object[], Boolean)
********** System Stack Trace **********
   at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
   at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
   at System.Windows.Forms.Control.Invoke(Delegate method)
   at ProppFrexx.Player.b.f(b A_0)
   at ProppFrexx.Player.b.aq()
   at ProppFrexx.Player.b.an()
   at ProppFrexx.Player.b.a(Object A_0, RunWorkerCompletedEventArgs A_1)
   at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
   at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)
********** Environment Stack Trace **********
   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Environment.get_StackTrace()
   at ProppFrexx.ac.a(Exception A_0, Boolean A_1)
   at ProppFrexx.c1.a(Exception A_0)
   at ProppFrexx.c1.b(Exception A_0)
   at ProppFrexx.c1.a(Object A_0, ThreadExceptionEventArgs A_1)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at ProppFrexx.a7.b(Boolean A_0)
   at ProppFrexx.a7.a(Boolean A_0)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Control.Dispose(Boolean disposing)
   at DevExpress.XtraBars.Docking.ControlContainer.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Control.Dispose(Boolean disposing)
   at DevExpress.XtraBars.Docking.ZIndexControl.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Control.Dispose(Boolean disposing)
   at DevExpress.XtraBars.Docking.ZIndexControl.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Control.Dispose(Boolean disposing)
   at DevExpress.XtraBars.Docking.ZIndexControl.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at DevExpress.XtraBars.Docking.DockManager.Clear()
   at DevExpress.XtraBars.Docking.DockManager.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.ComponentModel.Container.Dispose(Boolean disposing)
   at System.ComponentModel.Container.Dispose()
   at ProppFrexx.c1.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Form.WmClose(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at DevExpress.XtraEditors.XtraForm.WndProc(Message& msg)
   at DevExpress.XtraBars.Ribbon.RibbonForm.WndProc(Message& msg)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.SendMessage(HandleRef hWnd, Int32 msg, Int32 wParam, Int32 lParam)
   at System.Windows.Forms.Control.SendMessage(Int32 msg, Int32 wparam, Int32 lparam)
   at System.Windows.Forms.Form.Close()
   at ProppFrexx.c1.cg(Object A_0, ItemClickEventArgs A_1)
   at DevExpress.XtraBars.BarItem.OnClick(BarItemLink link)
   at DevExpress.XtraBars.BarButtonItem.OnClick(BarItemLink link)
   at DevExpress.XtraBars.BarItemLink.OnLinkClick()
   at DevExpress.XtraBars.BarButtonItemLink.OnLinkClick()
   at DevExpress.XtraBars.BarItemLink.OnLinkAction(BarLinkAction action, Object actionArgs)
   at DevExpress.XtraBars.BarButtonItemLink.OnLinkAction(BarLinkAction action, Object actionArgs)
   at DevExpress.XtraBars.BarItemLink.OnLinkActionCore(BarLinkAction action, Object actionArgs)
   at DevExpress.XtraBars.ViewInfo.BarSelectionInfo.ClickLink(BarItemLink link)
   at DevExpress.XtraBars.ViewInfo.BarSelectionInfo.UnPressLink(BarItemLink link)
   at DevExpress.XtraBars.Controls.CustomLinksControl.OnMouseUp(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at DevExpress.XtraBars.Controls.CustomControl.WndProc(Message& msg)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at ProppFrexx.dt.a(String[] A_0)
********** End **********

Code: Select all

03/01/2014 10:32:44 [v3.0.12.10]:********** Error/Exception Information **********
Error Message: Object reference not set to an instance of an object.
Error Type: System.NullReferenceException
Error Source: DevExpress.XtraBars.v13.1.DevExpress.XtraBars.Docking.Helpers.DockZone GetDockZoneAtPos(System.Drawing.Point)
********** System Stack Trace **********
   at DevExpress.XtraBars.Docking.Helpers.DockingHandlerStateVS2005.GetDockZoneAtPos(Point screenPoint)
   at DevExpress.XtraBars.Docking.Helpers.DockingHandlerStateVS2005.BaseMouseOver(Point screenPoint)
   at DevExpress.XtraBars.Docking.Helpers.DockingHandlerStateVS2010.MouseOver(Point point)
   at DevExpress.XtraBars.Docking.Helpers.DockingHandlerStateVS2010.DoDocking(Point pt)
   at DevExpress.XtraBars.Docking.Helpers.DockingHandlerState.MouseMove(HitInfo hitInfo)
   at DevExpress.XtraBars.Docking.Helpers.DockPanelMouseHandler.MouseMove(MouseEventArgs e)
   at DevExpress.XtraBars.Docking.DockPanel.OnMouseMove(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseMove(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at DevExpress.XtraBars.Docking.ZIndexControl.WndProc(Message& m)
   at DevExpress.XtraBars.Docking.DockPanel.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
********** Environment Stack Trace **********
   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Environment.get_StackTrace()
   at ProppFrexx.ac.a(Exception A_0, Boolean A_1)
   at ProppFrexx.c1.a(Exception A_0)
   at ProppFrexx.c1.b(Exception A_0)
   at ProppFrexx.c1.a(Object A_0, ThreadExceptionEventArgs A_1)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Control.WndProcException(Exception e)
   at System.Windows.Forms.Control.ControlNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at ProppFrexx.dt.a(String[] A_0)
********** End **********

Code: Select all

03/01/2014 10:32:44 [v3.0.12.10]:********** Error/Exception Information **********
Error Message: Object reference not set to an instance of an object.
Error Type: System.NullReferenceException
Error Source: DevExpress.XtraBars.v13.1.DevExpress.XtraBars.Docking.Helpers.DockZone GetDockZoneAtPos(System.Drawing.Point)
********** System Stack Trace **********
   at DevExpress.XtraBars.Docking.Helpers.DockingHandlerStateVS2005.GetDockZoneAtPos(Point screenPoint)
   at DevExpress.XtraBars.Docking.Helpers.DockingHandlerStateVS2005.BaseMouseOver(Point screenPoint)
   at DevExpress.XtraBars.Docking.Helpers.DockingHandlerStateVS2010.MouseOver(Point point)
   at DevExpress.XtraBars.Docking.Helpers.DockingHandlerStateVS2010.DoDocking(Point pt)
   at DevExpress.XtraBars.Docking.Helpers.DockingHandlerState.MouseMove(HitInfo hitInfo)
   at DevExpress.XtraBars.Docking.Helpers.DockPanelMouseHandler.MouseMove(MouseEventArgs e)
   at DevExpress.XtraBars.Docking.DockPanel.OnMouseMove(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseMove(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at DevExpress.XtraBars.Docking.ZIndexControl.WndProc(Message& m)
   at DevExpress.XtraBars.Docking.DockPanel.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
********** Environment Stack Trace **********
   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Environment.get_StackTrace()
   at ProppFrexx.ac.a(Exception A_0, Boolean A_1)
   at ProppFrexx.c1.a(Exception A_0)
   at ProppFrexx.c1.b(Exception A_0)
   at ProppFrexx.c1.a(Object A_0, ThreadExceptionEventArgs A_1)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Control.WndProcException(Exception e)
   at System.Windows.Forms.Control.ControlNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at ProppFrexx.dt.a(String[] A_0)
********** End **********
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
Re: ignoring Rating (and other bugs)

Post by hdradio »

I think that the attached screenshot will better explain where the problem is:
Rating is compared as a character and not as number so 9 is greater than 80.
Also see that although the quick monitor plays the selected file, some other file is shown.
bug1.jpg
bug1.jpg (108.52 KiB) Viewed 7360 times
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
Re: ignoring Rating (and other bugs)

Post by hdradio »

Indeed I am using an other tagger for my library. In fact I use both MediaMonkey and MusicBee to tag my audio files. Those taggers are very popular so I think that will be good for pf to be compatible with them.

About the other bugs, if I remember, happened when I tried to dock the overlay window to the bottom of the screen.
They might not be critical but I suppose you don't want them popup in your application.
User avatar
radio42
Site Admin
Posts: 8348
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: ignoring Rating (and other bugs)

Post by radio42 »

The "Rating" tag is no defined standard (except as for ID3v2 and WMA, where we use the defined recommendations) - else we use Mp3Tag, iTunes, Winamp, Windows Media Player, FooBar and others as a reference.
Anyhow, as said: I might add an additional 'Rating Value' property to the next version, which might then try to convert a rating string value into a numerical representation.

And yes, I also take a look to the other issues as well and try to reproduce them...if I can they will of course be fixed with the next release!
User avatar
radio42
Site Admin
Posts: 8348
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: ignoring Rating (and other bugs)

Post by radio42 »

The Quick-Monitor display thing is actually a bug introduced in the last version of the UI library (DevExpress) I am using. Unfortunately that is 3rd party software I am using.
I have already filed a bug ticket and hope, that this issue is fixed soon!

Yes, the 'Rating' comparison is indeed be a string comparison as of today, since the Rating meta data tag is a string as well.
It seems, that you have used another tagger (meta data editor) than ProppFrexx to apply the 'Rating' value (as ProppFrexx only uses the following value):
100 = excellent, 5-stars
80 = very good, 4-stars
60 = good, 3-stars
40 = average, 2-stars
20 = poor, 1-star
0 = unrated
When using this (default) notation you wouldn't have gotten any issues.
But as other taggers (meta data editors) might use the rating property field as a plain text (string) field, it is currently begin compared as a string.
However, I might add an additional 'Rating Value' property to the next version, which might then try to convert a rating string value into a numerical representation.

The other errors seems to have happened, when ProppFrexx was being shut down and are as such totally uncritical as they didn't break anything.
User avatar
radio42
Site Admin
Posts: 8348
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: ignoring Rating (and other bugs)

Post by radio42 »

Fixed in v3.0.12.12!

Post Reply