Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000160MPfmLibrarypublic2011-11-12 07:442013-05-22 22:08
Reporterycastonguay 
Assigned Toycastonguay 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusassignedResolutionopen 
PlatformOSOS Version
Product Version 
Target Version0.7.0.0Fixed in Version 
Summary0000160: Add multithreading to the Update Library process
DescriptionThis will enable multiple threads. Time to change the update progress too.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0000212)
svn (developer)
2011-12-08 16:07

The user admin has checked in files related to this issue (revision 138).

Comment:
MPfm 0.5.0.1
- Added ImportAudioFiles class which will replace the UpdateLibrary process.
  It uses the Reactive Extensions.
  There is still a lot of work to do on the class.
- Bug fixes on MPfmGateway and SQLiteGateway.
- Changed comments/variable names on PeakFile to make it match with UpdateLibrary (and future classes based on the Reactive Extensions)

Related to issue 0000160.

Files modified:
U MPfm/branches/current/MPfm/Other Screens/frmSettings.cs
A MPfm/branches/current/MPfm.Library/ImportAudioFiles.cs
A MPfm/branches/current/MPfm.Library/Lib/System.Reactive.dll
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
U MPfm/branches/current/MPfm.Library/MPfmGateway.cs
U MPfm/branches/current/MPfm.Library/SQLiteGateway.cs
U MPfm/branches/current/MPfm.Sound/PeakFile.cs
U MPfm/branches/current/MPfm.WindowsControls/Audio/WaveFormMarkersLoops.cs

(0000213)
svn (developer)
2011-12-08 16:35

The user admin has checked in files related to this issue (revision 139).

Comment:
MPfm 0.5.0.1
- Changed the name of the older UpdateLibraryProgressData (now OldUpdateLibraryProgressData, OldUpdateLibraryException).
- This paved the way for the new version of these classes to be used with the UpdateLibrary class (using Reactive Extensions).
- Separated the classes into different file and moved into a proper folder.

Related to issue 0000160.

Files modified:
U MPfm/branches/current/MPfm/Other Screens/frmSettings.cs
U MPfm/branches/current/MPfm/frmUpdateLibraryStatus.cs
D MPfm/branches/current/MPfm.Library/ImportAudioFiles.cs
U MPfm/branches/current/MPfm.Library/Library.cs
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
A MPfm/branches/current/MPfm.Library/UpdateLibrary/
A MPfm/branches/current/MPfm.Library/UpdateLibrary/UpdateLibrary.cs
A MPfm/branches/current/MPfm.Library/UpdateLibrary/UpdateLibraryDoneData.cs
A MPfm/branches/current/MPfm.Library/UpdateLibrary/UpdateLibraryException.cs
A MPfm/branches/current/MPfm.Library/UpdateLibrary/UpdateLibraryProgressData.cs

(0000214)
svn (developer)
2011-12-12 19:22

The user admin has checked in files related to this issue (revision 140).

Comment:
MPfm 0.5.0.1
- Bug fix: IsRecursive in the Folder object had the wrong value.
- Bug fix: When the UpdateLibrary process hit an error, the whole process was stopped.
- More work on the next UpdateLibrary process using Reactive Extensions.
- Minor bug fixes in the gateway classes.

Related to issue 0000160 and issue 0000162.

Files modified:
U MPfm/branches/current/MPfm/Other Screens/frmSettings.cs
U MPfm/branches/current/MPfm.Library/ConvertLibrary.cs
U MPfm/branches/current/MPfm.Library/Library.cs
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
U MPfm/branches/current/MPfm.Library/MPfmGateway.cs
U MPfm/branches/current/MPfm.Library/SQLiteGateway.cs
U MPfm/branches/current/MPfm.Library/UpdateLibrary/UpdateLibrary.cs
U MPfm/branches/current/MPfm.Library/UpdateLibrary/UpdateLibraryProgressData.cs
A MPfm/branches/current/MPfm.Library/UpdateLibrary/UpdateLibraryStep.cs

(0000367)
svn (developer)
2012-01-19 09:34

The user admin has checked in files related to this issue (revision 271).

Comment:
MPfm 0.5.1.2
- Tested a new method for the new UpdateLibrary process. Seems to work really well.
  It starts X threads to read audio file metadata, waits for all threads to finish, and then inserts the files into the database.
  If there are more files to process it starts again X threads and insert files into the database until the list is complete.
  The downside is that it will insert files into the database often, but the upside is that it seems to work without locking (since
  the mechanism is out of the thread code).

Related to issue 0000070 and issue 0000160.

Files modified:
U MPfm/branches/current/MPfm/Other Screens/frmSettings.Designer.cs
U MPfm/branches/current/MPfm/Other Screens/frmSettings.cs
U MPfm/branches/current/MPfm.Library/UpdateLibrary/UpdateLibrary.cs

