MantisBT - MPfm
View Issue Details
0000324MPfmMVPpublic2012-03-31 09:522013-04-10 17:53
ycastonguay 
ycastonguay 
highfeatureN/A
assignedopen 
 
0.7.0.0 
0000324: Use a MVP-style pattern to centralize code for UI on multiple platforms
Add the MPfm.MVP project to the solution. This project will contain the classes using a MVP-style pattern for sharing as much code as possible for the UI on multiple platforms (Windows, Mac OS X, Linux).
No tags attached.
parent of 0000361assigned ycastonguay Add view/presenter for Player user interface (IPlayerPresenter/IPlayerView) 
parent of 0000364assigned ycastonguay Add view/presenter for Update Library user interface (IUpdateLibraryPresenter/IUpdateLibraryView) 
parent of 0000366assigned ycastonguay Add the ILibraryService to manage access to the library 
parent of 0000367resolved ycastonguay Add the IUpdateLibraryService to update the library and notify UI elements 
parent of 0000373assigned ycastonguay Add view/presenter for desktop Library Browser (ILibraryBrowserPresenter/ILibraryBrowserView) 
parent of 0000374assigned ycastonguay Add view/presenter for desktop Song Browser (ISongBrowserPresenter/ISongBrowserView) 
parent of 0000375assigned ycastonguay Add the IAudioFileCacheService to cache audio file metadata 
parent of 0000376assigned ycastonguay Add the IInitializationService for initializing the application 
parent of 0000384assigned ycastonguay Add view/presenter for Loops user interface (ILoopsPresenter/ILoopsView) 
parent of 0000386assigned ycastonguay Add view/presenter for Markers user interface (IMarkersPresenter/IMarkersView) 
parent of 0000388assigned ycastonguay Add view/presenter for Edit Metadata user interface (IEditMetadataPresenter/IEditMetadataView) 
parent of 0000385assigned ycastonguay Add view/presenter for Edit Loop user interface (ILoopDetailPresenter/ILoopDetailView) 
parent of 0000387assigned ycastonguay Add view/presenter for Edit Marker user interface (IMarkerDetailPresenter/IMarkerDetailView) 
parent of 0000396assigned ycastonguay Add the IPlayerService to manage player status broadcasting 
parent of 0000397assigned ycastonguay Add view/presenter for Equalizer Presets user interface (IEqualizerPresetsPresenter/IEqualizerPresetsView) 
parent of 0000400assigned ycastonguay Add view/presenter for Preferences desktop window (IPreferencesPresenter/IPreferencesView) 
parent of 0000402assigned ycastonguay Add view/presenter for Playlist user interface (IPlaylistPresenter/IPlaylistView) 
parent of 0000404assigned ycastonguay Add a NavigationManager to manage the view creation, destruction and transitions on desktop devices 
parent of 0000408assigned ycastonguay Add view/presenter for mobile Library Browser (IMobileLibraryBrowserPresenter/IMobileLibraryBrowserView) 
parent of 0000409assigned ycastonguay Add a MobileNavigationManager to manage the view creation, destruction and transitions on mobile devices 
parent of 0000411assigned ycastonguay Add view/presenter for Library Preferences user interface (ILibraryPreferencesPresenter/ILibraryPreferencesView) 
parent of 0000412assigned ycastonguay Add view/presenter for General Preferences user interface (IGeneralPreferencesPresenter/IGeneralPreferencesView) 
parent of 0000410assigned ycastonguay Add view/presenter for Audio Preferences user interface (IAudioPreferencesPresenter/IAudioPreferencesView) 
parent of 0000413assigned ycastonguay Add view/presenter for Time Shifting user interface (ITimeShiftingPresenter/ITimeShiftingView) 
parent of 0000414assigned ycastonguay Add view/presenter for Pitch Shifting user interface (IPitchShiftingPresenter/IPitchShiftingView) 
parent of 0000415assigned ycastonguay Add view/presenter for Player Metadata user interface (IPlayerMetadataPresenter/IPlayerMetadataView) 
parent of 0000416assigned ycastonguay Add view/presenter for Player Status user interface (IPlayerStatusPresenter/IPlayerStatusView) 
parent of 0000417assigned ycastonguay Add view/presenter for Equalizer Preset Details user interface (IEqualizerPresetDetailsPresenter/IEqualizerPresetDetailsView) 
child of 0000302assigned ycastonguay Add support for multiple platforms using the Mono Framework (Linux, OS X, iOS, Android) 
Not all the children of this issue are yet resolved or closed.
Issue History
2012-03-31 09:52ycastonguayNew Issue
2012-03-31 09:52ycastonguayStatusnew => assigned
2012-03-31 09:52ycastonguayAssigned To => ycastonguay
2012-03-31 09:54ycastonguayRelationship addedchild of 0000302
2012-04-02 19:40svnCheckin
2012-04-02 19:40svnNote Added: 0000542
2012-04-02 19:49svnCheckin
2012-04-02 19:49svnNote Added: 0000543
2012-04-02 20:32svnCheckin
2012-04-02 20:32svnNote Added: 0000544
2012-04-02 21:52svnCheckin
2012-04-02 21:52svnNote Added: 0000545
2012-04-22 10:17ycastonguayCategoryGlobal => UI
2012-04-24 20:54ycastonguayCategoryUI => (No Category)
2012-05-01 19:46svnCheckin
2012-05-01 19:46svnNote Added: 0000648
2012-05-13 00:49svnCheckin
2012-05-13 00:49svnNote Added: 0000667
2012-05-13 00:50svnCheckin
2012-05-13 00:50svnNote Added: 0000668
2012-05-13 00:58svnCheckin
2012-05-13 00:58svnNote Added: 0000669
2012-05-13 11:41ycastonguayCategory(No Category) => MVP | Models
2012-05-13 11:41ycastonguayTarget Version0.7.0.0 => 0.7.2.0
2012-05-13 11:41ycastonguayDescription Updatedbug_revision_view_page.php?rev_id=176#r176
2012-05-13 11:44ycastonguayCategoryMVP | Models => UI
2012-05-13 12:03ycastonguayRelationship addedparent of 0000360
2012-05-13 12:03ycastonguayRelationship addedparent of 0000363
2012-05-13 12:03ycastonguayRelationship addedparent of 0000361
2012-05-13 12:03ycastonguayRelationship addedparent of 0000362
2012-05-13 12:04ycastonguayRelationship addedparent of 0000364
2012-05-13 12:06svnCheckin
2012-05-13 12:06svnNote Added: 0000670
2012-05-13 13:22svnCheckin
2012-05-13 13:22svnNote Added: 0000673
2012-05-13 16:52ycastonguayRelationship addedparent of 0000365
2012-05-13 21:34ycastonguayRelationship addedparent of 0000366
2012-05-13 21:34ycastonguayRelationship addedparent of 0000367
2012-05-19 11:23ycastonguayRelationship addedparent of 0000369
2012-05-27 13:13ycastonguayCategoryUI => MVP
2012-05-27 13:13ycastonguayTarget Version0.7.2.0 => 0.7.0.0
2012-05-27 16:27ycastonguayRelationship addedparent of 0000371
2012-05-27 16:27ycastonguayRelationship addedparent of 0000372
2012-05-27 16:33ycastonguayRelationship addedparent of 0000373
2012-05-27 18:29ycastonguayRelationship addedparent of 0000374
2012-05-27 21:35ycastonguayRelationship addedparent of 0000375
2012-05-29 21:53ycastonguayRelationship addedparent of 0000376
2012-06-03 11:04ycastonguayRelationship addedparent of 0000377
2012-06-03 11:05ycastonguayRelationship addedparent of 0000378
2012-07-01 16:39ycastonguayRelationship addedparent of 0000384
2012-07-01 16:39ycastonguayRelationship addedparent of 0000386
2012-07-01 16:39ycastonguayRelationship addedparent of 0000388
2012-07-01 16:39ycastonguayRelationship addedparent of 0000385
2012-07-01 16:39ycastonguayRelationship addedparent of 0000387
2012-07-01 16:45ycastonguayRelationship addedparent of 0000392
2012-07-01 16:45ycastonguayRelationship addedparent of 0000393
2012-07-01 16:45ycastonguayRelationship addedparent of 0000391
2012-07-01 16:45ycastonguayRelationship addedparent of 0000389
2012-07-01 16:45ycastonguayRelationship addedparent of 0000390
2012-09-20 19:37ycastonguayRelationship addedparent of 0000396
2012-09-21 17:37ycastonguayRelationship addedparent of 0000397
2012-09-21 17:52ycastonguayRelationship addedparent of 0000398
2012-09-21 18:02ycastonguayRelationship addedparent of 0000399
2012-09-21 18:05ycastonguayRelationship addedparent of 0000400
2012-09-21 18:12ycastonguayRelationship addedparent of 0000401
2012-09-21 18:15ycastonguayRelationship addedparent of 0000402
2012-11-11 22:49svnCheckin
2012-11-11 22:49svnNote Added: 0000859
2012-12-02 18:01ycastonguayRelationship addedparent of 0000404
2013-02-13 18:23ycastonguayRelationship addedparent of 0000408
2013-02-13 18:25ycastonguayRelationship addedchild of 0000409
2013-02-13 18:25ycastonguayRelationship deletedchild of 0000409
2013-02-13 18:25ycastonguayRelationship addedparent of 0000409
2013-02-23 13:59ycastonguayRelationship addedparent of 0000411
2013-02-23 13:59ycastonguayRelationship addedparent of 0000412
2013-02-23 14:00ycastonguayRelationship addedparent of 0000410
2013-02-23 14:02ycastonguayRelationship addedparent of 0000413
2013-02-23 14:02ycastonguayRelationship addedparent of 0000414
2013-03-27 18:35ycastonguayRelationship addedparent of 0000415
2013-03-27 18:36ycastonguayRelationship addedchild of 0000416
2013-03-27 18:36ycastonguayRelationship deletedchild of 0000416
2013-03-27 18:36ycastonguayRelationship addedparent of 0000416
2013-04-10 17:53ycastonguayRelationship addedparent of 0000417

