Added Help Context to the Capture Stats Dialog.
Added 1 second delay before starting preview or capture when the app first starts to help people with slow tuner cards.
If the Video AMP is set to auto for Brightness, Contrast, Hue and Saturation do not alter them.
Save stats - free space and video compression number format fixed.
Use the GetModuleFileName() to get the current exe name, this is used to get the version number.
Help Context in the Settings Dialog is now available, thanks goes to L. D. James for this.
Save Capture Stats, this is under the file menu, it will save the capture stats when the capture is stopped to a text file with the same name as the captured AVI file and in the same directory but with .txt appended to the file name.
Can now scan for TV channels and set custom mapping and station names. Also added the Page UP and Page DOWN keyboard shortcuts to change channel up and down.
Changed the way the help context works, it now shows a popup that looks a little different than the standard context help popup. It also allows new line (<-) characters to be used.
Added support for MEDIASUBTYPE_IYUV and MEDIASUBTYPE_IF09 video pixel formats.
Load All Tuner Settings when loading from a profile file, the only thing that is not loaded not is the Window position values.
Fix the Item ID for the Help Context file to work correctly, removed duplicate entries.
Fixed a crash in settings dialog if you do not have an audio card or video capture card available in your system.
Fixed a crash with Audio Level Set-up if you did not have an audio card installed or available in your system.
Keyboard Shortcut to open Settings Dialog, pressing 'C' will open settings.
Keyboard shortcut to hide the toolbar and status bar 'H' will toggle the toolbar and status bar on and off.
Add "Always on Top" option, use keyboard shortcut 'T' or under the View settings tab.
Turn off screen saver while capturing
Loading a profile does not stop preview until you select the file and click ok.
Altered the way the preview graph is build when using the colour histogram, revert back to old way of doing it. Only use a dedicated Render for the Histogram output.
Always resize the app window even if not using the Smart Tee to Preview
Added a version function to all the filters, the filer version info is now available on the ABOUT tab of the Settings Dialog.
Added VideoProcAmp_Sharpness and VideoProcAmp_Gamma to the set and get Video Amp Settings function.
Revamp of the Colour Histogram Filter, it now does YUY2 and RGB, it only analyses the luminance channel of the YUV format so in YUY2 format it is very fast.
Changed the way Audio scope and Colour Histogram filters are used, you can now select to have these filters included in the preview graph in the VIEW settings TAB. They will be displayed in preview mode only.
Added a toolbar and removed the menu.
Added a status bar text item to show the current capture resolution and colour format, this resolution comes from the smart tee so it takes into account any cropping etc that had been done to the video stream in the pre filtering process.
Added a message to the return if an instance is already running and you start up another instance of Virtual VCR.
When a Capture Graph build or Preview Graph build fails now the Graph is completely destroyed and rebuilt from the ground up, this should help when you get errors adding compression codecs etc that fail and stop the File Writer from being added.
Audio Scope was causing lock-ups when a capture was started and stopped with "Show audio scope when previewing" enabled.
Window position was incrementing causing the window to be created 8 pixels further down the screen each time it was loaded.
A few spelling fixes.
The current Video crop filter can only do planner formats, this means YUY2 RGB etc, formats like YV12 YUV9 etc can not be processed at the moment with this filter.
The colour histogram filter only does RGB24 or YUY2 colour formats at the moment.
Stop building the preview graph multiple time before stating it, also do not start the preview graph before we have all the filter in place and the options set.
Do not stop the preview before showing the settings dialog, but stop the preview and then restart it again when you close the settings dialog.
Add more logging, use "virtualvcr.exe -logging" to turn logging on.
Redesign of the Audio Resample filter from the ground up, should be much more accurate and give better quality output now.
Add Full screen mode, the "F" key will toggle the full screen mode on and off.
Revamp the way the audio and video format is set, it no longer relies on a persistent IAMStreamsConfig interface now, it queries the graph each time it needs it.
Alter the way Key input is done, now get the key value from the actual message data instead of using GetKeyState().
Don't switch focus to the stats window when dragging the main window.
Make Channel spin control change channels in real time on the Tuner Tab of the setting dialog.
Added an Audio Input selection and volume/pan control dialog for setting up the audio input and adjusting the input volume and balance. The new dialog is available under "Input Settings" button on the Audio TAB of the settings dialog.
The audio mixer input settings are now stored in the profile file and default settings when saved and reloaded ,these include the volume and what input was selected.
Added checking so you can not select a master stream for the AVI when using the resample audio option.
Do not act on messages from the FilterGraph to the application when not capturing.
Add some logging capabilities, start with -logging to turn on logging of actions to actionLog.txt file.
Rename a lot of the classes to conform with some sort of standard.
Only allow one instance of the application to run at any one time.
Added an actual % resample value to the capture stats, this value show what the audio has actually been resampled to.
Fixed a bug when using audio resample, if you captured stopped and then captured again the Audio resample filter would not be activated. Thus the second capture would not have audio resampling turned on.
Added a nuke all unconnected filters function.
If there are no video amp settings in the INI file do not try to set them to any default values just leave them alone.
Revamp the AV Sync options, they are easier to understand now, also added a resample audio to option for when you know how much you need to alter the audio stream to match the video manually.
Audio bug where capturing without re sampling would fail with a "Could not render audio stream" error.
The app now has a windows installer, it uses the free version Ghost Install.
Fixed a bug when capturing compressed audio without re-sampling the audio, the audio would not be compressed.
Added a lot of code to test for error conditions, this will help people with cards and drivers that do not have the full WDM tuner interface etc.
Added Audio compression capability, this is still very new and it may not work in all situation so give it a try and see how you go, I tested it with the MPEG Layer-3 codec (Not the built in Microsoft one).
Added output file name override command line option.
e.g. -output "<file name>"
Added store functions for the VideoAmp, this saves and reloads the Video Amp colour settings. (Brightness, Hue, Contrast, Saturation and Colour Enabled)
Fixed a bug with saving the tuner settings in the profile file correctly.
Added -runfor "time in sec" command line option, this will set the time stop condition and enable the use time limit option. It will override any settings in the configuration files (INI).
Added Mono to the Audio Resample Filter, the only limitation on this filter now is the audio has to be 16 Bit.
Changed the way the input select works, now sets this last in the list of things to set.
Added an Audio Scope to help with setting up the audio levels. more info
Added an option to allow Audio delay, you can use + or - values to delay for advance the audio stream.
Changed Layout of the Settings and Options tabs.
Audio Block align setting was net set correctly when audio settings were changed, this would cause anything other then 16 Bit stereo to not play back correctly.
The video source was not set when settings were loaded from a settings profile (.VCR) file, this is now fixed.
Audio setting changes were not changing the AvgBytesSec value when a new setting was selected, this was causing anything other than 44.1 kHz 16 Bits Stereo to play back incorrectly.
Application would crash out when hitting the add filter button on the filters dialog without selecting a filter in the drop down box first.
Rolled back to using the Performance Counters for Sample Rate calculations in the FlowMeter filter, also added detection for a bug that the Performance Counters have. See the following URL for more information on this bug.
Assorted small bug fixes
TV Tuner TAB added to the Setup Dialog.
TV Tuner Mode is now stored (PAL-B, NTSC etc).
The FlowMeter now uses Sample time stamps to calculate the rate of video and audio streams for AV sync, there is a bug with the precision counters with some motherboards and this was causing problem with the Resample option. Thanks to Moitah for bringing this to my attention. This new approach should work better.
Stats dialog is now more compact.
Log AV diff settings to "AVdiff.txt" option added, this helps with AV sync bug finding.
Device Selection, if you had more video devices then audio devices the app would crash.
If no TV audio device was found the TV Audio button on the Audio TAB would crash the app.
Use Smart Tee for Preview option
Implemented a new User interface system, this one is easier to maintain than the menu driven one and easier to use. The main difference is all the settings are now in a properties sheet presented in a TAB selection dialog.
Added "Add Compatibility Index" as an option under the File Tab.
All installed Video filters with at least one input pin and at least one output pin are scanned and added to the list of available filters for pre filtering, if you have the CPU power why not use it :-)
Lots of code clean up, removed a lot of old UI code that is no longer used, removed a lot of legacy stuff relating to device adding removing, I figure that if you add a new device you can close the app and open it again to scan for new devices.
Fixed a few small bugs with "Stats Docking" now should work on XP.
Added a new dropped frame interface to the FlowMeter filter, this can now monitor the media samples that are passing through the video stream and detect late or missing frames. For the time being there are 2 dropped frame counters on the Capture Stats page, Dropped is the normal counter supplied by the capture driver and Dropped2 is the new dropped frame counter implemented in the FlowMeter filter.
In addition to the new dropped frame interface you can now get a list of the dropped frames from a capture by selecting the "Show Dropped Frames" from the Capture menu, this will display what frames were dropped in the last capture.
The FlowMeter filter now takes into account dropped frames when working out the Frame rate of a video stream, this is important, if you have lots of dropped frames it would effect your frame rate and thus mess up the rate control and audio resample system. This new approach should make the AV sync option work better when you have dropped frames.
Added the SyncUsingStreamOffset setting under the capture menu, this should help people with large latency audio cards or video capture cards. There is a heap of docs on the Microsoft site about this and live streams: msdn.microsoft.com
Fixed a problem when moving the main window, its z order would be set to BOTTOM instead of TOP.
Added a disk space free gauge on the status dialog.
Revamped the AV sync process, the feedback loop was prone to errors so it now uses a set ratio based on the video to audio stream differences.
Added a Quit on stop option under the stop conditions dialog, this will close the app when the time stop condition is reached. Thanks to Daniel Ellison for the code changes and development on this.
Fixed a problem with returning focus to the main window, it will now only do it when the stats window is active.
Only show the main window after the all devices have been initialised.
Dock Stats locks the position of the Capture Stats window relative to the main window, when you move the main window the stats window moves as well.
Focus is now returned back to the main window after the stats dialog is moved.
-profile "<location><filename>" can now be used on the command line and in a timed capture using Task Manager, this will load the profile settings in the file specified.
i.e VirtualVCR.exe -profile "c:virtualvcrcapture01.vcr"
To create the profile file use the "Save Profile" option under the File menu.
Fixed a few little bug with the profile files.
Added a system to help sync audio and video while capturing. This allows you to resample the audio to match the Video stream. This is still experimental but give it a try and see how it goes. If it fixes your capture sync problems let me know. For more information CLICK HERE
Added a show capture stats on stop settings, this will pop up the capture stats dialog when the capture stops. This allows you to do a timed capture and then force the stats to be shown when the capture ends.
At the moment only my filters will load, it turns out that there are a lot of directshow filters out there that do stupid thinks when loaded, Virtual VCR would try to load all the installed DirectShow filters and search for valid filters to use. It now just loads my filters, I hope to have this fixed so you can add external filters to the load list in the Base INI file.
Bug Fix: The filter list is now reset when a new profile is loaded, this fixes a problem that when you loaded a profile with a filter already loaded it would double load the filter and cause errors.
Audio settings are now stored in the profile and stored as default when saved.
The correct version information is now shown in the about box, including build number.
Improved turning off the Preview after you start a capture, this now just stops data flowing through the preview pin of the Smart Tee. Once you turn Preview off you can not turn it back on again.
Improved channel changing, you can now select channel 0 to 9999 using the Keypad followed by <enter>
Default Device selection and storing has been revamped, this will now not re-init the graph when the an already selected source device is selected again.
DirectShow transform filter search for Pre filters has been revamped, it will not search all filters installed and only include filters with one input pin and one output pin. If you have a lot of DirectShow filters installed this may take 3 to 7 seconds depending on your PC.
Want Preview and the capture file settings now saved and loaded from the profile files.
Removed Page UP/Down keys from channel changing system, now use Keypad to select the channel you want.
10 <enter> - Will select channel 10
3 <enter> - Will select channel 3
Add Key command to show Capture Stats Dialog key [S] will toggle the stats.
Switch focus back to the main window when you show the Capture Stats Dialog.
Add key command to start preview key [P] will toggle the preview.
Store Tuner country and input type details in the session information INI file.
Add capture profile saving, you can now save your current settings as the default settings or save them to a .VCR file so you can load them later. The app no longer saves your settings on close, you need to select "Store Default" from the file menu to store your current settings as the default.
Added loader screen.
App title now reflects file name if you have date/time stamp set.
Streamline the capture stats window, made it smaller.
Fixed some spelling and dialog box titles.
Allow stop condition to be changed while capturing.
You can now turn preview off and back on again while capturing, but only if preview was originally on when you started the capture.
Added channel changing to the app, "Page Down" (change down) "Page Up" (change up), this will only work if you have a Tuner filter installed for your capture card, some capture cards do not have TV tuners built in.
Can use a command line option when starting to start on a particular channel, use -channel "Number"
i.e. virtualvcr.exe -channel "10"
This can be used with -capture to start a capture on a particular channel.
i.e. virtualvcr.exe -capture -channel "10"
The stop time condition is now an H:M:S entry field, this makes it easier to enter a valid stop time condition.
Disable Pre Filters Set-up when capturing.
Do a window resize when preview starts and when capture starts.
Add a date/time stamp option when settings the capture file name, this option inserts a date/time stamp into the file name when a capture starts, this allows you to capture and not overwrite the previous capture file.
You can now use frame rates down to the .001 resolution.
Colour Format can now be set in the Custom Video Settings.
Fixed a problem with the VideoCrop filter when capturing uncompressed video.
Added a video crop filter, this allows you to crop the edges from the captured video before saving it.
Now saves the filter list, if the filter is one of mine i.e. the Video Crop Filter, the internal state is saved as well. This way the filter will have the same settings as the last time you used it in this app.
Removed the Histogram settings under View as you can add the histogram filter using the pre filter settings now.
Changed the app icon
Stop the preview graph before you edit the pre filters list as some filters can not have their properties changed while running.
Fixed a rounding bug in the stats display. Also audio is a running total now instead of a 5 sec snapshot.
Do the last update to the stats window after you stop the capture not before.
When first run select the first Video Capture and Audio Capture device as the defaults.
Set Window size is now done on the output of the Smart Tee instead of the Video Capture filter, this is so the window is the same size as the output video taking into account any video resizing due to any filters added to the capture graph by using the Pre Filtering Setup.
You can now use "Pre Filtering" When capturing. You can add a number of DirectShow filters to the capture in a filter chain, the filters are added in order and inserted into the FilterGraph before the smart Tee filter so the filtered video stream is shown in the preview as well. The list is not saved when the application closed, you will have to manually add the filters again. Saving will be added in the next release. [more]
Base Priority is now changed to HIGH when a capture starts and back to NORMAL when a capture is stopped.
Capture Stats window now has a close control, the "Toggle Stats" menu item under Window has been changed to "Show Stats" and the toggle functionality has been removed.
Flow meter was placed in wrong location in filter when capturing with no video compressor.
Various other small bug fixes.
App window will remember where it was when closed and open to that location again.
Capture Stats dialog will remember open closed state and location when app closed and return to previous state when app opened again.
Capture will not start if you have less than 10 Meg free on your hard drive, this also takes into account any free space stop conditions you have set as well. You will get an error box telling you that you do not have enough space.
You can now preview with histogram turned on, this will give you a colour histogram graph overlayed on the preview window. You can use this to set up your video capture card brightness/contract etc.
Rearranged the menus to better group functions and tasks.
Now using the FlowMeter DirectShow filter to monitor data throughput in the capture graph, this gives better results for compression ratio, bytes sec, video bytes, audio bytes as well as giving a more accurate time left value.
Removed preview pin configuration as this application does not use it, it uses a smart tea filter to split off the preview stream. More on the Smart Tea filter can see seen at the following address: Smart Tee Link.
Numerous small Bug fixes including
menu problem when no sound device was selected
divide by zero error when capturing
Various others that I do not remember