Hap for vvvv by Demolition Studios 2022

License:
Free for non-commercial use
For commercial usage, a license is needed (direct contact me via lev.panov@gmail.com to purchase a license)

Price is 100 euro for individuals / 200 euro for companies per project per machine (you support further development)
Discounts for multiple licenses apply

If you can not afford on that price, a reduced price is possible

Please send any bug reports/feature requests to the same e-mail address

Requirements: 
1. fresh vvvv >= 45beta35.8
2. dx11 pack >= 1.3.1
3. VAudio pack for audio output (currently built against v18)


Changelog

2022-02-08
1. Fixed a very rare crash related to native textures usage
2. Various other fixes and improvements 
2. (internal) Upgraged the native plugin build toolset from v140 to v142
3. Removed the deprecated modular nodes  

2020-10-13
1. Video texture uploading is being done in background now, making the mainloop decoupled and generally smooth even when playing a lot of videos
2. Reduced number of memory copying operations, gaining up to 10% of playback performance
3. Improved calculation of decode threads number for chunked Hap files
4. Hap R (high-quality BC7 texture compression) support


2020-03-14
1. Reverse playback
2. Smooth looping. No hiccups at the start of new loop  whether you have the start/end frames set or not!
3. Better playback speed control
4. Multi-channel audio support
5. Async open/close (almost not affecting mainloop if number of videos is not insane)
6. Improved stability and performance in some cases
7. Slightly less modular design :)
All the old nodes are still there, but now have Deprecated suffix in their names. You need to update them from the node browser in order for the old patches to work.
New suggested nodes are HapPlayer/HapPlayerState. Async open works only there. HapAudio remains alive
8. Extra output pins with some useful info
9. (NEW) Frame-precise playback control is available now for commercial projects (direct contact via e-mail)

2017-06-20
1. Experimental support of non-multiple of 2 video resolutions
2. Accurate computation of the current frame index
3. The image queue size was increased to 10 frames/100Mb, which gives slightly better performance in some cases
4. Don't seek to the start when the playback is finished
5. Loop pin of HapAudioClock now accepts a boolean (on/off)
6. Fix Opened/Playing outputs of HapState: don't reset to false when opening a single video from the input Path spread
7. HapReaderNode: make number of ouput slices equal to maximum slicecount of (Path, Open) input spreads
8. You can open one video multiple times, or open a video using arbitrary Open slice, without opening all the slices prior to it in the Open spread
9. Now works with vvvv 45beta34.2


Known issues/missing functionality:
1. (NEW) Frame-precise playback control is available now for commericla projects (direct contact via e-mail)
2. New loop won't be started if the video was opened with audio flag enabled, but samples are not being fed into VAudio
3. The video texture is being updated in the main thread, which don't seem to be a big problem right now, but might be eventually replaced with immulable texture/dynamic texture within a deferred context for background texture uploads


HAPEncoder (HAP FFMPEG).v4p contributed by @microdee
This software uses code of FFmpeg licensed under the LGPLv2.1