Notes
(0000542)
svn   
2012-04-02 19:40   
The user animal has checked in files related to this issue (revision 383).

Comment:
MPfm 0.6.0.0
- Created and added the MPfm.UI project to the solution.

Related to issue 0000324.



Files modified:
U MPfm/branches/current/MPFM.sln
U MPfm/branches/current/MPfm/MPfm.csproj
A MPfm/branches/current/MPfm.UI/
A MPfm/branches/current/MPfm.UI/MPfm.UI.csproj
A MPfm/branches/current/MPfm.UI/PlayerPositionEntity.cs
A MPfm/branches/current/MPfm.UI/Properties/
A MPfm/branches/current/MPfm.UI/Properties/AssemblyInfo.cs
(0000543)
svn   
2012-04-02 19:49   
The user animal has checked in files related to this issue (revision 384).

Comment:
MPfm 0.6.0.0
- Converted the MPfm.UI project to MonoDevelop
- Added the MPfm.UI project to the MPfm_Linux solution

Related to issue 0000324.


Files modified:
U MPfm/branches/current/MPfm.UI/MPfm.UI.csproj
U MPfm/branches/current/MPfm_Linux.sln
(0000544)
svn   
2012-04-02 20:32   
The user animal has checked in files related to this issue (revision 385).

Comment:
MPfm 0.6.0.0
- MPfm.Core: Added the OS class from the Test repository.
- MPfm.UI: Added the MainWindowController and PlayerPositionEntity classes from the Test repository.

