MantisBT - MPfm
View Issue Details
0000148MPfmPlayerpublic2011-10-17 20:032011-10-30 12:23
ycastonguay 
ycastonguay 
immediatefeatureN/A
resolvedfixed 
 
0.4.5.10.4.5.1 
0000148: PlaybackEngineV4 - Make a gapless player prototype with the BASS.NET library
Try the BASS.NET library and see if there is another approach that could be used, such as using a custom callback which would feed a stream instead of synchronizing channels.
A sample on how to do it:
http://www.un4seen.com/forum/?topic=2050.msg13435#msg13435 [^]
No tags attached.
Issue History
2011-10-17 20:03ycastonguayNew Issue
2011-10-17 20:03ycastonguayStatusnew => assigned
2011-10-17 20:03ycastonguayAssigned To => ycastonguay
2011-10-17 21:10svnCheckin
2011-10-17 21:10svnNote Added: 0000110
2011-10-17 22:12svnCheckin
2011-10-17 22:12svnNote Added: 0000111
2011-10-17 23:02svnCheckin
2011-10-17 23:02svnNote Added: 0000112
2011-10-19 16:11svnCheckin
2011-10-19 16:11svnNote Added: 0000113
2011-10-19 16:12svnCheckin
2011-10-19 16:12svnNote Added: 0000114
2011-10-19 16:12ycastonguayNote Deleted: 0000114
2011-10-19 16:12ycastonguayNote Deleted: 0000113
2011-10-19 16:13svnCheckin
2011-10-19 16:13svnNote Added: 0000115
2011-10-19 16:13svnCheckin
2011-10-19 16:13svnNote Added: 0000116
2011-10-19 16:13svnCheckin
2011-10-19 16:13svnNote Added: 0000117
2011-10-19 19:37svnCheckin
2011-10-19 19:37svnNote Added: 0000118
2011-10-22 08:10svnCheckin
2011-10-22 08:10svnNote Added: 0000119
2011-10-22 09:00svnCheckin
2011-10-22 09:00svnNote Added: 0000120
2011-10-22 14:53svnCheckin
2011-10-22 14:53svnNote Added: 0000121
2011-10-22 16:03svnCheckin
2011-10-22 16:03svnNote Added: 0000122
2011-10-22 16:57svnCheckin
2011-10-22 16:57svnNote Added: 0000123
2011-10-22 17:45ycastonguayNote Added: 0000124
2011-10-22 18:12ycastonguayNote Edited: 0000124bug_revision_view_page.php?bugnote_id=124#r43
2011-10-22 18:12svnCheckin
2011-10-22 18:12svnNote Added: 0000125
2011-10-22 18:13ycastonguayNote Added: 0000126
2011-10-23 00:59svnCheckin
2011-10-23 00:59svnNote Added: 0000127
2011-10-23 01:00ycastonguayNote Edited: 0000123bug_revision_view_page.php?bugnote_id=123#r45
2011-10-23 01:28svnCheckin
2011-10-23 01:28svnNote Added: 0000128
2011-10-23 03:05svnCheckin
2011-10-23 03:05svnNote Added: 0000129
2011-10-23 11:24svnCheckin
2011-10-23 11:24svnNote Added: 0000130
2011-10-23 17:43svnCheckin
2011-10-23 17:43svnNote Added: 0000131
2011-10-26 18:17svnCheckin
2011-10-26 18:17svnNote Added: 0000132
2011-10-26 21:20svnCheckin
2011-10-26 21:20svnNote Added: 0000133
2011-10-26 21:22ycastonguayNote Edited: 0000133bug_revision_view_page.php?bugnote_id=133#r47
2011-10-29 10:25svnCheckin
2011-10-29 10:25svnNote Added: 0000134
2011-10-29 10:45svnCheckin
2011-10-29 10:45svnNote Added: 0000135
2011-10-29 12:59ycastonguayPriorityhigh => immediate
2011-10-29 13:11ycastonguaySummaryMake a gapless player prototype with the BASS.NET library => PlaybackEngineV4 - Make a gapless player prototype with the BASS.NET library
2011-10-29 13:18ycastonguayTarget Version0.4.5.0 => 0.4.5.1
2011-10-29 17:25ycastonguayTarget Version0.4.5.1 => 0.4.6.0
2011-10-30 07:07svnCheckin
2011-10-30 07:07svnNote Added: 0000150
2011-10-30 09:32svnCheckin
2011-10-30 09:32svnNote Added: 0000151
2011-10-30 12:22ycastonguayNote Added: 0000152
2011-10-30 12:22ycastonguayTarget Version0.4.6.0 => 0.4.5.1
2011-10-30 12:23ycastonguayStatusassigned => resolved
2011-10-30 12:23ycastonguayFixed in Version => 0.4.5.1
2011-10-30 12:23ycastonguayResolutionopen => fixed

