|Anonymous | Login | Signup for a new account||2023-03-30 06:35 PDT|
|Main | My View | View Issues | Change Log | Roadmap | Repositories | My Account|
|View Issue Details [ Jump to Notes ]||[ Issue History ] [ Print ]|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000302||MPfm||[All Projects] Global||public||2012-02-26 22:26||2013-06-24 12:53|
|Target Version||0.7.0.0||Fixed in Version||0.6.0.0|
|Summary||0000302: Add support for multiple platforms using the Mono Framework (Linux, OS X, iOS, Android)|
|Description||Mono is a C# cross platform open source implementation of .NET. It supports WinForms. http://www.mono-project.com/Main_Page [^]|
Converting to Mono would make the application work on Linux and Mac OS X, *IF* the third party libraries can work on those platforms. They all theoretically support these platforms, but that doesn't mean they work under Mono on those platforms.
I ran the MoMA test (Mono Migration Analyzer) and it seems that converting to Mono wouldn't be that bad after all. The errors it gave are 98% because of using the Win32 version of bass.dll (P/Invoke). According to this thread (http://www.un4seen.com/forum/?topic=7260.0;hl=mono+linux [^]) if the Linux version is used, there are no P/Invoke problems.
The prototype is sufficiently advanced to say that a Mono version will be done!
|Tags||No tags attached.|
|Attached Files||output.html [^] (440,936 bytes) 2012-02-26 22:27|
|The Async framework and Reactive Extensions might not work at all under Mono.|
edited on: 2012-02-29 18:15
After some testing, I was able to do a very simple prototype with the BASS library. It indeed works using Mono on Linux and Mac OS X.
The next step is deciding on a UI framework. Technically, Mono supports Windows Forms but when I tried to run MPfm on Mono, the designer.cs files gave a lot of errors. The SplitContainer does not seem to be supported.
So maybe WinForms can be kept for Windows, but GTK could be used for Linux and Mac. MonoMac + Cocoa can be used for Mac too; it doesn't require a UI framework to run, only Mono installed. The native controls are used instead. However, that would mean a different UI toolkit for each platform.
I'm also looking at what can be bundled as an app for the Mac App Store (Mono, GTK). If GTK can be used, that could be a better idea than having 3 different UI toolkits.
Mono supports SQLite natively for .NET 4.0. The code seems slightly different than what is used in Windows though, so maybe an interface should be added to the Gateway class.
|I've pushed the prototype further and now the Player class is 90% functional under Mono. The gapless playback and sync points work so far on Linux.|
|2012-02-26 22:26||ycastonguay||New Issue|
|2012-02-26 22:26||ycastonguay||Status||new => assigned|
|2012-02-26 22:26||ycastonguay||Assigned To||=> ycastonguay|
|2012-02-26 22:27||ycastonguay||Description Updated||View Revisions|
|2012-02-26 22:27||ycastonguay||File Added: output.html|
|2012-02-26 22:29||ycastonguay||Note Added: 0000447|
|2012-02-29 17:05||ycastonguay||Note Added: 0000448|
|2012-02-29 18:14||ycastonguay||Note Added: 0000449|
|2012-02-29 18:15||ycastonguay||Note Edited: 0000448||View Revisions|
|2012-03-10 07:27||ycastonguay||Note Added: 0000469|
|2012-03-10 08:53||ycastonguay||Note Deleted: 0000469|
|2012-03-11 19:24||ycastonguay||Note Added: 0000471|
|2012-03-11 19:24||ycastonguay||Status||assigned => resolved|
|2012-03-11 19:24||ycastonguay||Fixed in Version||=> 0.6.0.0|
|2012-03-11 19:24||ycastonguay||Resolution||open => fixed|
|2012-03-11 19:35||ycastonguay||Status||resolved => assigned|
|2012-03-11 19:36||ycastonguay||Summary||Check if the project could be converted to Mono (support for Linux and Mac OS X) => Add support for the Mono Framework (support for Linux and Mac OS X)|
|2012-03-11 19:36||ycastonguay||Description Updated||View Revisions|
|2012-03-11 19:37||ycastonguay||Relationship added||parent of 0000306|
|2012-03-11 19:37||ycastonguay||Relationship added||parent of 0000305|
|2012-03-11 19:38||ycastonguay||Relationship added||parent of 0000303|
|2012-03-11 19:38||ycastonguay||Relationship added||parent of 0000304|
|2012-03-11 22:33||ycastonguay||Relationship added||parent of 0000308|
|2012-03-11 22:34||ycastonguay||Relationship added||parent of 0000309|
|2012-03-20 21:00||ycastonguay||Target Version||0.6.0.0 => 0.7.0.0|
|2012-03-31 09:53||ycastonguay||Relationship added||parent of 0000323|
|2012-03-31 09:53||ycastonguay||Relationship added||parent of 0000322|
|2012-03-31 09:54||ycastonguay||Relationship added||parent of 0000324|
|2012-06-09 14:18||ycastonguay||Relationship added||parent of 0000381|
|2012-06-09 14:20||ycastonguay||Relationship added||parent of 0000382|
|2012-07-03 20:09||ycastonguay||Relationship added||parent of 0000394|
|2013-01-11 17:55||ycastonguay||Summary||Add support for the Mono Framework (support for Linux and Mac OS X) => Add support for multiple platforms using the Mono Framework (Linux, OS X, iOS, Android)|
|2013-01-11 17:59||ycastonguay||Relationship added||parent of 0000405|
|2013-01-11 18:14||ycastonguay||Relationship added||parent of 0000406|
|2013-06-24 12:53||ycastonguay||Relationship added||parent of 0000422|
|Copyright © 2000 - 2011 MantisBT Group|