Related to issue 0000324.


Files modified:
U MPfm/branches/current/MPfm.Core/MPfm.Core.csproj
A MPfm/branches/current/MPfm.Core/OS.cs
A MPfm/branches/current/MPfm.UI/Controllers/
A MPfm/branches/current/MPfm.UI/Controllers/MainWindowController.cs
U MPfm/branches/current/MPfm.UI/MPfm.UI.csproj
A MPfm/branches/current/MPfm.UI/Models/
A MPfm/branches/current/MPfm.UI/Models/PlayerPositionEntity.cs
D MPfm/branches/current/MPfm.UI/PlayerPositionEntity.cs
(0000545)
svn   
2012-04-02 21:52   
The user animal has checked in files related to this issue (revision 386).

Comment:
MPfm 0.6.0.0
- MPfm.GTK: Re-added the MainWindow class from the Test repository. The UI hasn't been updated.

Related to issue 0000324.


Files modified:
U MPfm/branches/current/MPfm.GTK/AssemblyInfo.cs
U MPfm/branches/current/MPfm.GTK/MPfm.GTK.csproj
U MPfm/branches/current/MPfm.GTK/MainWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/MainWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/gui.stetic
A MPfm/branches/current/MPfm.GTK/icon48.png
U MPfm/branches/current/MPfm_Linux.sln
(0000648)
svn   
2012-05-01 19:46   
The user animal has checked in files related to this issue (revision 469).