Notes
(0000110)
svn   
2011-10-17 21:10   
The user admin has checked in files related to this issue (revision 46).

Comment:
Add initial support for Bass.Net (Stream, System, Exception), and start working on PlayerV4 (Bass.Net prototype)
Related to the issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
A MPfm/branches/current/MPfm.Library/PlayerV4.cs
A MPfm/branches/current/MPfm.Sound/Bass.Net/
A MPfm/branches/current/MPfm.Sound/Bass.Net/Exception.cs
A MPfm/branches/current/MPfm.Sound/Bass.Net/Stream.cs
A MPfm/branches/current/MPfm.Sound/Bass.Net/System.cs
A MPfm/branches/current/MPfm.Sound/Lib/Bass.Net.dll
A MPfm/branches/current/MPfm.Sound/Lib/bass.dll
A MPfm/branches/current/MPfm.Sound/Lib/bass_fx.dll
A MPfm/branches/current/MPfm.Sound/Lib/bassflac.dll
A MPfm/branches/current/MPfm.Sound/Lib/fmodex.dll
U MPfm/branches/current/MPfm.Sound/MPfm.Sound.csproj
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs

(0000111)
svn   
2011-10-17 22:12   
The user admin has checked in files related to this issue (revision 48).

Comment:
More work on the Bass.Net wrapper.
Related to issue 0000148.

Files modified:
A MPfm/branches/current/MPfm.Library/Lib/Bass.Net.dll
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
A MPfm/branches/current/MPfm.Sound/Bass.Net/Channel.cs
D MPfm/branches/current/MPfm.Sound/Bass.Net/Stream.cs
U MPfm/branches/current/MPfm.Sound/MPfm.Sound.csproj

(0000112)
svn   
2011-10-17 23:02   
The user admin has checked in files related to this issue (revision 49).

Comment:
PlaybackEngineV4Demo -- Added Pause, Stop, and dynamic loading
Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPFM.sln
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Channel.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/System.cs
D MPfm/branches/current/PlaybackEngineV3/PlaybackEngineV3.csproj
A MPfm/branches/current/PlaybackEngineV3/PlaybackEngineV4.csproj
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.resx

(0000115)
svn   
2011-10-19 16:13   
The user admin has checked in files related to this issue (revision 50). This check-in will automatically fix this issue.

Comment:
PlaybackEngineV4 0.1.2.0
Fixed random crash caused by declaring the callback variable inside the PlayFiles method instead of inside the PlayerV4 class.
So far it seems to have fixed the problem.
Reference: http://www.un4seen.com/forum/?topic=7556.0 [^]
Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs

(0000116)
svn   
2011-10-19 16:13   
The user admin has checked in files related to this issue (revision 51). This check-in will automatically fix this issue.

Comment:
PlaybackEngineV4 0.1.3.0 - Added position in time string (0:00.000) and fixed minor bugs.
Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Channel.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs

(0000117)
svn   
2011-10-19 16:13   
The user admin has checked in files related to this issue (revision 52). This check-in will automatically fix this issue.

Comment:
PlaybackEngineV4 0.1.4.0
Fixed bug with AudioFile loading of MP3 (file was in use by BASS.NET)
Also fixed a crash by adding a method invoker on the OnSongFinished event in frmMain.
Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.resx

(0000118)
svn   
2011-10-19 19:37   
The user admin has checked in files related to this issue (revision 53).

Comment:
PlaybackEngineV4 0.1.5.0
Fixed minor UI bugs.
Added looping prototype (works perfectly).
It seems only ChannelGetData has to be validated before switching from FMOD to BASS/BASS.NET.
Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Channel.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs

(0000119)
svn   
2011-10-22 08:10   
The user admin has checked in files related to this issue (revision 55).

Comment:
PlaybackEngineV4 0.1.6.0
UI: Added Time shifting, Next/Prev/Repeat buttons, new status bar update, and more UI bug fixes.
PlayerV4: Added a second constructor to let users specify the mixer sample rate, added RepeatType, MixerSampleRate properties.
Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/System.cs
U MPfm/branches/current/PlaybackEngineV3/PlaybackEngineV4.csproj
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/Resources.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/Resources.resx
A MPfm/branches/current/PlaybackEngineV3/Resources/DataContainer_MoveFirstHS.png
A MPfm/branches/current/PlaybackEngineV3/Resources/DataContainer_MoveLastHS.png
A MPfm/branches/current/PlaybackEngineV3/Resources/RepeatHS.png
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.resx

(0000120)
svn   
2011-10-22 09:00   
The user admin has checked in files related to this issue (revision 56).

Comment:
PlaybackEngineV4 0.1.7.0
UI:
- Misc UI bug fixes
PlayerV4:
- Added IsPlaybackStopped property to the SongFinished event. Fixed a bug where the SongFinished event
- Added the BufferSize and UpdatePeriod properties and added them to the second constructor.
- Added the SetConfig to Channel.
- Now sets the buffer size and update period in the constructor. The default update period value has been lowered to increase the accuracy of SetPosition (100ms to 10ms)

This is related to the issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/System.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs

(0000121)
svn   
2011-10-22 14:53   
The user admin has checked in files related to this issue (revision 57).

