1. Whirligig
  2. News

Whirligig News

VLC plugin integration, Audio reactive backgrounds, optimisations, bug fixes.

Hi all

So I've been working through as many issues as I can, many reported by you guys, keep them coming the more that I can squash the better and I've started improving and adding new features.

I'd like this version to be the next default release so you come across any issues please let me know [email protected]

Improved
  • Error detections for images and video.
  • Controller presence improved.
  • Shortcut menu look improved and close button fixed.


Fixed
  • Media Foundation/Directshow subtitles fixed for curved screens. This could still be improved.
  • Playlist buttons not working.
  • Dark video on Directshow fixed.
  • Option for playing video from last play position fixed.


New Feature
  • Disable gaze added.
  • Audio files mp3/ogg/acc etc now play correctly.
  • Audio reactive menu so you can have 3D spectrogram for your music now added.


Disable gaze added
So I've been working on making Whirligig a viable none VR video player for a few reasons. My development is actually mostly using the NoneVR version as it's easier to work on than in VR, I enjoy watching movies and series using VLC but would like to be able to do things that it can't in that player and of cause it's just nice to keep improving Whirligig.

A request for a way to turn off the gaze option was sent to me as the user was using the desktop features and didn't want the mouse to be snatched away every so often. It seemed like a good idea to add so I have.

The way it works is under settings/input there are now three options to disable different control systems, disable VR controllers, disable gaze control and disable mouse control. you can't disable all options (to prevent being locked out) and if you try the mouse control will come back on. Let me know if you have any issues but hopefully this implementation should fix a couple of things.

Audio background

So this is something I wanted to do for a while and because it wasn't too hard to implement and also didn't effect any other part of the player I've added it now.

Currently it only works with Media Foundation and WinRT video paths.

The implementation uses this plugin https://youtu.be/7A7ae-gYLUI so have a look and give it a try.

Other than all that I've continued to fixes bugs and optimise. If you come across any bugs please let me know [email protected]

Thanks for everyone's support.

All the best

Phil

VLC replacement, first proper beta, a load more image support.

Hi Everyone

Following the significant previous update. I've replaced Whirligig's VLC component with the official plugin (another big update). Although the plugin is in its early stages and may have some issues, the overall advantages outweigh the disadvantages and will benefit future features. I've also optimized the code extensively, resulting in a smoother experience overall.

VLC brings the following benefits:
  • GPU decoding, which significantly improves playback performance.
  • Image support for various formats such as xcf, gif, tiff, tif, ilbm, pcx, tga, bmp, pnm, webp, bpg, jpeg, jpg, jps, png, and pns.
  • Enhanced subtitle support.


Other updates include:
  • Comprehensive optimization and bug fixing of the code, resulting in Whirligig now running much smoother.


Currently in testing
So this update has a lot of code changes which makes it a lot faster than previous version. I would really like feedback if there any issues, I know about a couple including VLC Lan not showing progress on the bar until it's paused. These are being worked on, anything else please let me know.

I hope that I've not introduced a lot more bugs and actually through the code optimisation removed some but it is a big code change so there will be some I'm sure. I'll continue to work on it and release new updates.

One last thing. If you have been using Whirligig and like it please give a good review. The new updates have garnered some bad responses and although I should ignore them it does cut a little deep when someone uses Whirligig for over 100 hours and then give it a thumbs down. If you are having problems I would prefer to fixes the issues you have for the good of everyone. I understand if people wish to review Whirligig badly, it's not for everyone but I would say that it's also easy to believe that there is a large company out there taking advantage of you. It's just on person I'm afraid. A lot of games and apps on Steam are created by individuals or small teams and a kind word can help them to continue development.

I wish everyone the best, happy watching.

Phil

Default update to OpenXR with many new features

Hello to all Whirligig users

So I've been working on an OpenXR release for a long time. Trying to get all the controllers working, testing with multiple setups, WMR, Oculus and Vive headsets and multiple controllers, Quest, Quest2, Rift, Index, WMR and Vive original. After a few weeks of testing, community feedback and bug fixes this is that OpenXR default build release.

[h3]Overview of release[/h3]

This is a major update to the core of Whirligig with a switch over to the OpenXR sdk. I really don't want to break anyone's enjoyment of Whirligig but for me to continue support and add new features this is something that needs to be done. To reduce the chance of disruption I'm not removing the old builds from the beta list. If you have issues you can change back to the default build. I've also included a new version that uses SteamVR instead of OpenXR incase some headsets have issues with the OpenXR SDK. Here is a summary of those builds with a guide to changing to other beta versions.