Comment:
MPfm 0.6.0.1
* Main Window (GTK)
  - Now loading library on startup
* SQLiteGateway
  - Added support for Mono.Data.SQLite.
* MainWindowController (UI)
  - Added Library object

Related to issue 0000324 and issue 0000353.


Files modified:
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
U MPfm/branches/current/MPfm.Library/MPfm.Library.csproj
D MPfm/branches/current/MPfm.Library/MonoSQLite.cs
U MPfm/branches/current/MPfm.Library/SQLiteGateway.cs
U MPfm/branches/current/MPfm.UI/Controllers/MainWindowController.cs
(0000667)
svn   
2012-05-13 00:49   
The user animal has checked in files related to this issue (revision 484).

Comment:
MPfm 0.6.0.1
* GTK
  - Added more UI elements.
  - Added the UpdateLibrary window.
* UI
  - Renamed MainWindowController to MainWindowPresenter.

Related to issue 0000324.


Files modified:
U MPfm/branches/current/MPfm.GTK/MPfm.GTK.csproj
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
A MPfm/branches/current/MPfm.GTK/Windows/UpdateLibraryWindow.cs
A MPfm/branches/current/MPfm.GTK/gtk-gui/MPfm.GTK.UpdateLibraryWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/gui.stetic
A MPfm/branches/current/MPfm.UI/Controllers/MainWindowPresenter.cs
U MPfm/branches/current/MPfm.UI/MPfm.UI.csproj
(0000668)
svn   
2012-05-13 00:50   
The user animal has checked in files related to this issue (revision 485).

Comment:
MPfm 0.6.0.1
* MVP
  - Renamed UI class library to MVP and renamed several classes.
  - Created the new structure for MVP:
    /Models
    /Presenters
    /Services
    /Views
  - Added IMainView, IMainService, IMainPresenter, IMainView. Most of them are empty for now.
* GTK
  - Renamed objects due to UI to MVP name change.
* Sound
  - Added preprocessor condition for the PeakFile class, so that it is only compiled under Windows (dependent on the Reactive Extensions).

Related to issue 0000324.


