ignoring Rating (and other bugs)
ignoring Rating (and other bugs)
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:
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 **********
Re: ignoring Rating (and other bugs)
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.
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.
Re: ignoring Rating (and other bugs)
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.
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.
Re: ignoring Rating (and other bugs)
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!
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!
Bernd - radio42
ProppFrexx ONAIR - The Playout and Broadcast Automation Solution
ProppFrexx ONAIR - The Playout and Broadcast Automation Solution
Re: ignoring Rating (and other bugs)
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.
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.
Bernd - radio42
ProppFrexx ONAIR - The Playout and Broadcast Automation Solution
ProppFrexx ONAIR - The Playout and Broadcast Automation Solution
Re: ignoring Rating (and other bugs)
Fixed in v3.0.12.12!
Bernd - radio42
ProppFrexx ONAIR - The Playout and Broadcast Automation Solution
ProppFrexx ONAIR - The Playout and Broadcast Automation Solution