[h3]How to change to other beta versions[/h3]

Steam's beta program is very easy to use and you can switch between versions in seconds. Here are a couple of guides.


I've also created a tutorial on Youtube:

https://youtu.be/z9pv-cgn4IE

[h4]Beta version - None[/h4]
None means that you'll use the default build. The default build is the version that'll you'll automatically download when purchasing Whirligig. Updates will happen to this build but will go through a much more rigorous testing process before release.

[h4]Beta version - whirligig_early_access_v.4.881[/h4]
This version was the previous default build released 2021. If this major update causes problems and you wish to return to the previous version choose this one. This version will not be removed and once you've chosen it any updates to the main build will not automatically update your version.

[h4]Beta version - whirligig_openxr_early_access_v.4.9841_steamvr[/h4]
The latest build uses OpenXR as it's core SDK. This version has been created with the SteamVR SDK. This version has been provided to support headsets that aren't fully operational with OpenXR. If you have performance issues that could be related to OpenXR try this version. Although this version is based on the latest build it won't be updated unless requested.

[h4]OpenXR Update[/h4]

[h3]Core SDK is now OpenXR[/h3]
So if you follow any VR news you'll know that OpenXR is a big deal and will help to ease development for porting, new headsets being compatible out of the box and overall improving the VR experience. Whirligig up until now has had two SDK implementations, Oculus and SteamVR. I've removed these and replaced them with the OpenXR system.

Advantages of OpenXR
OpenXR is in constant development with improvements that will carry down to all headsets.

You will be able to use your headset with the VR front you desire. OpenXR is fully compatible with SteamVR, Oculus Store and Windows Mixed Reality Portal. This means when using Whirligig from Steam you are not forced to use SteamVR. With direct support from each platform any performance improvements those platforms use will be filtered down into Whirligig.

OpenXR implementation has meant I've removed the input options for both Oculus and Steam replacing it with a universal controller and some core controllers to use. You could select different controller skins when using Oculus. Now this feature is available on all setups.

Quicker updates to other platforms. As all builds have been brought under one sdk I can now release the same version on different platforms with little change to the code. This will help to reduce bugs being introduced into other versions when updating and help my confidence that when I update I won't be breaking everyone's experience.

I can develop for both PC and Mobile headsets at the same time.

Disagvantages
OpenXR is new and in constant flux. For development this is both advantages and crippling as currently every update to the SDK can cause issues in multiple ways. This will improve greatly over time but currently it's making supporting some headsets (mostly mobile headsets) quite difficult.

Some features aren't working. Basically the UserPresent (what happens when the headset is put on or removed) feature isn't working properly. I will be implementing this back in once it's back up and running.

[h4]Feature Updates[/h4]

Thumbnail view in explorer



There is now a thumbnail option within the explorer. This option allows you to view all your video or images with a thumbnail view. Loading thumbnails can take up some resources so some caching of thumbnails occurs to speed up reload times. This addition is quite complex so there might be bugs that still need looking into. If you have issues switch back to the standard explorer which is much more stable.

If you have issues let me know so I can address them for the next update.


Presets include some standard options for easy selection