Files modified:
U MPfm/branches/current/MPfm.GTK/MPfm.GTK.csproj
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
U MPfm/branches/current/MPfm.GTK/Windows/UpdateLibraryWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/MPfm.GTK.PlaylistWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/MPfm.GTK.SettingsWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/MPfm.GTK.UpdateLibraryWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/gui.stetic
A MPfm/branches/current/MPfm.MVP/
A MPfm/branches/current/MPfm.MVP/AssemblyInfo.cs
A MPfm/branches/current/MPfm.MVP/MPfm.MVP.csproj
A MPfm/branches/current/MPfm.MVP/Models/
A MPfm/branches/current/MPfm.MVP/Models/PlayerPositionEntity.cs
A MPfm/branches/current/MPfm.MVP/Presenters/
A MPfm/branches/current/MPfm.MVP/Presenters/MainPresenter.cs
A MPfm/branches/current/MPfm.MVP/Presenters/UpdateLibraryPresenter.cs
A MPfm/branches/current/MPfm.MVP/Services/
A MPfm/branches/current/MPfm.MVP/Services/IMainView.cs
A MPfm/branches/current/MPfm.MVP/Views/
A MPfm/branches/current/MPfm.MVP/Views/IMainView.cs
U MPfm/branches/current/MPfm.Player/MPfm.Player.csproj
U MPfm/branches/current/MPfm.Sound/MPfm.Sound.csproj
U MPfm/branches/current/MPfm.Sound/PeakFile.cs
U MPfm/branches/current/MPfm_Linux.sln
(0000669)
svn   
2012-05-13 00:58   
The user animal has checked in files related to this issue (revision 487).

Comment:
MPfm 0.6.0.1
* Mac
  - Renamed objects due to UI to MVP name change.
  - Added MVP to the solution.

Related to issue 0000324.


Files modified:
U MPfm/branches/current/MPfm.Mac/MPfm.Mac.csproj
U MPfm/branches/current/MPfm.Mac/MainWindowController.cs
A MPfm/branches/current/MPfm.Mac/System.Data.SQLite.dll.config
U MPfm/branches/current/MPfm_Mac.sln
(0000670)
svn   
2012-05-13 12:06   
The user animal has checked in files related to this issue (revision 488).

Comment:
MPfm 0.6.0.1
* MVP
  - Added IUpdateLibraryPresenter and UpdateLibraryPresenter.
  - IMainPresenter/MainPresenter: Implemented most playback methods.
* GTK
  - Updated IMainView implementation.

Related to issue 0000324, issue #360 and issue 0000364.


Files modified:
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/MPfm.GTK.PlaylistWindow.cs
U MPfm/branches/current/MPfm.MVP/MPfm.MVP.csproj
A MPfm/branches/current/MPfm.MVP/Presenters/IMainPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/MainPresenter.cs
A MPfm/branches/current/MPfm.MVP/Services/IMainService.cs
D MPfm/branches/current/MPfm.MVP/Services/IMainView.cs
U MPfm/branches/current/MPfm.MVP/Views/IMainView.cs
A MPfm/branches/current/MPfm.MVP/Views/IUpdateLibraryView.cs
(0000673)
svn   
2012-05-13 13:22   
The user animal has checked in files related to this issue (revision 489).

Comment:
MPfm 0.6.0.1
* MVP
  - MainPresenter: Added RefreshSongInformation method
  - Added SongInformationEntity.
  - IMainView: Now using SongInformationEntity for the RefreshSongInformation method.
* GTK
  - Updated IMainView implementation.

Related to issue 0000324, issue #360 and issue 0000364.


Files modified:
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
U MPfm/branches/current/MPfm.MVP/MPfm.MVP.csproj
A MPfm/branches/current/MPfm.MVP/Models/SongInformationEntity.cs
U MPfm/branches/current/MPfm.MVP/Presenters/MainPresenter.cs
U MPfm/branches/current/MPfm.MVP/Views/IMainView.cs
(0000859)
svn   
2012-11-11 22:49   
The user animal has checked in files related to this issue (revision 637).

Comment:
All presenters now use the BindView from BasePresenter.

Related to issue 0000324.


Files modified:
U MPfm/branches/current/MPfm.MVP/Presenters/BasePresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/EffectsPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IBasePresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IEffectsPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ILibraryBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IPlayerPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IPlaylistPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IPreferencesPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ISongBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ISplashPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IUpdateLibraryPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/LibraryBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/PlayerPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/PlaylistPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/PreferencesPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/SongBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/SplashPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/UpdateLibraryPresenter.cs