Comment:
PlaybackEngineV4 0.2.0.0
PlayerV4:
- Now loading only two channels at once. Added the NextChannel and PreviousChannel property of the PlayerV4Channel object. This replaces the list of channels used in 0.1.x.
- A new timer loads the next song (so it doesn't block the FILEPROC).
- Implemented GoTo which allows to skip to a specific song in the playlist during playback.
- Implemented Previous and Next which use the GoTo method.

This is related to the issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
A MPfm/branches/current/MPfm.Library/PlayerV4Misc.cs
U MPfm/branches/current/MPfm.Sound/AudioFile.cs
U MPfm/branches/current/MPfm.Sound/XingInfoHeaderReader.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs

(0000122)
svn   
2011-10-22 16:03   
The user admin has checked in files related to this issue (revision 58).

Comment:
PlaybackEngineV4 0.2.1.0
UI:
- Now updating the length.
- Now updating the song position trackbar; the song position can also be set.
PlayerV4:
- Added SetPosition and GetLength to channel
- Added GetVolume/SetVolume to System (this controls the system volume, NOT the channel volume)
- Added GetAttribute/SetAttribute to Channel
- Added Volume to Channel (using GetAttribute/SetAttribute)

This is related to the issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Channel.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/System.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.resx

(0000123)
svn   
2011-10-22 16:57   
(edited on: 2011-10-23 01:00)
The user admin has checked in files related to this issue (revision 59).

Comment:
PlaybackEngineV4 0.2.2.0
PlayerV4:
- Added channel sync support (SYNCPROC, SetSync, RemoveSync).
Did a test with BASS_SYNC_MIXTIME and BASS_SYNC_END and it would be a good solution for the Song repeat type.

Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Channel.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs

(0000124)
ycastonguay   
2011-10-22 17:45   
(edited on: 2011-10-22 18:12)
Important: So far, using the Tempo_FX stream kills the "automatic" MP3 gapless playback. Using standard decode stream + prescan works really good.

Maybe look into making a simple FX stream instead of multiple FX streams.

Update: This is exactly what I did and it worked! Yay.

(0000125)
svn   
2011-10-22 18:12   
The user admin has checked in files related to this issue (revision 60).

Comment:
PlaybackEngineV4 0.2.3.0
PlayerV4:
- Implemented time shifting on the main channel.

Related to the issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Channel.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.resx

(0000126)
ycastonguay   
2011-10-22 18:13   
The time shifting quality sucks compared to FMOD, maybe I should use a pitch shifter + change frequency like in Player V2, instead of using the tempo attribute from BASS.NET.
(0000127)
svn   
2011-10-23 00:59   
The user admin has checked in files related to this issue (revision 61).

Comment:
PlaybackEngineV4 0.2.4.0
PlayerV4:
- Added 18-band equalizer with default values for now.

Related to the issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4.cs
U MPfm/branches/current/MPfm.Library/PlayerV4Misc.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Channel.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
U MPfm/branches/current/TestControls/app.config

(0000128)
svn   
2011-10-23 01:28   
The user admin has checked in files related to this issue (revision 62).

Comment:
PlaybackEngineV4 0.2.5.0
PlayerV4:
- Added the MPfm.Library.PlayerV4 namespace and removed PlayerV4 from all class names.
- Renamed PlayerV4Channel to Song.
- Added and changed lots of comments.

Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
A MPfm/branches/current/MPfm.Library/PlayerV4/
A MPfm/branches/current/MPfm.Library/PlayerV4/EQPreset.cs
A MPfm/branches/current/MPfm.Library/PlayerV4/EQPresetBand.cs
A MPfm/branches/current/MPfm.Library/PlayerV4/Events.cs
A MPfm/branches/current/MPfm.Library/PlayerV4/Player.cs
A MPfm/branches/current/MPfm.Library/PlayerV4/Song.cs
D MPfm/branches/current/MPfm.Library/PlayerV4.cs
D MPfm/branches/current/MPfm.Library/PlayerV4Misc.cs
U MPfm/branches/current/PlaybackEngineV3/PlaybackEngineV4.csproj
U MPfm/branches/current/PlaybackEngineV3/Program.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/Resources.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/Settings.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.resx

(0000129)
svn   
2011-10-23 03:05   
The user admin has checked in files related to this issue (revision 63).

Comment:
PlaybackEngineV4 0.3.0.0
UI:
- Redesigned most of the interface.
- Added the EQ group which lists all 18 bands of the EQ and lets the user read/set the gain and other EQ parameters.
- Added the Loop group which lets the user play/stop a simple loop on the currently playing channel.
PlayerV4:
- Finished work on EQ presets. Added ResetEQ to Player.
- Added Loops & Markers. Added StartLoop/StopLoop. Loops are working very well.

Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
U MPfm/branches/current/MPfm.Library/PlayerV4/EQPreset.cs
A MPfm/branches/current/MPfm.Library/PlayerV4/Loop.cs
A MPfm/branches/current/MPfm.Library/PlayerV4/Marker.cs
U MPfm/branches/current/MPfm.Library/PlayerV4/Player.cs
U MPfm/branches/current/MPfm.Library/PlayerV4/Song.cs
U MPfm/branches/current/PlaybackEngineV3/PlaybackEngineV4.csproj
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/Resources.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/Resources.resx
A MPfm/branches/current/PlaybackEngineV3/Resources/chart_bar_edit.png
A MPfm/branches/current/PlaybackEngineV3/Resources/chart_bar_error.png
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.resx

(0000130)
svn   
2011-10-23 11:24   
The user admin has checked in files related to this issue (revision 64).

Comment:
PlaybackEngineV4 0.3.1.0
UI:
- Minor bug fixes
PlayerV4:
- Implemented RepeatType (Off, Song, Playlist), every mode now works perfectly.

Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4/Player.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.resx

(0000131)
svn   
2011-10-23 17:43   
The user admin has checked in files related to this issue (revision 65).

Comment:
PlaybackEngineV4 0.4.0.0
UI:
- Added Settings window with Sound Card Settings and Audio Settings sections.
PlayerV4:
- Added UpdatePeriod, UpdateThread, BufferSize properties
BassNetWrapper:
- Added the Device and DeviceHelper classes. These classes are used for detecting audio devices on the system.
- Added the TestDevice class. This is used to test playback on an audio device.

Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4/Player.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Channel.cs
A MPfm/branches/current/MPfm.Sound/Bass.Net/Device.cs
A MPfm/branches/current/MPfm.Sound/Bass.Net/DeviceHelper.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Exception.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/System.cs
A MPfm/branches/current/MPfm.Sound/Bass.Net/TestDevice.cs
A MPfm/branches/current/MPfm.Sound/Lib/bassasio.dll
A MPfm/branches/current/MPfm.Sound/Lib/basswasapi.dll
U MPfm/branches/current/MPfm.Sound/MPfm.Sound.csproj
U MPfm/branches/current/PlaybackEngineV3/PlaybackEngineV4.csproj
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/Resources.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/Resources.resx
A MPfm/branches/current/PlaybackEngineV3/Resources/asterisk_orange.png
A MPfm/branches/current/PlaybackEngineV3/Resources/cog.png
A MPfm/branches/current/PlaybackEngineV3/Resources/disk.png
A MPfm/branches/current/PlaybackEngineV3/Resources/sound.png
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
A MPfm/branches/current/PlaybackEngineV3/frmSettings.Designer.cs
A MPfm/branches/current/PlaybackEngineV3/frmSettings.cs
A MPfm/branches/current/PlaybackEngineV3/frmSettings.resx

(0000132)
svn   
2011-10-26 18:17   
The user admin has checked in files related to this issue (revision 66).

Comment:
PlaybackEngineV4 0.4.1.0
UI:
- Fixed the crash bug when swapping devices in Settings and going back to the player.
PlayerV4:
- Revamped the initialization methods completely. You can now free devices without having to dispose the class.
BassWrapper:
- More work on the TestDevice class. Made it a lot more simple with all 3 callbacks using the same code (GetData).

Related to issue 0000148.

Files modified:
A MPfm/branches/current/MPfm.Core/Config.cs
U MPfm/branches/current/MPfm.Core/MPfm.Core.csproj
U MPfm/branches/current/MPfm.Library/PlayerV4/Player.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Channel.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/System.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/TestDevice.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
U MPfm/branches/current/PlaybackEngineV3/frmSettings.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmSettings.cs

(0000133)
svn   
2011-10-26 21:20   
(edited on: 2011-10-26 21:22)
The user admin has checked in files related to this issue (revision 67).

Comment:
PlaybackEngineV4 0.4.2.0
PlayerV4:
- Implemented ASIO and WASAPI.
  ASIO works so far!... except for a bug with sample rate on M-Audio drivers. The playback is way too fast.
  WASAPI doesn't crash but the playback is too quick and there is no sound. Weird because in TestDevice it works.
- TestDevice bug fixes/optimizations

Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/PlayerV4/Player.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/Device.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/System.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/TestDevice.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmSettings.cs

(0000134)
svn   
2011-10-29 10:25   
The user admin has checked in files related to this issue (revision 68).

Comment:
PlaybackEngineV4 0.4.3.0
UI:
- The Settings window now load/saves configuration to file.
- The Settings window now detects changes and offers the user to save only if the settings have changed.
- The Settings window now detects if a new sound card configuration hasn't been tested.
- The application startup now reads the configuration file and initializes the player using the deviceName/driverType from the configuration file.
BassNetWrapper:
- Added FindDevices to DeviceHelper. This helps find the current deviceId by the deviceName and its driverType.
- Fixed a bug in Init (wasn't taking the deviceId parameter).

Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Core/Config.cs
U MPfm/branches/current/MPfm.Library/PlayerV4/Player.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/DeviceHelper.cs
U MPfm/branches/current/MPfm.Sound/Bass.Net/System.cs
A MPfm/branches/current/PlaybackEngineV3/App.config
A MPfm/branches/current/PlaybackEngineV3/ConfigData.cs
U MPfm/branches/current/PlaybackEngineV3/PlaybackEngineV4.csproj
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
U MPfm/branches/current/PlaybackEngineV3/frmSettings.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmSettings.cs

(0000135)
svn   
2011-10-29 10:45   
The user admin has checked in files related to this issue (revision 69).

Comment:
PlaybackEngineV4 0.4.4.0
UI:
- The ConfigData now detects/sets minimum/maximum values, so that BASS.NET doesn't crash with invalid values.
- The ConfigData now detects if some of the nodes don't exist (it sets the default value)
BassNetWrapper:
- Added GetDefaultDirectSoundOutputDevice and GetDefaultWASAPIOutputDevice methods to the DeviceHelper class.

Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Sound/Bass.Net/DeviceHelper.cs
U MPfm/branches/current/PlaybackEngineV3/ConfigData.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs

(0000150)
svn   
2011-10-30 07:07   
The user admin has checked in files related to this issue (revision 77).

Comment:
PlaybackEngineV4 0.5.0.0
- Replaced Channel with NextChannel/PrevChannel by a Playlist object which contains PlaylistItems.
- It still loads only two channels at a time, and everything works like in 0.4.x. This is a big change.
- Dynamic inserting isn't supported yet, but now it will be easy to implement.

This is related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
U MPfm/branches/current/MPfm.Library/PlayerV4/Player.cs
A MPfm/branches/current/MPfm.Library/PlayerV4/Playlist.cs
A MPfm/branches/current/MPfm.Library/PlayerV4/PlaylistItem.cs
U MPfm/branches/current/MPfm.Library/PlayerV4/Song.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs

(0000151)
svn   
2011-10-30 09:32   
The user admin has checked in files related to this issue (revision 78).

Comment:
PlaybackEngineV4 0.5.1.0
UI:
- Added marker on the playlist list box to indicate the currently playing song.
- Added "Insert audio file at this position" and "Remove audio file" buttons for playlist.
Player:
- Playlist.CurrentItem: instead of using the index, which can change over time and crash the decode stream callback, the Playlist methods now set it manually.
- Added Insert and Remove for adding or removing playlist items during playback. It seems to be working fine so far.
- More work on the Playlist/PlaylistItem classes.
- Removed the Song class.
- Removed PlayerV4 from the event data classes names.

Related to issue 0000148.

Files modified:
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
U MPfm/branches/current/MPfm.Library/PlayerV4/Events.cs
U MPfm/branches/current/MPfm.Library/PlayerV4/Player.cs
U MPfm/branches/current/MPfm.Library/PlayerV4/Playlist.cs
U MPfm/branches/current/MPfm.Library/PlayerV4/PlaylistItem.cs
D MPfm/branches/current/MPfm.Library/PlayerV4/Song.cs
U MPfm/branches/current/PlaybackEngineV3/Properties/AssemblyInfo.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.Designer.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.cs
U MPfm/branches/current/PlaybackEngineV3/frmMain.resx

(0000152)
ycastonguay   
2011-10-30 12:22   
Now that dynamic playlist is working perfectly, it is time to declare this prototype... the final solution for gapless playback! Time to close this item and start integrating the PlaybackEngineV4 into MPfm.