These include Cinema in void (has a reasonable curve on it), 180 fisheye (good for fulldome content) Equirectangular (what most 360 films are in) and cinema environment (where you're actually in the cinema.

Surround sound support.



If you are playing videos, which include 5.1 audio tracks they can now be viewed with positional audio. This option also includes levels for each channel which is good if you wish to boost the voices in a film (voices are mostly in the front centre channel).

For this feature to work you are required to be in either Media Foundation or RT video path. Whether you can play back the 5.1 audio depends on the compatibility the video has with Media Foundation.

Update to main UI



The main UI has been updated to include the presets menu and a mute button for the volume. There have also been some repositioning of the playback options to be similar to other media players.

Update to the controller UI



In previous versions the functions on the controller have been a bit rudimentary. This has been updated entirely with all your easy access functions, play, pause, media timeline, volume, next/previous media, time (what time it is so you don't have to take your headset off to find out), audio menu and subtitle menu. This menu can be activated by simply point the laser at the other controller. It will disappear after a few seconds so not to get in the way.

Something to note. With the update to the controller system bindings may need resetting. If you find that your control bindings are acting weird, go into the input settings and either reset your controller bindings to default or set up your own.

Input control skins now available in all version with additional controller options



As mentioned before a lot of work has been done on the controllers. Here are a few screenshots that illustrate some of those options.

NDI Support

If you work in production you might of come across NDI. NDI is a way to send video over a network and be picked up by other devices. This is useful for previewing video streams from programs such as After Effects and VJ software.

[h4]Trouble Shooting[/h4]

Q - I get a loading but it never loads.
A - I don't know why this is currently happening but it appears to be something to do with what option is loaded when loading Whirligig. The solution that seems to work for people is to run Whirligig from the install directory. In my case the install directory is C:\Program Files (x86)\Steam\steamapps\common\Whirligig but yours may differ.

Things to note when running directly from the install directory. The amount of time Whirligig is used won't be registered and you don't need Steam open to use it.

Everything Else All At Once

There have been numerous other updates including a host of bug fixes and optimisation. I can't list them all here but rest assured they have happen :)

[h4]How can you help[/h4]

Bug reporting
This is a major update and although I've worked hard to avoid any issues with the update I am aware that there still might be some that got through the net. If you have issues please let me know by either posting a message on this announcement or emailing me directly [email protected]

Feature requests
I'm also interested to hear about where you wish Whirligig to go in the future. I've got a few ideas I'll be working on, but if there are things that you want Whirligig to support I'll be very interested to hear your ideas. Many of the current features are from community requests so I'm always happy to hear your ideas in how I can make Whirligig better.

Positive reviews
What can I say, I'm a sucker for praise :) But seriously positive reviews can help greatly in getting Whirligig to more users, pushing it's presence on the store and informing people of what they will be getting. And if I was to be honest it also helps me to know that people apricate what I'm doing and helps to encourage me to continue my development of Whirligig.

Try Whirligig for Applabs
One of the big drives for changing to OpenXR for Whirligig is to ease development on other platforms. Whirligig is available on Applabs for the Quest 1 and 2 and the more people using it on that platform the better. However what I'm not asking you to do is buy it again. If you already own Whirligig and want an Applab code email me with your Steam details and I'll send one over. My email address is [email protected]

In fact if you want Whirligig on any other platform email me and I'll send you a code. At the moment the most recent version of Whirligig is here on Steam but I'll will soon be updating the Oculus Store, Viveport and Pimax store versions.

Do you have a Pimax Portal or a Pico3/4?
I'm developing versions for both the Pimax portal and Pico headsets. If you want to give them a go fire over an email and I'll send you a version to install. I hope to get Whirligig on these respective stores but until then I'm happy to send out free test versions to whoever wants them.

[h2]And Finally[/h2]

So this will be a very big update to the main build and as such it worries me greatly. I have been working on this for a long time and with any luck it will improve my overall development and support for other platforms and speed up the addition of new features.

I really apricate the support I've had from the community over the years and really want to continue to update and improve Whirligig for everyone. Whirligig is a passion project and not my main income and it's the tightknit community with their desire to fiddle with every setting that has helped to keep Whirligig relevant for some and keep me interested in developing it. All the changes I've made are to help me continue to support Whirligig and continue to make it relevant for future media watchers.

I thank you all and I hope to continue to improve on a product that works the best for you.

Keep watching :)

All the best

Phil


Whirligig OpenXR beta release - final drive before main build update.

Hello to all Whirligig users

So I've been working on an OpenXR release for a long time. Trying to get all the controllers working, testing with multiple setups, WMR, Oculus and Vive headsets and multiple controllers, Quest, Quest2, Rift, Index, WMR and Vive original. After a few weeks of testing, community feedback and bug fixes this is that OpenXR default build release.

[h3]Overview of release[/h3]
This is a major update to the core of Whirligig with a switch over to the OpenXR sdk. I really don't want to break anyones enjoyment of Whirligig but for me to continue support and add new features this is something that needs to be done. To reduce the chance of disruption I'm not removing the old builds from the beta list. If you have issues you can change back to the default build. I've also included a new version that uses SteamVR instead of OpenXR incase some headsets have issues with the OpenXR SDK. Here is a summary of those builds with a guide to changing to other beta versions.

[h3]How to change to other beta versions[/h3]
Steam's beta program is very easy to use and you can switch between versions in seconds. Here are a couple of guides.


I've also created a tutorial on Youtube:
https://youtu.be/z9pv-cgn4IE

[h4]Beta version - None[/h4]
None means that you'll use the default build. The default build is the version that'll you'll automatically download when purchasing Whirligig. Updates will happen to this build but will go through a much more rigorous testing process before release.

[h4]Beta version - whirligig_early_access_v.4.881[/h4]
This version was the previous default build released 2021. If this major update causes problems and you wish to return to the previous version choose this one. This version will not be removed and once you've chosen it any updates to the main build will not automatically update your version.

[h4]Beta version - whirligig_openxr_early_access_v.4.9841_steamvr[/h4]
The latest build uses OpenXR as it's core SDK. This version has been created with the SteamVR SDK. This version has been provided to support headsets that aren't fully operational with OpenXR. If you have performance issues that could be related to OpenXR try this version. Although this version is based on the latest build it won't be updated unless requested.

[h4]OpenXR Update[/h4]

[h3]Core SDK is now OpenXR[/h3]
So if you follow any VR news you'll know that OpenXR is a big deal and will help to ease development for porting, new headsets being compatible out of the box and overall improving the VR experience. Whirligig up until now has had two SDK implementations, Oculus and SteamVR. I've removed these and replaced them with the OpenXR system.

Advantages of OpenXR
OpenXR is in constant development with improvements that will carry down to all headsets.

You will be able to use your headset with the VR front you desire. OpenXR is fully compatible with SteamVR, Oculus Store and Windows Mixed Reality Portal. This means when using Whirligig from Steam you are not forced to use SteamVR. With direct support from each platform any performance improvements those platforms use will be filtered down into Whirligig.

OpenXR implementation has meant I've removed the input options for both Oculus and Steam replacing it with a universal controller and some core controllers to use. You could select different controller skins when using Oculus. Now this feature is available on all setups.

Quicker updates to other platforms. As all builds have been brought under one sdk I can now release the same version on different platforms with little change to the code. This will help to reduce bugs being introduced into other versions when updating and help my confidence that when I update I won't be breaking everyone's experience.

I can develop for both PC and Mobile headsets at the same time.

Disagvantages
OpenXR is new and in constant flux. For development this is both advantages and crippling as currently every update to the SDK can cause issues in multiple ways. This will improve greatly over time but currently it's making supporting some headsets (mostly mobile headsets) quite difficult.

Some features aren't working. Basically the UserPresent (what happens when the headset is put on or removed) feature isn't working properly. I will be implementing this back in once it's back up and running.

[h4]Feature Updates[/h4]

Thumbnail view in explorer



There is now a thumbnail option within the explorer. This option allows you to view all your video or images with a thumbnail view. Loading thumbnails can take up some resources so some caching of thumbnails occurs to speed up reload times. This addition is quite complex so there might be bugs that still need looking into. If you have issues switch back to the standard explorer which is much more stable.

If you have issues let me know so I can address them for the next update.


Presets include some standard options for easy selection



These include Cinema in void (has a reasonable curve on it), 180 fisheye (good for fulldome content) Equirectangular (what most 360 films are in) and cinema environment (where you're actually in the cinema.

Surround sound support.



If you are playing videos, which include 5.1 audio tracks they can now be viewed with positional audio. This option also includes levels for each channel which is good if you wish to boost the voices in a film (voices are mostly in the front centre channel).

For this feature to work you are required to be in either Media Foundation or RT video path. Whether you can play back the 5.1 audio depends on the compatibility the video has with Media Foundation.

Update to main UI



The main UI has been updated to include the presets menu and a mute button for the volume. There have also been some repositioning of the playback options to be similar to other media players.

Update to the controller UI

In previous versions the functions on the controller have been a bit rudimentary. This has been updated entirely with all your easy access functions, play, pause, media timeline, volume, next/previous media, time (what time it is so you don't have to take your headset off to find out), audio menu and subtitle menu. This menu can be activated by simply point the laser at the other controller. It will disappear after a few seconds so not to get in the way.

Input control skins now available in all version with additional controller options



As mentioned before a lot of work has been done on the controllers. Here are a few screenshots that illustrate some of those options.

NDI Support

If you work in production you might of come across NDI. NDI is a way to send video over a network and be picked up by other devices. This is useful for previewing video streams from programs such as After Effects and VJ software.

Everything Else All At Once

There have been numerous other updates including a host of bug fixes and optimisation. I can't list them all here but rest assured they have happen :)

And Finally

So this will be a very big update to the main build and as such it worries me greatly. I have been working on this for a long time and with any luck it will improve my overall development and support for other platforms and speed up the addition of new features.

For me to be confident enough to update that main build I want feedback from anyone who's giving this build a go. Bugs are the most important thing to bring to my attention and if you can explain them in a way I can recreate, I will do my best to fix them.

I really apricate the support I've had from the community over the years and really want to continue to update and improve Whirligig for everyone. It's not possible to make a living on the income I get from Whirligig and it's the tightknit community with their desire to fiddle with every setting that has helped to keep Whirligig relevant for some. All the changes I've made are to help me continue to support Whirligig and continue to make it relevant for future media watchers.

I thank you all and I hope to continue to improve on a product that works the best for you.

Keep watching :)

All the best

Phil


Whirligig OpenXR

Hi Everyone

So I've just uploaded the first version of Whirligig with OpenXR support I wish to shout about :) Check the betas: whirligig_openxr_early_access_v.4.972

So I've been working hard on this big update that will allow for a greater cross compatibility and better all round support.

Why OpenXR
Whirligig has for a long time support two SDK's. The Oculus SDK and SteamVR SDK. These SDK's are both in the current default version. When running Whirligig it will test the VR headset and then run the correct SDK. This has worked well for a long time but has some distinct disadvantages. The main issue that I have is that the code has to be split between the two SDK's which decreases the ability to fix issues as I need to test with both. It also means that separate support for every controller has to be made. On top of that whenever I update one beta I can't easily update others as each time I have to make major changes to the code to get it on each store. It restricts the builds to just those two platforms Oculus and Steam and currently they aren't running at the same versions.

OpenXR offers a way to integrate all the features and controllers without having to rewrite for every headset. This has long term advantages as all the major manufactures are starting to or already supporting OpenXR.

Whirligig OpenXR - Advantages

Controller Skin support for all controllers. I've universal controller design and you can choose between which one you have.

Requirements to run SteamVR or Oculus Store are no longer required. You can use whichever store you wish as long as it supports OpenXR. Anyone with a Mixed Reality headset for instance can now run Whirligig without SteamVR.

Universal Updates. As Whirligig exists on both PC VR and mobile VR this update allows me to work on all versions at once. This allows me to make improvements to one version and that can be translated across all versions. When things are going strong there will be simultaneous releases of new updates on multiple platforms at once.

New headsets with OpenXR support will have automatic compatibility.

New features that come to OpenXR can be integrated giving multiple headsets automatic support. For example OpenXR has introduced hand tracking support. Once I've integrated that it will become available with each headset as they add their OpenXR support.


Whirligig OpenXR - Disadvantages

Not all features are supported with the current OpenXR version. The main one that has support in all Headset SDK's but fails on practically all of them is User Presence. As this feature is currently not working the option for things to happen when putting on the headset is practically disabled.

Once it's been fixed it'll be integrated back in but until then it isn't functioning properly.

Many advanced features that are available with a headset are only available with their SDK. This means that I currently have to miss out on certain updates such as video passthrough and eye tracking. All the major headset manufacturers have signed up to support OpenXR however so these features will come in time.

Individual controller models have been dropped. I’ve been working on a universal controller that has the standard layout without being headset specific. The advantage of this is that I can now have skinnable controllers for all headsets and I can also improve the on controller controls (which I have done). I’ll continue to improve this support as I go.

So give it a go
This release has a lot of major under the hood changes with all the old SDK and controller scripts ripped out and replaced with the OpenXR setup. I’ve also completely replaced the input system so that it should have better compatibility with gamepads as well as VR Controllers.

So I now want as many people as I can to give it a go and report back any issues they’re having. With such a big change switching the default is quite a frightening prospect so any issues I can squash before that the better.

If you run into bugs message here or contact me directly [email protected]

In Other News
As mentioned above Whirligig is available for some of the mobile headsets. The first that has official support is the Oculus Quest 2 (not the Quest apparently so I need to fix that). This is available from applabs but I’m also giving codes away to people who already own Whirligig on Steam or other stores. If you’re interested in a Quest 2 Applab code email me [email protected] and I’ll send one over. Note, I only have a limited number though.

The other headset that it works with is the Pico 3/4. However this isn’t available in the store yet. I do hope to get it in the store but I need testers to help me get it store ready (it’s pretty close to be honest). So if you own a Pico headset email me and I’ll be able to send a link so you can try it out.

And Finally
That’s it for now. I’m going to be ramping up releases as I work through the bugs so expect a bit more activity here over the coming weeks.

Hope you’re all well and keep watching.

All the best

Phil