(0000372)
svn (developer)
2012-01-21 11:28

The user admin has checked in files related to this issue (revision 276).

Comment:
MPfm 0.5.2.0
- Added .NET Async CTP Library to the project.
- Player: The audio buffer is now cleared when skipping to a new position or when skipping to a new song.
- Player: The position returned by the player now counts in for the buffer size lag. In fact it is now using the
          main stream output position with a offset position (since the main output position is "infinite" and
          reset to 0 when the audio buffer needs to be cleared).
          It's not 100% done yet though; I need to add a syncmix proc to set the offset position exactly when the
          new song is heard. However the offset is 100% accurate already (since the channel is locked when getting the
          position, and the data available in the buffer is also added).
- UpdateLibrary: The new prototype drops Rx and uses only ASYNC for now. Works fine so far, but the application
                 gets lagged when updating files (especially when generating peak files).
- UpdateLibrary: A prototype UI for the background update library has been added to the main form.

Related to issue 0000070, issue 0000160, issue 0000168 and issue 0000275.

Files modified:
U MPfm/branches/current/MPfm/MPfm.csproj
U MPfm/branches/current/MPfm/Other Screens/frmSettings.Designer.cs
U MPfm/branches/current/MPfm/Other Screens/frmSettings.cs
U MPfm/branches/current/MPfm/Properties/AssemblyInfo.cs
U MPfm/branches/current/MPfm/frmMain.Designer.cs
U MPfm/branches/current/MPfm/frmMain.cs
U MPfm/branches/current/MPfm/frmMain.resx
U MPfm/branches/current/MPfm.Core/Properties/AssemblyInfo.cs
U MPfm/branches/current/MPfm.Fonts/Properties/AssemblyInfo.cs
A MPfm/branches/current/MPfm.Library/Lib/AsyncCtpLibrary.dll
A MPfm/branches/current/MPfm.Library/Lib/AsyncCtpLibrary.xml
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
U MPfm/branches/current/MPfm.Library/Properties/AssemblyInfo.cs
U MPfm/branches/current/MPfm.Library/UpdateLibrary/UpdateLibrary.cs
U MPfm/branches/current/MPfm.Player/Player.cs
U MPfm/branches/current/MPfm.Player/Properties/AssemblyInfo.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Channel.cs
U MPfm/branches/current/MPfm.Sound/Properties/AssemblyInfo.cs
U MPfm/branches/current/MPfm.WindowsControls/Properties/AssemblyInfo.cs


- Issue History
Date Modified Username Field Change
2011-11-12 07:44 ycastonguay New Issue
2011-11-12 07:44 ycastonguay Status new => assigned
2011-11-12 07:44 ycastonguay Assigned To => ycastonguay
2011-12-08 16:06 ycastonguay Target Version 0.6.0.0 => 0.5.0.1
2011-12-08 16:07 svn Checkin
2011-12-08 16:07 svn Note Added: 0000212
2011-12-08 16:35 svn Checkin
2011-12-08 16:35 svn Note Added: 0000213
2011-12-12 19:22 svn Checkin
2011-12-12 19:22 svn Note Added: 0000214
2011-12-13 21:29 ycastonguay Target Version 0.5.0.1 => 0.5.0.2
2011-12-17 10:40 ycastonguay Target Version 0.5.0.2 => 0.5.2.0
2011-12-22 16:23 ycastonguay Target Version 0.5.2.0 => 0.6.0.0
2011-12-22 16:24 ycastonguay Target Version 0.6.0.0 => 0.5.2.0
2011-12-22 16:24 ycastonguay Summary Port the Update Library background worker to Reactive Extensions => Port the Update Library background worker to Reactive Extensions (multi-threading support)
2012-01-19 09:34 svn Checkin
2012-01-19 09:34 svn Note Added: 0000367
2012-01-21 11:28 svn Checkin
2012-01-21 11:28 svn Note Added: 0000372
2012-01-21 11:30 svn Checkin
2012-01-21 11:30 svn Note Added: 0000376
2012-01-21 11:31 ycastonguay Note Deleted: 0000376
2012-01-21 11:32 ycastonguay Summary Port the Update Library background worker to Reactive Extensions (multi-threading support) => Use the .NET Async Library to revamp the update library process
2012-01-21 11:33 ycastonguay Summary Use the .NET Async Library to revamp the update library process => Use the .NET Async Library to add multithreading to the Update Library process
2012-01-25 14:08 ycastonguay Target Version 0.5.2.0 => 0.7.1.0
2012-02-18 11:37 ycastonguay Target Version 0.7.1.0 => 0.8.0.0
2013-05-22 22:08 ycastonguay Target Version 0.8.0.0 => 0.7.0.0
2013-05-22 22:08 ycastonguay Summary Use the .NET Async Library to add multithreading to the Update Library process => Add multithreading to the Update Library process


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker