PresetMagician
master
master
  • Initial page
  • Manual
    • Guides
      • Getting Started
    • Reference
      • Commands
        • Import VST Presets
      • Preset Editor
      • Types/Characteristics Editor
      • Plugin Settings
        • Controller Assignments
        • NKS Resources
      • Global Settings
        • General Settings
        • Preview Note Players
        • VST Workers
        • Database Settings
        • License
    • Concepts
      • PresetMagician Database
      • VST Worker Pool
    • Terminology
    • Support
  • FAQ
    • General
    • Plugin Support
    • Plugin Problems
    • VST Programs Standard
    • NKS - Overview
    • NKS - Details
Powered by GitBook
On this page
  • What are the implications of alpha versions?
  • Development Philosophy
  • Mac OS X Support
  • Introduction and History
  • What are the options?
  • Outlook

Was this helpful?

  1. FAQ

General

PreviousSupportNextPlugin Support

Last updated 6 years ago

Was this helpful?

What are the implications of alpha versions?

is generally considered to be a feature incomplete, possibly unstable version of a software product.

For PresetMagician, this means:

  • The between versions is pretty short (usually between 2 and 4 weeks). Intermediate versions which fix critical bugs are usually released on short notice.

  • A new version could introduce new bugs, but also usually adds several new features

  • PresetMagician could unexpectedly crash or misbehave, or not work at all

  • Due to me (Felicia) being the only developer, I currently do not cycle between alpha and beta versions; PresetMagician will enter the beta stage when I'm satisfied with the feature set

Note that you don't get a guarantee that PresetMagician works for you if you buy a PresetMagician license while it's in the alpha stage. The pre-sale license was introduced to support development.

I try my best to support PresetMagician even during the alpha development stage, so if you encounter a problem, please . I usually respond within 1-2 days.

Development Philosophy

The development philosophy for PresetMagician can be described in short as: Implement features that are useful, cool and ignore profit.

PresetMagician is developed by Felicia Hummel (that's me). Being only a single developer comes with the huge advantage that I can react quickly to feature requests and bug reports. I also don't submit to the common business practice "Only implement features which generates profit". When I develop software, I do so with passion and I always keep my user base in mind.

If you're wondering what happens if I abandon PresetMagician for whichever reason: I will make the full source code of PresetMagician open source, so don't be anxious about it.

Mac OS X Support

Introduction and History

PresetMagician was born out of a personal need. I used tools which made development easy for me. At that time, I didn't think about cross-platform support or even providing PresetMagician to the public, let alone commercial distribution.

I built PresetMagician primarily upon the following technologies and tools:

However, this means that a full port to Mac OS X is not possible, because only a subset of the .NET Framework is available on Mac OS X, and Windows Presentation Foundation (which is the base for Orchestra) is currently not present on Mac OS X at all and most likely never will.

What are the options?

The options for creating cross-platform applications are limited. Some of these options are:

For me being a single developer, the options listed above are out of the question.

Outlook

The prerequisites for PresetMagician on Mac OS X are:

The preliminary roadmap for PresetMagician on OS X is:

  • Implement the GUI for PresetMagician Mac OS X using Xamarin.Mac

Summary: Mac OS X support might come at some point, but currently it's not clear if and when. You can track the on the PresetMagician issue tracker. Make sure you subscribe to the feature request, so you automatically get updates about the development process!

, and

for the graphical user interface

Without these technologies/tools, it wouldn't have been possible to develop PresetMagician to the project that it is today. Development only started in October 2018, and I do not regret the choice of tools. Especially the C# language made development extremely easy and quick, and I have to thank Microsoft for making C# freely available as well as being able to use free of charge. Yes, the community edition may be used even for commercial projects if you're a single developer (like I am).

Using a cross-platform toolkit like . This, however, would require a complete and using as programming language which is way more complex to write software in. At the time I'm writing this FAQ entry, less than 4 months have passed since I started development and PresetMagician already has an impressive set of features and plugin support given the very short amount of development time. Also note that being a for more than 15 years, I did not know anything about C#, let alone how VST works on a technical level or about developing desktop applications. If a single developer (like me) had to rewrite the existing feature set of PresetMagician, I would estimate that this takes at least one year of effort, plus any additional learning effort if the developer doesn't know C++. Also PresetMagician doesn't need high performance for it's operation, in contrary to VST plugins which are often written in C++ to optimize performance.

Re-implement PresetMagician using (don't confuse it with JavaScript!) and a Java VST host implementation like . The way Java applications are developed is way less complex than using C++, but still way more complex than using C#.

Re-implement PresetMagician for Mac OS X using and / . Having only limited experience with Swift, this would not only mean to learn yet another programming language, but also maintaining two separate , resulting in a huge amount of initial work, at least the same amount of work I already put into PresetMagician for Windows. Also, each feature would need to be implemented twice. And I really don't want to think about the bug fixing process...

In my first few forum posts, I initially said that there most likely wouldn't be a Mac OS X version of PresetMagician. However, I do like a challenge and one of my philosophy of life is: "Find the solution to that problem!". The problem solving approach I typically use is the approach: Breaking down a large, complex problem into smaller, solvable problems.

Stick with C# as programming language to avoid rewriting PresetMagician from scratch, and being able to share code between both platforms. Using , it's possible to develop native Mac OS X applications using C#.

Acquiring Mac hardware capable of running the latest Mac OS X version. I know that it's possible to run OS X inside a , but the legal status of doing so is questionable at best. Providing PresetMagician as commercial software means that I'm not only responsible to avoid legal problems, but also to the PresetMagician user base.

Porting VST.net to and porting the C++ portion of VST.net to OS X

the code of PresetMagician so that most of the code can run using .NET Core. This means that only the code of PresetMagician will remain platform-specific

Even though the list is pretty short, it is still a long way for PresetMagician OS X. You can track the on the PresetMagician issue tracker. Make sure you subscribe to the feature request, so you get updates!

Alpha software
release cycle
report it
progress of PresetMagician OS X
C#
.NET Framework
Windows Presentation Foundation
VST.net
Orchestra
Visual Studio Community Edition
Qt
rewrite from scratch
C++
PHP web developer
Java
jVstHost
Cocoa
Objective-C
Swift
codebases
divide-and-conquer
Xamarin.Mac
virtual machine
.NET Core
Refactoring
GUI
progress of PresetMagician OS X