Bounce for Mac Beta
From Bounce Metronome
The main news this time is that it's now close to the release of the Bounce for Mac beta - if you are a Mac musician, I suggest you give it a go, as several musicians are already using it regularly - you may find it does all you need already. If you want to buy it go to: Buy Bounce Metronome Pro
Here is the latest (for Snow Leopard or later).
Note I use version numbers only for very major changes. To see if it is newer than your version, compare the date with the date from ? (menu) >> About in Bounce Metronome.
Note, it Might run on the latest Mac OSX: El Capitan - as it uses the latest wineskin. I have three reports so far, for one user it worked fine. For another it didn't run, and for another user it ran but played too many notes, not in time, and then froze and could only be closed by a hard reboot. For more about this, and for another version to try, see the section Might run on the latest Mac OSX: El Capitan
After, you download it, you will probably want to copy it over to your application folder for easy access.
When you first use the program use CONTROL + CLICK on the package, and choose Open.
Then, when you first try to open it, you will get a message about "Unidentified Developer". Something like this:
Sadly, I am unable to sign this app, because of a change in how Gatekeepeer works which makes it impossible to sign Wineskins any more. So, just click Open at this point. See #Installation for more details of how to download and run it, and for detailed explanation of why I can't sign it.
If you miss out the Ctrl + click step then your Mac won't let you run the program, because the default security settings are to only permit apps from the app store and identified developers. Alternatively you can use the steps here to temporarily permit downloading of unidentified apps - then put the settings back to the defaults once done.
If you have a very old Leopard machine, I have a version that might possibly run on your machine - to check it out, go to #Leopard version.
If you have already downloaded it before, you may prefer to update your existing Mac beta to the latest version using the Windows installer. See #Updating for instructions on how to do this. That can be useful as a way to keep your existing settings for the program - or because you have a low bandwidth connection (the Windows installer is a far smaller download than the Mac beta). Also sometimes the Windows version is more up to date than the Mac (because I update the Windows version more often).
For tutorials and demos for Bounce Metronome, see Tutorials and for Mac specific tutorial videos see later on this page.
How to Buy
You use the same unlock key to unlock Bounce for the PC and for the Mac.
You can get it here Buy Bounce Metronome
Kickstarter - crowd funded, thanks!
This crowdfunded project was made possible because of support of the many backers of the Kickstarter: Bounce Metronome, Tune Smithy, Lissajous 3D, ... on the Mac!, which was successfully funded on June 7, 2014.
- If you have already downloaded Bounce for Mac beta
- and have the beta from #21st December 2014 or later
Then you don't need to download the entire beta again.
You can check the date of your version from the ? (menu inside the windows) >> About.
If it is new enough, you can just download the Windows installer
Then to install you need to run the Wineskin inside your Mac beta. To do that:
- Ctrl + click on the old version of your Mac Beta package, the one you want to update
- Choose "Show package contents"
- Double click on "Wineskin" to run
- Click on "Choose Installer" and browse to find the installer you downloaded
- Step through installer just as for installing a program on Windows.
- DON'T CHANGE THE INSTALL FOLDER, which should be c:\Bounce |Metronome. It needs to be there for the wineskin to find it (unless you change this in the wineskin). This folder is inside the wineskin, not mapped to any of your Mac folders.
- On the second page of the installer - be sure to switch off the option to add a desktop shortcut (they don't work on the Mac).
And that's it done.
Just download it - it's a package all ready to use.
It's in a zip to reduce the size of download from over 200 MB to 80 MB approx, but my Mac anyway seems to unzip it automatically on download.
- There is only one file inside the zip - a Mac application package. Don't try to unzip this archive any further - don't try to get everything out of the package using utitlies such as Zipeg. If you want to check what is inside it just use right click and then "Show package contents" as you would for any other Mac application. The files inside there can only be understood by the wineskin, and the folder structure in there is designed for the wineskin also, based on the way folders are structured in Windows.
You will probably want to copy the package over to your Applications folder also for easy access.
You may need to give it permission to run - easiest way is to use CONTROL + CLICK on the package, and choose Open - then in the dialog that pops up answer "Open", or "Open Anyway".
In detail, go to your Downloads folder.
Look for the icon which looks like this
Hold down the Control key, and with it held down, click on the icon. (Alternatively use right click)
You should now get this menu:
Click on Open and you should see this dialog
Click Open again and it should run.
The very first time it runs, it may take a couple of minutes to start, please be patient. It will start within seconds in future.
Alternatively, another way to do the same thing - you can give it permission to run from Apple Icon >> System Preferences >> Security & Privacy - Then click on "Open Anyway" and answer Okay to the message.
Here I talk about why you need to do this:
If you haven't got an unlock key yet - then just start the test drive.
If you pledged to kickstarter you should have got your unlock key by now. If not please contact me!
Why it is unsigned
I have a Mac developer's license. But the Wineskin package is designed for version 1 and signed with a version 1 certificate.
Apple, earlier this year, changed the system, and on Mavericks I can only sign it with a version 2 certificate which doesn't work with a Wineskin. So I can't sign it at present. See How do I Codesign my Wineskin?.
I wish I could sign it. This also means of course that I can't put it in the Mac app store. But there is nothing I can do unless the developer of Wineskin changes its structure in some future update to make it possible to sign it.
If anyone has any thoughts about this, anything I can do to sign it, do say! .
Might run on El Capitan
If you try to run previous versions of Bounce Metronome Beta on El Capitan, you will probably get the message "The application X11 could not be opened".
This is a bug in Wineskin in the new operating system El Capitan, for the Mac. I test it in Mavericks and Snow Leopard (in a virtual machine) but not yet in Yoesemite or El Capitan.
I have updated to the latest version of Wineskin with this fix, so hopefully it will now run on El Capitan.
I have three reports so far, for one user it worked fine. For another it didn't run, and for another user it ran but played too many notes, not in time, and then froze and could only be closed by a hard reboot.
So start here, the latest beta
If that one works, you are sorted, you can run the latest beta "as is".
If it doesn't work you might like to try these ones:
- Bounce Beta for El Capitan - which has none of the customizations I did, for instance it still has the Wineskin icon not the Bounce icon, and the default Wineskin menu etc, as it might work for you.
If that one doesn't run, well unlikely that any of these do.
If that one runs, then try these
Do let me know if you try this out and it fixes the issue for you, as that's useful information and let me know which one runs okay and which don't (of the ones you try).
Depending on which of those work, I cab add more examples with more of the customizations from Bounce.
If the first one Bounce_Beta_for_El_Capitan_with_icon,_top_menu_and_drive_mapping.zip works, that leaves the 3D bounce as the main thing that's not yet working on El Capitan, plus some minor things I haven't bothered to do yet in those zips that probably will work fine.
Anyway I'll do more uploads depending on the reports I get for these ones so far.
Do let me know if you try any of these on El Capitan, and say which ones worked for you. Thanks!
How to Buy
You can buy it here: Buy Bounce Metronome Pro. The same unlock key works for Windows and for the Mac.
Use Menu within Program rather than Top Menu for most things
This is because it's a Windows program originally. The windows each have menus within them - with many options. I have no way to add those options into the top menu of your Mac.
You can do a few things with the top menu. You can zoom the window, or minimize it, standard things like that. You can do a quit, also a force quit if it freezes. You get links to visit the program website, and the Wineskin website. But that's about it
If you close the main window, it quits the program
That's because it originates in Windows which doesn't have a top menu. On Windows, one of the windows is usually the "main window" and you quit a program by closing its main window.
So, the same happens on the Mac. You can close any of the other windows and nothing happens. But if you close the main window, it quits the program.
You can also quit from the top menu - has same effect as closing the main window.
How to Report a Bug
If it does do something buggy - it's not a big deal. Because of the "Wineskin", it's running in its own sandbox pretty much - everything it needs is inside the package, and it won't change anything outside of its own package. Even its fonts are inside the package.
As far as I can tell, the worst that is likely to happen is that Bounce stops responding. When this happens, it freezes inside the wineskin and it is easy to close it from its own top menu with Force Quit.
There are three things you can supply to help me fix the bug more quickly
- It helps a lot if you can do a screen shot immediately after a freeze. You can do that with Command + Shift + 4. Then click on the screen and a screenshot of your entire screen appears on the desktop. Then I can see what state the program was in when it froze; this can help a lot with debugging.
- Bug Reports folder look inside the package (Control + click on the package) and choose Show Package Contents. Inside you will find a folder called drive_c and inside that, a folder called Bug Reports, Messages etc.
Compress that folder, and send it to me as it will probably have a saved "Freeze detector" project in it which can help locate the bug.
- Can you remember what you were doing just before the crash and what the program was doing? E.g. if a freeze or other bug happened when you click on a particular check box - that means there is probably a bug in the code for processing that check box - so that sort of information can speed up the bug fixing considerably. No need to try to work out why the bug happened - you need the code to do that in most cases. But just - information, as clear as you can remember it such as which window you were working with, what controls or button or check box you just clicked, or if it was just playing with no user interaction at the time the bug happened. This can often be a significant first clue about where in the program code to look for the bug.
Be sure to let me know if it anything doesn't work as expected or spot any bugs, or any questions, suggestions whatever. You can contact me at firstname.lastname@example.org
"Can't be opened" Error message
This is quite rare, but sometimes you might get an error message when you double click to run the application:
The application ... can't be opened -10810
If that happens there are three things you can do.
- Simplest method: Reboot your Mac and the error should go away
- Or, make a copy of the application. The copy should start up okay.
- Or, if you don't want to reboot or copy the application, right click on the application and click "Show Package Contents". Then double click on the wineskin inside the wrapper, go to Advanced and click on Test Run.
I don't know why this happens, and an internet search hasn't turned up any answers except that many people have encountered this error with many different programs inside wineskins. So it is nothing specific to my programs.
Extras you might like to install
Bounce can't export 3D bounce videos - and can't mux the sound with the 2D bounce videos - and creates huge multi gigabyte uncompressed files in any case because none of the codexes are working inside the Wineskin.
So - if you want to export videos, best way is to just record the videos in real time using QuicktimePlayer - there is an option to record the screen as a video in the File menu and you can optionally also record the microphone.
So - show them full screen - zoom the 3D window to full screen for 3D bounce or use Escape key to show the 2D Bounce window full screen - and then record in real time.
Now it is a bit unsatisfactory to record via the microphone as it has to go through digital to audio to make the sound then from audio back to digital to record it again - and you get ambient sound in the recording (unless you want the ambient sound / reverb of course) - so you may want to install Soundflower.
Using Quicktime with Soundflower to record the animations for use in mobile devices etc
First you need to Get Soundflower from Rogue Amoeba
This adds option to record the audio that gets sent to your speakers before they go to the speakers, rather than record them through microphone with all the ambient noise etc.
So, first, we need to set up your Mac so that it plays all its sounds via soundflower and set up Soundflower to work with it.
- In your Mac System Preferences >> Sound >> Output select Soundflower 2 ch.
- Access sound flower via the flower icon in the Finder bar - if you don't see it then start up Soundflowerbed (search for it with spotlight).
- From the flower icon >> Select built in Input.
Now you are ready to record with soundflower
- In Quicktime Player: File >> New Screen Recording
- Then with down arrow to the right, select soundflower in place of the microphone for your recording.
See also: Record your computer's screen with audio on a Mac - see it for more details
Using IAC driver to route midi notes from Bounce Metronome to your DAW or other software
Search Spotlight for "Audio Midi Setup"
Start it up.
Go to Window >> "Show Midi Window"
Double click IAC Driver
Tick to make sure device is online.
Then it will appear as midi in, and midi out, in midi apps.
This adds just the one port, but you can also add any number of ports and label them for more complex midi routing.
Jack for Midi Input
Another thing you are likely to want to install is Jack
You can get Jackosx here JackOsx - Connecting audio (and now MIDI !)... from any OS X application, to any OS X application
If you have the very old Leopard (OSX 10.5) - here are two versions with or without 3D Bounce as I don't know if the version with the bounce will be able to run on Leopard:
http://bouncemetronome.com/BounceMetronomeLeopard-2014-dec21.zip Bounce for Mac Beta for LEOPARD ONLY - WITH 3D BOUNCE - Sunday 21st December]
The 3D Bounce one won't start in my Leopard virtual machine.
I don't know if this is an issue with the virtual machine, or because the virtual machine uses the original 10.5 version of Leopard which probably almost nobody still has.
Do let me know if you successfully run 3D bounce on Leopard, thanks!
This Leopard version dates back to 2014. I haven't bothered updating it because so far, nobody has contacted me to say they tried to run Bounce on Leopard. So I don't know if anyone is using it on Leopard. If you want the latest version for Leopard do let me know at email@example.com - it is easy to upload a new version of it.
Known issues which I haven't been able to fix
Start up time
It now takes around 4 seconds for the program to start up on the 11" Mac Air. As that's a one year old model - first released last summer - older computers will probably take considerably longer, and the newest Macs would probably start up a bit faster.
Of that, about half a second is the program itself, the other 3.5 seconds for starting up the WineSkin.
You can test for yourself. When you see the splash screen saying "Bounce Metronome Loading..." then that's the moment that the WineSkin transfers control to my program to start up.
There doesn't seem to be much I can do about this.
There's a fair amount it has to do, the downside of making it a self contained program that doesn't require you to install anything on your computer.
For a Wineskin forum discussion, see speedup application startup
Doesn't work with the Mac Voice Over screen reader
Sadly, Bounce doesn't work with Voice Over- the screen reader that comes with the Mac. And Mac - unlike Windows - doesn't seem to have much choice of alternative screen readers, just Voice Over.
Am searching to see if there is a solution and have posted a question about it to the Wineskin forum.
If I can't get it working with normal screen readers on the Mac, my only other thought so far is to look into "do it yourself" approaches using text to speech - but that's likely to have major issues also (cost, for commercial solutions, and licensing issues for the Open Source solutions).
If you have any ideas or suggestions for a solution, or just possibilities to chase up, do say!
More details here: Bounce for Mac screen reader issue details
Multiple monitors issues
For some reason the main window and 3D bounce can only be shown on the primary monitor. Both vanish if moved onto a secondary monitor.
2D Bounce and all other windows are fine on the secondary monitor so long as it is positioned to the right of the primary monitor or below it. But if secondary monitor is to the left or above, they vanish when moved onto it.
To deal with that I have programmed some "work arounds" - Bounce Metronome automatically moves these windows back so that at least part of them shows inside the primary monitor enough so that you can continue to move them around and position them where you want them.
Main window and 3D Bounce
The main window and 3D Bounce vanish if you move them outside the primary monitor for some reason.
To deal with that, Bounce automatically moves those windows at least part of the way back into the primary monitor, when you release them after the move - to make sure that at least part of the window remains visible.
The other windows vanish on the secondary monitor as well - but only if you attach it to the left or above the primary monitor.
To deal with that, again - Bounce Metronome moves the windows back into the primary monitor if you attempt to move them completely out of the primary monitor to the left.
It also moves them back into the primary monitor if you move them above it at all - that's because if you don't do that, and move them above the primary monitor then the title bar vanishes so is impossible to do anything to move them back again.
Removing secondary monitor
If you find that one of the windows vanishes, you can always just remove the secondary monitor - then Mac will automatically move it back into the primary monitor - or if it doesn't, then Bounce Metronome will as soon as it detects that you haven't got a secondary monitor (may need to restart the program).
However - hopefully these two work arounds cope with the vanishing window issue so you don't need to do this.
Escape key shortcut to show a window "full screen" without title bar
This doesn't work for main window or 3D Bounce. If you try you'll just get a message saying it doesn't work and suggesting you try one of the other windows instead (e.g. the separate 2D Bounce window).
Export of animations doesn't work yet
If you set it to uncompressed frames, then you do get an animation file created - but the timing is incorrect. And other options don't create output at all.
This is something I was expecting and mentioned in the kickstarter project page as something likely to happen - as it happens on Linux also.
I'll be investigating it some more to see if I can find a solution - though not too hopeful at present. It's a minor unused feature for most users.
If I don't find a solution, then the best work around I know is to do a real time screen capture video recording of Bounce as it plays the rhythm. Not sure yet how you do that on a Mac, but will find out.
Limited support of antialiasing (edge smoothing)
On Windows, Bounce Metronome relies extensively on Cleartype and Direct2D for the edge smoothing and neither of those are available on the Mac inside of a Wineskin.
I have added an option to do anti-aliasing of the skin, you can find it under
However it's not as good as the Mac native antialiased text, or the Windows native either for that matter.
Also - because it slows down refresh of buttons when they change - when you first show a window, or if you maximize it or go to More - then you may notice that - takes a second or two for it to create visuals for all the controls in the window instead of being almost instant. Also, with this option - then when you first show a window some of the buttons may be plain gray instead of skinned. They change to skinned when you hover your mouse over them.
So because of those issues, the skin aliasing defaults to switched off, but you might like to experiment and see if you prefer it switched on.
The tempo dial edge smoothing though works well, in the main window and the separate tempo dial - so that defaults to switched on. It is not yet enabled for the tempo dial you can show in the 3D Bounce window - just not fully programmed and debugged there yet.
Edge smoothing for the 3D Bounce itself (bouncing balls, baton, blocks, labels etc) - is done the same way on the Mac as on Windows. It looks good - and performance is good also as it is done using accelerated hardware grapahics rather than in software - so is pre-selected to switched on. (Techy details - it is done directly in the hardware of your graphics card or chip using OpenGL).
The 2D bounce works well with edge smoothing also - but it reduces the frame rate noticeably - so I've enabled that only when the rhythm is paused, by default. You can try other settings
Tempo dial in 3D can't be used with edge smoothing - that's probably just temporary - needs a bit more coding to get it working.
Other windows that need edge smoothing include the Lissajous curve, and Beats volumes and times (Ctrl + 76) (the diamonds at the top of that window especially). This is probably reasonably straightforward to do, will look into it later.
What is new
These are just the Mac specific changes. For details of other changes see the Bounce Metronome Change Log
14th December 2016
No Mac specific changes. For what's new see Change log: Wednesday 14th December 2016
29th October 2016
No Mac specific changes. For what's new see Update 29th October 2016 - Bounce Metronome Pro
23rd January 2016
No Mac specific changes. For what's new see Update January 23rd 2016 - Bounce Metronome Pro
12th January 2016
Fixes a bug that lead to a slow frame rate if you hide the bouncing balls in the main window, show just the blocks there, and show the bouncing balls in a separate 2D Bounce window.
Updated to Wineskin 2.6.2 which supports El Capitan. But don't know yet if it runs on El Capitan.
11th June 2015
No Mac specific changes. But is a priority bug fix - if you uploaded the 9th July version and you use the "Go Silent Briefly" feature be sure to redownload this version.
9th June 2015
Fixes a Mac bug - when you click to show a url, e.g. click on the Buy button in the Unlock window, or click to go to the web page for the velocity keyswitches, then get an error message and page doesn't show
6th June 2015
No Mac specific changes.
26th May 2015
No Mac specific changes.
Wednesday 6th May 2015
No Mac specific changes.
Tuesday 7th April 2015
No Mac specific changes.
Monday 23rd March 2015
No Mac specific changes.
21st December 2014
No Mac specific changes, bug fix upload.
20th December 2014
No Mac specific changes, bug fix upload.
14th December 2014
No Mac specific changes.
6th December 2014
Removed Eject Disk from the top menu on Mac, and added a link to the Bounce for Mac website at the top.
Various bug fixes, nothing particularly for the Mac.
30th November 2014
Leopard beta will be uploaded in two versions with and without the 3D bounce. That's because the 3D Bounce code doesn't seem to work at all in Leopard 10.5 (original launch of Leopard) in a virtual machine in VirtualBox. Program won't even start up. Plus another version with the 3D bounce so beta testers can try both.
No shadow for the bouncing ball for bounce on lyrics
Option to Animate only one window at once - doesn't detect when focus is set to the 3D Bounce in the Wineskin
In the Out Devices window, was confusing label: "Default Windows Midi Device". Relabelled this to to "Default Wine Midi Device" for Linux users and "Default Wineskin Midi Device" on the Mac
Was keeping the Mac in a high energy state with thousands of "idle time wakeups" which would impact on battery life if left on battery. This was an issue with my settings in Armadillo, program I use for processing unlock keys and protecting from crackers - defaulted to using a monitoring thread which was totally unnecessary and caused all these wakeups
Shows options for SCALA that don't work on the Mac e.g. to show current scale in SCALA - Bounce inside the Wineskin has no way of starting up SCALA or passing information to it at present - just removed them
Getting freezes / access violations for the bounce on lyrics list when you try to select from it. Turned out to be due to having entries in it that are more than 512 bytes long (not sure of exact maximum length it permits).
Meant had to truncate the lyrics to fit them into the droplist.
Fixed this with a new option: Truncate droplist entries at in the Advanced Options window. Plus "behind the scenes" coding to let you select a truncated lyric and it then gets the full lyric for you.
On the Mac shows options such as to show a scale in SCALA that are not possible on the Mac at present with the program inside a wineskin - at least don't know any way to do it
Fix: hid those options from the MAC version
When program first starts up or if you use the option to reset all the windows within the current monitor - you get a gap of a few pixels to left, right and below each window - fixed with new option in Opts >> Advanced Options to overlap the windows.
The option to use Escape to show windows full screen without title or menu bar - doesn't work (window can't be expanded to that size) - just added message saying it is not supported
Musical notes not working in 3D bounce on Wineskin
If you show a window, then minimize it then move it then reshow it using same button (so in Wine closes and then recreates it) - forgets latest window position and in case of 3D Bounce shows it too large.
If you click on the main menu, say on Instr, the drop menu often vanishes within half a second or so
Sorry don't have a change log for this one.
When you click on the disclaimer and acceptable use buttons - it now shows the documents in Word for Wine. (Before it couldn't do this so I had an awkward work around using the Help window in Bounce).
Apart from that - just a minor bug fix for both Windows / Mac Bug_Fixes#Saturday_27th_September_2014
No Mac specific bug fixes, fixes for Windows and Mac:
(I was working on the FTS Lambdoma for Mac and Windows)
Nothing of any significance for Mac Bounce
Fixes a major freeze bug - and a minor issue with droplists, and may fix an issue with those "yes no" type messages with buttons to press to show your response.
Main thing, fixes a freeze bug - that when you hover mouse over the 3D bounce while it is playing then the bouncing balls may pause, like a stuck frame of the animation, until you stop moving the mouse.
It turned out to be for a rather curious reason - that displaying flat disks using concentric rings of polygons instead of a single disk. Which shouldn't really make much difference on a modern graphics card, doesn't slow down the animations significantly, but even a single disk displayed in that way, for some reason, greatly slows down processing of mouse hit testing. Some interaction of OpenGL, Windows and Glut, the library used to display disks. Yet not an issue at all for spheres, which you'd think would be far more complex in terms of hit testing.
Anyway whatever, main thing is the bug is fixed. Simply setting it to display a disk or a hollow ring shape using just two concentric circles whenever you do hit testing (and also if you don't need textures) = that fixed the bug.
This was an issue for Windows also, as it turns out. But was especially confusing on the Mac because of the other freeze issues which is why I'm mentioning it here as well.
When you try to show a droplist it may immediately vanish, and you have to click several times to show it - this is to do with the tool tips - vanishes because for some reason on Wine Bounce often chooses that moment to try to show a tip - on Windows this doesn't happen, tool tips don't show when the drop list is dropped. Dealt with this by adding extra code to temporarily disable tool tips if you click on a droplist.
Disabled tool tips when focus is set to a message box because of possible buggy interaciton of tool tip code with message box button pressing. Don't need tool tips in that situation anyway.
- maybe fixed?
Hidden the windows during start up until they are moved into right position to show - so less movement on the screen first time the program starts up.
When you click on disclaimer or acceptable use buttons - simpler message, brings up help window and says to hover your mouse over the buttons to see the information in the help window. It's because I can't just show the rich text document on the Mac as I can on Windows - an issue to do with how the wineskin integrates with the Mac I think, not sure why it doesn't work.
Bounce on Lyrics scrolling bug fixed
When the program scrolls the lyrics down by 1 line, then in Wine it scrolls down by half a line. So added a new option to Edit Lyric and Lyrics Options (Ctrl + 231) (more several times) called "Double scroll" in Wine version of Bounce Metronome which just doubles the amount of the scroll - this fixes the bug.
Still working on freeze, added an option to Bounce Options (Ctrl + 220) (more several times) called "Skip all uses of UpdateWindow(..) (may fix freeze bug)" - but actually - doing this caused the freeze bug for the Bounce on Lyrics. So don't recommend you switch this on.
Seems sometimes this routine causes freezes in Wineskin, sometimes it is needed to avoid freezes. And I don't yet know why. Nothing wrong in the code, in the sense, that it never causes any problems in Windows - and it's not at total freeze. It freezes the user interface - but the program is still running, for instance, continues to play sounds. That makes it hard to debug.
But if you get the freeze bug for some particular situation - can try switching that on to see if it fixes it - if so let me know and I'll see what I can do.
Removed a few "UpdateWindow(..)" calls from the 3D bounce initialization to see if this fixes freeze.
Added the Bounce Metronome website to the top menu bar for Bounce Metronome and the Bounce Wiki to the help section of the menu bar.
Freeze - hopefully fixed
Occasional freezes. Not sure why they happen, my freeze diagnostic methods didn't turn up anything conclusive.
The only freeze I was able to duplicate consistently was caused by the ball bouncing on lyrics. The code there updates the parent window after each move of the bouncing ball floating window. This deals with an issue of a bit of remnant from the background texture for the window which appears behind where the ball used to be, as it moves, in XP. This update isn't needed in the WineSkin - so disabled it.
That seems to fix the freeze. But why it caused it in the first place I don't know. Also switching off the textures in Skins (Ctrl + 162) fixed the freeze. So if you get other freezes that might work as a temporary fix - do report them even so.
Also treated task changes differently - no longer suspends threads and resumes them during a task change - as it does on Windows. That might have caused a freeze - and isn't really necessary. And various other things that might have helped - but hard to know if they did as I couldn't reproduce them consistently. However I've run Bounce on a Mac and had no freezese in a fair bit of testing, now. So hopefully they are fixed, will see.
- may be fixed.
Also - now defaults to 24 fps instead of 40 for the bounce animations frame rate - because it seemed to help slightly with the bounce on lyrics freezes to reduce the frame rate, before I did the other fix. Since 24 is fast enough for HD, seems worth reducing the frame rate anyway even though not needed for that freeze, in case it helps.
Still got no idea what the reason is. I can't run my debugger in the WineSkin, and the normal methods I use for diagnosing freezes were inconclusive.Some difference between how Wine and Windows work internally perhaps - which you expect as they had to write the code from scratch - or possibly could be a difference between the Mac and Windows - because at some point those calls my program makes to windows routines get translated into Mac code which would surely not behave identically to the Windows routines in all respects.
Still main thing is to have a work around, sometimes happens with programming that you know a work around is needed, but don't know exactly why it is needed. E.g. to cope with undocumented behaviour of Windows routines etc.
Bounce on Lyrics still buggy
There is some issue with the bounce on lyrics - though highlighting of the word works fine and ball bounces fine, the lyric itself doesn't scroll properly to the top of the next verse when it finishes a verse. Somehow the program gets confused, with the text moving back and forth. Don't yet know why this is happening, next on my bugs to fix list.
Other Wine Mac Bug Fixes
Text sometimes gets clipped e.g. Volume. This turned out to be because the font is a bit larger on Wine for some reason. So fixed it by making the font default to 95% instead of 100%. This made the text rather hard to read though, so I made the windows themselves 10% larger to compensate.
Tips show up too quickly when you hover mouse over a control. That's because Mac users are used to a 1 second delay while the default delay is 0.5 seconds on Windows. Changed it so it defaults to 1 second on a Mac.
Font size for 2D bounce window is smaller when stopped or paused (or - more generally -when you switch edge smoothing on or off)
Jittery bounce animation - may be caused by the edge smoothing for the tempo dial.
I was able to duplicate it in some situations - when you have gradually changing tempo with the polyrhythm cycles - then the tempo dial edge smoothing caused jittery bounce animation. Haven't found a fix for it.
I think it might just be because the tempo dial has to be refreshed so often while the pointer moves - and with edge smoothing done through resampling as it needs to be done in the WineSkin - then each time you draw the pointer onto the dial - you have to resize the dial down from an original twice its size in order to get the edge smoothing. That may be what causes the glitchy animation, if so probaly not much I can do about it.
So - have just made the tempo dial edge smoothing disabled by default. I need to add a message to that check box to explain the reason why it's done that way - forgot to do that with this upload, will do it in a new upload probably later today (24th).
Faster transitions when you select a new metronome type in the main window drop list.
Attempt at fixing the freeze bug - have changed various things - in particular - no longer uses suspended threads as it did before - might possibly be the cause of it.
On the Mac, the Acceptable Use and Disclaimer buttons now bring up text in the help window instead of showing the rtf documents by file association (which doesn't work well on a Mac).
Other minor bug fixes and improvements.
Faster startup, reduced from 10 seconds to 4 seconds on the 11" Mac Air - so probably less than half the previous startup time on most computers.
Added splash screen saying "Bounce Metronome Loading..." as the program starts up. So you can see when the Wineskin finishes its initialization and the program itself starts up.
25th July - Some new features, lots of minor bug fixes. Fixed a bug in Wine that can lead Bounce Metronome to run out of fonts and lead to font issues.
Another bug fix - if you click to show an on screen diamond or pc keyboard when window is already on the screen (e.g. hidden behind main window) - it disappears from the screen - and can't be reshown until you close Bounce Metronome and start it up again
Minor bug fixes.
4th July 2014
Early stage beta - now defaults to high resolution sleep - which seems to fix the timing issues. Do let me know if you still get any issues with this beta.
28th Jun 2014
Early alpha - lots of bugs for this one, including significant timing issues
Work arounds for 28th June beta (fixed in latest)
I'm trying to chase up the timing issue, and just come across something that seems to help.
In- it seems to help there to go to
Don't know yet why that makes a difference - except perhaps - that it's a simpler method than the others - but yet to have a timing glitch with this setting. Another minor issue with this upload.
If you change to a different metronome type in the main window drop list - then only a quarter of the Bounce window gets painted. The remaining three quarters shows black.
Click play and everything is okay.
If that happens to you - it's to do with the anti-aliasing for the paused 2D Bounce. Work around for now is to just close the program and start again and it will then be okay. This looks like an easy bug to fix, just not fixed it yet.
Timing issue (28th June) - seems to be - when making heavy use of the user interface - seems fixed in latest beta
THIS ISSUE NOW SEEMS TO BE FIXED - by use of "High Resolution Sleep" for the timing.
It's a sporadic timing issue - when you click play for first time in a session - also sometimes when changing the tempo - you may get a few notes played out of time - completely out like half a second late or some such.
It is just a momentary glitch for one or two notes.
My best hypothesis is that it's something to do with the midi notes not being played at high enough priority.
That's because I also noticed that if I move a window around on the screen on the Mac while the rhythm is playing, then it can cause delayed notes also (that doesn't happen when you run Bounce on Windows).
What to do if this happens (28th June)
It doesn't seem to be a CPU problem so probably won't help to close other programs (though that does no harm).
Just stop play and click play again - and you'll probably find you only get timing issues when doing quite heavy interactive work with the user interface of the program - maximizing windows say, or clicking and dragging windows and such like things.
Possibly also tool tips - could try disabling those in the help window though I don't think that was the issue here.
I'm interested to hear if others have this timing issue - and anything you might notice that might be a clue about the cause - as well as - of course any other timing issues or any other bugs etc.
Techy details for those interested (28th June)
It's not a CPU issue particularly, as it happens with Bounce using only 10% of total CPU or some such.
I think what's happening here is that the WineSkin or the Mac is ignoring my priority setting for the rhythm.
As a test of that - I just set the rhythm priority right up to its highest possible setting - real time + time critical - on Windows that's the same priority as vital system operations - and far higher priority than the mouse - and still get those glitches as I move the window around on the screen.
That just shouldn't happen if it was respecting the priority setting, as the tune would be higher priority than the mouse (just momentarily - when it wants to play a midi note then when set as high as that - doesn't matter what is going on - it would shove the mouse code out of the CPU and take it over at the highest available priority - just to play that note which only takes a fraction of a millisecond to do).
If that's it - not sure what I can do to fix it, but will search and try to find out more.
Alpha. 17th June 2014
This is the earlier upload from 17th June 2014.
This one has many reported issues. So just including it for completeness.
It looks like a Windows program running on your Mac.
That's because I had to disable the Mac window styling and some of the integration to get the 3D bounce running.
Most of the commands on the Mac top menu bar won't do anything - you need to use the menus inside of Bounce Metronome instead.
The minimize button minimizes it to the desktop rather than to the dock. The maximize button maximizes it hiding the title bar (on my Mac anyway) - but you can restore it using its "Win" drop menu
Other Mac Betas
See also: All the Mac Betas in one list