Frequently Asked Questions
1. Can I support the project if I'm not a Mac user?
Yes. The keys will work on Windows or Linux as well, also you can fund it without claiming a reward, See https://www.kickstarter.com/projects/130375104/bounce-metronome-tune-smithy-lissajous-3d-on-intel#project_faq_89124
2. What if I already have the programs?
Your existing keys will unlock them on a Mac. However, your support can help make it happen, and you get an unlock key for all my other programs.
3. I'm only interested in one of the programs or Bounce Metronome Basic. does that matter?
That's okay. Choose a lower pledge level as appropriate. You will still get unlock keys for them all,
4. Can I change the pledge amount?
Yes, fine, at any time until the end of the kickstarter. See Kickstarter FAQ How can I change my pledge amount?
5. Can I pledge with Paypal?
- note - this doesn't add to the Kickstarter total,
6. Does it work on iPhone or iPad? No it's only for Intel Macs, because they use Intel processors. It won't work for Android either (same reason).
7. Why do you need a hardware Mac?
The license for OSX restricts it to machines made by Apple and it checks to make sure it runs on Apple hardware
For more questions and answers, rest of the FAQ below.Last updated:
It will not work on iPad or iPhone, as these require Arm instructions and the software is compiled in x86 code.
Wine is not a virtual machine, and doesn't use one.
Now technically there are possible work arounds here. But none of them seem promising in the near future.
There's also the idea of a multi-platform app, that is feasiblle at soem point, in not too distant future and I will investigate it.
MULTIPLATFORM APP - FOR ANOTHER KICKSTARTER LATER ON
The plan is to write a multi-platform app for iPad / iPhone / Android / Linux / Windows / Windows RT / Blackberry etc. It will be very simple to start with, and gradually add capabilities to it, is the only way I can do it. Optimized for small display or seeing at a distance also.
t would probably use Unity3D though there are other solutions to explore. It is a multi-platform games engine so 3D performance is excellent, and works across an amazing range of platforms. The price per platform is high, but it's free for any business earning less than $100,000 a year if you don't mind a splash for their company when your app starts up..
It won't have anything like the capability of Bounce Metronome, however which I've been working on for over 5 years full time, since 2008. If you include the code from Tune Smithy I think would be more like 10 years of someone's time to rewrite it from scratch. Certainly well over 10 years of work to do all of my programs again, or a team of ten programmers for over 1 year.
TECHY DETAILS - WHAT YOU COULD POSSIBLY DO ON AN IPHONE / IPAD IN THEORY
First, you can use a cpu emulator. There's a project for Wine on Android which is using this approach. It's making slow progress, but can run the Windows solitaire program on Android. I know that's not the iPad - but it's an ARM chip like the iPad.
Read about it here
It uses the open source processor emulator called QEMU
Then another possiblity is, that I could rebuild the program - exactly the same instructions at a higher level - but compiled into ARM machine code. I don't know if that is possible, if there is a compiler that will take Windows C code and compile it into ARM instructions - there is an ARM compilation option in the latest MSVC compiler - but I think it is probably just for Windows RT Apps (Windows RT runs on Wine).
Anyway - it's an idea that is mentioned in the Wine on Android video. So perhaps some day down the road it might give a way of running Bounce on Android, and if so, maybe eventually on iPad also?
Well not sure about iPad there.
About 4 years back, then Apple approved a DOS emulator iDOS on the apps store. And for a short while enthusiasts found they could install Windows 3.0 on it and play decade old Windows games on their iPad. But soon Apple pulled the app from their store and the fun was over. I'm not sure I really understand why? Would a cpu emulator running Wine very slowly on an iPad also be pulled? Why on iOS when it is fine to have virtual machines on OSX?
WHATEVER THE POSSIBILITIES, THIS SEEMS YEARS INTO THE FUTURE AT PRESENT
Though they are working on it, nobody right now has demo'd any actual Windows programs of interest running on an Android as far as I know, just the Solitaire card game.
If that is ever possible, you are talking about something that might be an option some years down the road most likely and probably for Android. And no idea if it is a possibility at all for iPad / iPhoneLast updated:
What about using a virtual machine such as Parallels Desktop or VMWare on my Mac to run the software
Some people have tried this, with some reporting success, but generally, mixed results, and the ones that succeed may find it takes a fair bit of work and configuring to get it running. So far I haven't been able to help with advice on this, though I can explore that also if I have a Mac to test it on.
The main disadvantage are, first the expense. Most Mac users don't have a virtual machine so you'd have to pay for the machine, and also for Windows itself .
Wine as an open source project doesn't add any extra expense.
You will also have to install the virtual machines (another thing you don't have to do with the Wineskin). Though I think they have improved how they work, it is still a major addition to your computer.You might be nervous about adding a virtual machine if you aren't particularly techy yourself. Windows do provide pre-configured Virtual machines for the Mac for testing.
Then, you may get performance issues virtual machines may have performance issues. For instance one user found he could run Bounce on a Macbook air in VMWare but only if he used XP, it was too slow on Windows 7 (this was some years back).
So far a few have tried this with mixed results, and I'm reluctant to recommend it because one user actually had issues as a result of installing the Parallels trial to run Bounce (can't remember if he got as far as actually installing Bounce itself). He had some difficulty getting his Mac to boot after installing the virtual machine, though he did get it sorted out eventually..
But with a Mac to test it on, can try this out and see what are recommended settings and how easy it is and what the issues are.
COST OF VIRTUAL MACHINE
Then there's the matter of cost. If you have Parallels desktop and Windows already then of course this is not an issue. But if you get them in order to run Bounce, then it's quite a major outlay.
You can try out both Parallels Desktop and Windows before you buy to make sure it works on your computer as desired. Parallels offers a 14 day trial. And Microsoft offer trial versions of their operating systems as Parallels desktop virtual machines, for download, each with a 90 day trial, which you can use to test for free to see if Bounce can run on your computer in a virtual machine under Parallels.
If you decide to buy, though, Parallels Desktop is £64.99, and Windows 8.1 is £99.99 from the MIcrosoft store, for a total of £164.98,
BUYING A SMALL BUDGET WINDOWS NETBOOK / /TABLET AS AN ALTERNATIVE TO A VIRTUAL MACHINE
You can get a touchscreen laptop on Amazon,new, for Windows, for £249 right now, and a used one, there, for £130.
Either of those would be a better way to spend the money in my view - especially for a metronome where a small netbook gives the advantage of portability. Several Mac users have told me that they bought themselves netbooks or similar just to run Bounce Metronome.Last updated:
For anyone who wants to show support but doesn't have a Mac or isn't interested themselves in getting Bounce Metronome Pro or my other programs on a Mac - well first - it is a great help just to like my posts about the kickstarter, or do google +1s, or share the link, or tell people about it who would be interested etc
I mean just in natural course of events. All helps create a bit of a buzz and means musicians may find about it who would never know otherwise.
Then, if anyone wants to show support with the minimum amount that's also absolutely fine . Please don't hesitate if you want to do that.
You don't HAVE to be a Mac user to claim the reward also, as after all you do get an unlock key for all my software on Windows, as a result of supporting it. The main difference from getting it on the bounce metronome website, is that it's delayed to 14 days after the end of the kickstarter and don't get it at all if the project fails.
And also - you can contribute to a kickstarter without claiming any of the rewards. When you contribute, one option is to just add funds without claiming a reward.
I wondered what to do about the way this kickstarter lets you get the Windows unlock keys for much lower than you would otherwise - but in practise, most people who buy my programs buy them the very day they download them, often within minutes, or buy before downloading. So they aren't likely to want to wait for 14 days to get it, so I don't think it's an issue (even though technically the 14 days is less than the test drive).
Also - you can get Bounce Metronome complete for $2.49 anyway from the bouncemetronome.com website paypal page - so if that was an issue for someone, they can get it at a reasonably low price easily enough.
Not so easy to get discounts for Virtual Flower / Lissajous 3D, just not got around to doing them like that, but I get hardly any sales of them at present, and almost none of Activity Timer maybe once or twice a year or so at present for that one (don't make any attempt to promote it).
So in practice I think I'll only get people coming here if they want to support the kickstarter, and not as a way to get low price unlock keys.Last updated:
I've set the goal to £550 as a minimum price for a decent system for testing purposes. This is for a second hand Mac, but reasonably new, running the latest operating system Mavericks, and the price includes a 1 or 2 year warranty from ebay. It also includes £25 Kickstarter fees and £25 approx for processing of payments and VAT, see Fees - UK.
If it goes over £650, I'll get new Mac, which, at a discount, is about, £600 - £700, here in the UK.(computers cost more here than in the US).
If I get more than £750, it's like advance sales of the unlock keys, at a discount. That's acceptable and common in kickstarter technology projects. It will also show that there is demand for Bounce on a Mac.
One of the projects I might do if I had lots of income is to try developing multi-platform apps for iPad / iPhone / Android (as well as Windows and LInux) using the same Bounce ideas and methods though not the same code. Some of those tools are free, others are commercial, and also ideally you'd want to get the hardware for testing to make sure it works rather than rely on bug reports from users.
But it's best not to put that as a goal for this project. The FAQs suggest that "stretchy" goals like that are confusing. Instead, I'll do a new kickstarter if it turns out I need funds e.g. to get a hardware iPhone / iPad for testing and such like.
See the Kickstarter FAQ about what happens if a project is overfunded.
First, the chances of success seem excellent so I don't think this is going to happen.
However, If I can't get them to work, you still have the unlock keys
Then you have options, if you want to explore them, to get a small netbook / tablet, or to get Parallels or VMWare and Windows, and run it that way (if that turns out to be a good way to run Bounce on a Mac) or multi-boot to Windows on your Mac to run them.
With a Mac myself to test it on, I can advise you about performance and feasibility and techy issues running it on a virtual machine, and advise which works best for Bounce of Parallels desktop or VMWare, and whether the performance is okay or if you are better off multi-booting or getting a Windows tablet / netbook.
Also - note that the keys are not tied down to any hardware. You can run the programs on any computer you have access to, including e.g. a friend's computer, if it's for your own use.Last updated:
Yes! You can change it at any time. See the Kickstarter FAQ here
Yes, you can, the paypal page is here
I've added this because Kickstarter does not let you pay via Paypal, which may make it impossible to pledge in some countries, or depending on your situation.
The amount raised this way doesn't add to the total on Kickstarter, also you get debited straight away unlike Kickstarter, where your credit card only gets debited when the project is completed.
However, I'll keep you all updated with numbers of backers and the amount in the updates for the kickstarter. Also, I will refund the paypal pledges if the kickstarter fails to reach its target.
This is a method used by many projects on Kickstarter to handle paypal pledges.Last updated:
Your unlock keys will work on the Mac as well. Your unlock key unlocks the program on any computer you use, and all updates are free.
So there is no need to buy it again to use the program on a Mac or Linux or in any other way that it can run.
However your support is much appreciated if you want to donate to the kickstarter. And you will also get an unlock key for all of my other programs as your reward.
If you use it on a friend's computer, or at work or whatever, the only restriction is that it's for your own use so you remove the unlock key when you are done if necessary
(of course friends can try it out and members of your family who want to try it for fun etc)
There are no hardware checks, and no need to renew the unlock key or anything like that. I rely on the integrity of the users.
If you share your unlock key by mistake, e..g post it to a public forum or some such, just let me know and I'll mark it as invalid, and send you a new one.Last updated:
It might be such an easy conversion it needs hardly any testing. But most likely the programs will be a bit rough around the edges and need testing.
If so, when it's ready, then for Bounce Metronome especially, I have many musicians now in the Bounce Metronome mailing list who have said they want to beta test anything I create for a Mac,
So, probably I'll ask them to try it out as a private beta first. Then - I may do a public beta for a short while, especially if there were any major issues to fix - and then when I'm reasonably sure everything is fixed, will do a release.
If you are interested in beta testing yourself do say - you can fill in the form here, and say you want to be a beta tester, either through the Multi-Platform Contact Form at bouncemetronome.com
- Or just contact me and say you want to be a beta tester. You can contact me at firstname.lastname@example.orgLast updated:
First, I have no idea how long it will take to sort everything out. It may go so quickly and work so well that there is hardly any beta testing phase at all.
If so, the earliest I could have a release ready would be, perhaps six weeks, rough estimate for the first two programs Bounce Metronome and FTS Lambdoma.
Allow two weeks to get the funds, another 14 days to get the Mac, get used to how it works, install the Wineskins software and make and configure my first Wineskins. Then maybe another two weeks beta testing the first program to release.
However, I expect it to take a lot longer than that. Judging by the time it took for the Linux project last year - it could be several months. Though in that case I had to get it running on Wine in the first place, as I know it is already running on Wine that may save some time.
I'd be surprised though if it takes longer than six months, and so have put December 2014 as the completion date for the rewards, it's just an estimate though. You can't give hard fixed timetables for a project like this, as there might be highly technical issues crop up that take a lot of time to fix, and you have no idea whether that will happen until you hit them.
TIMETABLE IN DETAIL
I expect it to go something like this:
14 days after the kickstarter ends, I get the funds. I then send unlock keys immediately to everyone who claimed the rewards.
I then order a Mac.
Next stage, getting used to the Mac, as I've never had one before, installing the software needed to create a Wineskin, and making first test wineskins for my program, and learning how to configure the Wineskin to work with my program..
Then testing. If I'm really lucky, they just run right away. But chances are they won't, and will almost certainly need debugging just to run.
Then create a beta for more thorough testing and debugging. This involves thoroughly testing all the features in the programs, starting with Bounce Metronome and the FTS Lambdoma and noting down anything that doesn't work or any performance issues, and debugging.
I may also have to do some work on the Wine engine itself, see if I can compile the patches for WineRT at this stage.
Then when I've done reasonable amount of testing myself, make it available for beta testing. Usually first a private beta build for anyone who has said they want to help - and then a public one that anyone can download even without contacting me first.
Finally, then the release, when everyone gets the program.Last updated:
With the Mac, Wine is working on a different operating system from Linux - so the Windows calls are translated into different routines at a lower level, That would include for instance graphics drawing, font loading, midi routines and so on.
As a result, my success on Linux doesn't guarantee that it will work on a Mac.
However, it's a good beginning, It's got a good chance of success I think. At least, with some work, surely I can get it to run. If there are any issues I can alter or even remove any code that causes problems.Last updated:
On Linux, after I fixed all the bugs, a few things don't work, of minor importance to most users. These probably won't work on a Mac either:
Edge smoothing. Straight lines and circles are pixelated if you look at them closely. It's not that noticeable on a HD display
Direct export to video files doesn't work. You'll need to use screen recording programs instead if you want a video of the rhythms..
There were some issues with midi timing originally but those all got sorted out with Wine RT on the Linux. That's the biggest question for the Mac, as I anticipate it, what the midi timing would be like.Last updated:
This of course is of vital importance for a metronome. It was a big issue when I first tested it on Linux on a virtual machine.
But Bounce on LInux was okay in the end - after a fair amount of programming to optimize it for Wine - and after following Aaron Wolf's recommendation to use WineRT instead of the normal Wine (which is better anyway for music work on Linux).
The most significant and hardest to fix issue was the one with the midi timing, which was eventually fixed with WineRT, more about that below.
If I use a WineSkin - then the way it works is that you bundle a copy of Wine around your application. So is no need for the end user to get involved in any technical configuring of Wine. I'd just set it up as is needed to work optimally with Bounce, and you don't need to do any more tinkering with it yourself.
WINDOWS CODE RUNNING ON WINE IN ANOTHER OPERATING SYSTEM CAN BE AS FAST, EVEN FASTER, THAN NATIVE CODE ON WNDOWS
Wine is a rewrite of Windows on a new platform, not an emulator or a virtual machine. So, there is no reason particularly why programs need to be slower on Wine than they are on Windows.
Any calculations that Bounce does itself are native x86 code, so the instructions are identical - so they will run at pretty much identical speeds speed on a Mac as on Windows or Linux machines with the same or similar processor.
The 3D graphics programming uses Open GL and that means it just calls native OpenGL routines on the Mac through the Wine interface.
Those would run at the same speed as native OpenGL programming on a Mac.
The 2D graphics spends most of its time drawing primitives such as rectangles, gradient fills, circles and so on. Again those should run at the same speed on a Mac as native code to draw graphics primitives. For routines like that, typically most of the time is spent in the actual graphics drawing itself.
For midi, then sending a midi message on a Mac would probably take the same amount of time as it does with native code, and in any case, is not normally a significant thing for a metronome except at extraordinary high tempi if you try to play the notes so fast that they turn into a pitch, e.g. hundreds of beats per minute.
So, basic performance of the thing you are trying to achieve is not likely to be an issue.
WHAT CAN CAUSE ISSUES - MORE TECHY
You can get an idea of the sort of things I might need to work on to get Bounce to work well on a Mac from my experience with Mac on Linux.
Some of these of course, are issues with compatibility with Wine itself, and now that they are fixed on Linux, would probably be fixed on the Mac also.
What did cause issues on Linux were
1. Access violations. These are due to programming errors in the original code that for some reason had no effect on Windows. Normally easy to fix.
2. Visual glitches. Originally it couldn't display textures on the screen and the windows just all showed up black and unreadable. This was probably a side effect of some of the other bugs, I never found out in detail why it happened, as it just got cleared up as a result of fixing the other bugs.
3. Font issues, wasn't displaying notes in the Bach music notation font, and couldn't access any of the other fonts either. I can't remember now how I fixed that one.
4. An issue in loading the context sensitive help and tool tips into the program during start up. Turned out that for some reason the imported rich text gets changed in Wine before the program sees it. This slowed down processing of the text for the tooltips hugely during start up. I found a way to fix that.
5. For some reason the routines to set process and thread priority in Wine took hugely longer, several milliseconds on Linux, while on native Windows they are almost instantaneous. This was fixed by removing unnecessary duplicate calls of these routines, just optimizing to use them as seldom as possible..
6. Techy issues to do with interfacing with the Linux clocks via Windows. It turned out to be impossible to do that with normal Wine, you got huge errors of the order of tens of milliseconds in the timing, and a horribly noticeable uneven beat for the metronome.
That last one, interface with the hardware clocks, was the last remaining major issue, and was fixed mainly by using Wine RT (as well as dealing with the profiling issues mentioned) and in the end it was fine, acceptable accuracy for a metronome.
So, am hopeful about that on a Mac also. But no guarantees of course.
On the timing issue and possibility of Wine RT on WineSkin I posted a question about this to the Wineskins Forum, with one reply so far, from a Wineskins developer, who didn't know the answer
But he suggested I try compiling the Wine RT patches for WineSkin as something that could be explored if it turns out to be an issue, if they are compatible.
This has no effect on the Beeps metronome, as that uses streaming audio, which, basically, relies on the clocks in your soundcard which are very accurate (otherwise music would noticeably slip in pitch).. I also plan to add a sample playing feature to Bounce Metronome, already working in the beta. Again this shouldn't have any timing issues on the Mac.
So that's my fall-back plan if I do have midi issues on the Mac.
Note the midi issues only arise when playing notes in a sequence, as for a metronome - they could also be an issue for the fractal tunes.
You can get around them by saving the midi to a file, and then either rendering that to audio - or playing the midi file in some native windows app which doesn't have the same issues.
If you can play midi files in Wine with accurate timing then there should be no problems playing midi with good timing in Bounce Metronome also. But I don't know if you can.Last updated:
I'm hopeful that I can fix it whatever happens, if necessary by compiling the Wine RT patches into WineSkins.
However, there's a fallback which should work no matter what the midi does.
Bounce has a "Beeps metronome" which as it works by continuously creating an audio stream to play, and does timing by counting the number of samples sent in the stream, is not impacted by any midi timing issues at all.
I'm also in the middle of programming Bounce so it can play samples for the notes - including a "speaking metronome" to count out loud, also you'll be able to e.g. play drum kit samples and so on. It's already working in the beta - the sample player - enough to see it's feasible.
This would give a way to have sample perfect timing on any operating system no matter how easy or hard it is to interface with the most accurate hardware clocks. That's because the audio is created by continuous streaming, and to get sample accurate times, you just need to keep track of the number of samples played so far.
So this part of it should work with perfect timing anyway, assuming I can get it all to work of course.Last updated:
This is the new feature, I've got multitouch playing working in the debug build of Bounce Metronome - both for the on screen keyboards - and for the mouse theremin too, and hope to release this soon.
It's a lot of fun, you get a different pitch for each of your ten fingers as they move around on the screen.
I don't know if that will be possible on the Mac, but will find out. The Mac OSX - I don't think it has support for multi-touch screens yet iike the iOS for iPad and iPhone (do correct me if I'm wrong here) - but it does have a multi-touch touch pad with up to ten finger multi-touch. Also native Mac apps programmed at a low level can access each of those ten touch points individually on OSX (techy details)..
What I don't know is if there is any way to get those touches into Wine. I can think of some ways you could do it as a work around, by writing a native Mac app that then sends the touch messages to your program, e.g. via midi undefined controllers, say. Anyway I'll look into this, but can't say if it will work or not.Last updated:
The reason is just the sheer amount of time involved. I've been working on the software since the late 1990s, pretty much full time. I've been working on Bounce Metronome since 2008, again full time, except for a few months spent on other projects.
I'm generally considered a fast programmer. So anyone else would take a similar amount of time.
And most of the code is low level techy Windows specific stuff that couldn't be ported to another OS.
So to duplicate Bounce for the Mac, you need perhaps 5 to 10 programmer years. That's about £250,000 to £500,000 at typical wages for a programmer. There's also a major issue getting hold of a programmer with the necessary expertise to do it. Would need to be knowledgeable in mathematics, technical details of musical rhythms and music notation, details of how midi works, be familiar with 3D graphics programming, and various other areas of expert knowledge like that.
They would probably be already employed as a music programmer, or developing their own music software.
And many big software projects fail, also, so there is no guarantee that you'd end up with a useful functional program at the end of it all. Unless the programmers have an excellent track record, that is, and again, if they do, are probably fully employed doing their own programming.
I can't do it myself either, I don't have the expertise to program for a Mac and it would probably take a year or two before I did - and then also, I have more productive things to do with five to ten years of my life than to attempt to exactly duplicate work I've already done for Windows on a Mac.
At any rate, whether this ever happens, it's a no brainer that a £500 project with pretty good chance of success within a month or two of completion is a better kickstarter to attempt than a £250,000 to £500,000 project that quite possibly wouldn't succeed and would take several years to complete.Last updated:
The short answer as I said in the mini FAQ is, that the OSX operating system checks the hardware and will only run on an Apple Mac machine. That's why I can't just buy the Mac OSX and run it in a Windows computer.
LONGER ANSWER AND TECHY DETAILS
There is only one version of the Mac OSX that you can legally run in a Virtual Machine, that's OSX Server. And that capability is added for Mac developers, and you are only permitted to run it on a machine running OSX, so, a Mac machine.
For details see Virtual Leopard Server, Uncaged: Virtualized Mac OS X Leopard Server on VMware Fusion 2.0 http://blogs.vmware.com/teamfusion/2008/06/virtual-leopard.html
TECHNICALLY THERE IS NO REASON WHY THE OSX WOULDN'T RUN ON AN INTEL MACHINE
Indeed some hackers have got this to work, with mixed success. It's for hardcore hackers only. The Mac machine may be very slow, and some of your hardware may not work.
I don't want to do that obviously. It breaks the Apple EULA. Just mentioning because it shows clearly how the main issue is the EULA not the hardware.
It's completely understandable that they have this requirement, because they are a hardware company and rely on sales of their computers. If they'd permitted OSX to run on any Intel machine they'd not be where they are today and probably wouldn't have developed the iPad etc. It also lets them have quality control on the hardware that runs their OS as they make it all themselves.
HACKER DISCUSSION ON STACK OVERFLOW
If you are interested to know more, have a look at the wikipedia page on OSx86 about the various ways hackers have done this, and about the techy, and legal situation for a "hackintosh". According to the wikipedia page, some ideas for ways to do it may fall into a legal gray area not yet contested in the courts, but I don't know details about that myself.
And see this discussion on Stack overflow
And this article on PC Perspective about building a Hackintosh computer.
Just including it for informational purposes for those interested in an intellectual way about what is involved. Anyway is pretty clear the whole thing is for hardcore crackers only!
I'm going to add links to some of the posts linking here, well at least to start with unless it becomes too many - not including facebook or Google + posts or twitter, but will include forum posts, for now anyway.
So, my story on Science20
Jim Hurley posting to Reactor forums
and to Native Instruments
Do let me know if you have any others, to feature here.Last updated:
I expect the size to be about 140 MB plus whatever is needed to get the program to work, maybe 150 MB.
That's rather amazing actually when you think it's got the equivalent of the entire Windows operating system in it - though of course, stripped of all the "bells and whistles" extra programs you have in the Microsoft version of Windows.
I'll make it available for download.
You will also be able to get it on CD if you are on a slow internet connection.Last updated:
Wine is a software compatibility layer which lets programs written for Windows run on a Mac, Linux or other operating system.
As such, it is legal, and protected under legislation about interoperability. It is also free, since it is open source.
The name originally stood for "Windows emulator" - but now is understood as the recursive acronym, "Wine Is Not an Emulator" to make it clear that it is not a virtual machine.
HOW IT WORKS IN DETAIL
First, the legal requirements mean that the Wine developers have to be extremely careful not to let any Microsoft source code into the project. As a result, it's developed completely from scratch, only referring to the Microsoft documentation, and also by testing programs written for Windows on Wine. That's why there are certain to be subtle differences in how it works on a low level, and they can't guarantee that every Windows program will run on Wine.
That's why I need to spend a fair bit of time testing and debugging my programs on Wine and tweaking performance..
It runs any Intel (x86) code just as is on the processor. But translates any Windows calls into native routines in the operating system.
As such it provides a very thin compatibility layer between the program code and the hardware, so performance can be excellent.
The downside is that it can only run x86 code on an x86 compatible processor. This means it can't run my programs "as is" on an Arm chip.
For more details about Wine see the Wikipedia page
TECHY DETAILS - WHY WINESKIN IS SO FAST FOR 2D AND 3D GRAPHICS ON A MAC
On Mac, then the WineSkin uses Wineskinx11, a modification of XQuartz, which is an implementation of the X-Window system for Linux on an Intel Mac. That's how it's able to do both 2D graphics, and any 3D graphics done in Open GL directly using your graphics card, and why I expect 3D graphics to be as fast on the Mac as on Windows with Wine.
Developers can actually, optionally, run their apps using the unmodified version of XQuartz, but the modified version in Wineskin gives better compatibility.
WINE ON ARM - ANDROID ETC
There are plans to fix the restriction to x86 machines with a version of Wine running on a open source virtual CPU, but it is at very early stages so far. As some news stories reported, you can run a Windows program on Android using Wine so long as it is Windows Solitaire :).
I've already mentioned that in the iPhone and iPad FAQ.
This is only for Android so far, and the only program they've got going on Android so far, at least in the news stories, is Windows Solitaire. So obviously at an early stage yet.
Read about it here
It uses the open source processor emulator called QEMU
You won't have to do this yourself, but if you just want to know a bit about how it works, here goes.
Here are a couple of videos showing the basics of how you make a WineSkin - this is what I'd do on the Mac. You won't need to do this yourself.
Here is another slightly more complex example with a Japanese game. I know nothing about this game, just that it's one of the better example videos on youtube for WineSkin - reasonably clear diction and easy to understand.
Notice how she chooses which Wine engine to install, and then installs the program itself, and also various other things into the wrapper, and configures it - the end result is a program that looks like an ordinary Mac program and you click on the icon to start it up - and jump right into the Windows game.
That would just be the starting point, because then I would need to look for any issues, anything that doesn't work quite as it should on the Mac - and then see why it's not working and what I can do in the code to get it to work okay.
It might just work right away, but I'm expecting at least to need to do some tweaking. This could take anything from a few days or a week, up several months - it took some months with Linux - but a fair bit of that work was to do with getting it to run on Wine rather than Linux, so it may go more quickly on the Mac..
You won't need to do any of that stuff yourself, though, just download the final result which I'd make myself.
More about this on the Wineskins website.
Okay, the first thing I'll do is to try out all my programs quickly in WineSkins to get a first impression of how they are working.
If any of them work fine right away, or need only a few days work, will prioritize them, and release them right away.
Then after that, - that is if not released already of course - I plan to get Bounce Metronome, and the Tune Smithy Lambdoma running first.
This might take just days or weeks, or might take months.
Next stage would be, Lissajous 3D if I think it can be done in, say, a few days, or a week (quite likely, because it makes so much use of OpenGL and I expect support for OpenGL in a WineSkin to be excellent for techy reasons)
Next stage then is to get Tune Smithy working for the fractal tunes, and for the music keyboard retuning, on the Mac. I could do this with Tune Smithy 3.0. But it will be better to move the beta of Tune Smithy 4.5 to release first, since otherwise it's extra work to make both the old and the new versions Mac compatible.
So that might be another few months - but if it is going to take too long, I can do Tune Smithy 3.0 first.
Timing might be a major issue with Tune Smithy (or may be a non problem) - just as for Bounce Metronome - but more important because with Tune Smithy then you need it to work with any of the instruments on your computer, and support for midi is rather important.
So, as for Linux, there might be issues of midi timing to work around, depending on how time on the Mac is reported to the program within the WineSkin.
Finally, Virtual Flower and Activity Timer - that is if they turn out to be tricky.
With Virtual Flower, I also plan a major overhaul of the program, and hopefully also, get it so it draws the 3D graphics using OpenGL so much faster to draw the shapes within the program.
Activity Timer is also due a major upgrade. I may well do that before its release as a Mac app as I think there is probably only a week or two work left to finish the update, so could combine that with the Mac compatibility testing.
Hope to complete all of this by the end of this year, starting in mid June. I'll keep everyone updated with progress reports.
Please be aware though - this is only provisional. I might change this timetable at any time depending on circumstances.
My first priority is Bounce Metronome, then Tune Smithy but depending on circumstances, might release the apps in any order.Last updated:
Don't see the answer to your question? Ask the project creator directly.Ask a question