MONOGRAM GraphStudio
GraphStudio is a new project I have started to work on. It should be free and available as opensource under the GNU GPL license. The main reasons for this project were lot of cool features missing in GraphEdit tool. And of course, the fact that it’s not being developed as fast as one may need.
(http://blog.monogram.sk/janos/download/tools/graphstudio-small.png)
I would like to keep as much of the original GraphEdit look & feel as possible so the people who were/are using GraphEdit could switch to GraphStudio without any problems and include several new features like:
* Detailed System, Filter, Pin, MediaType information
* Reports
* Registry modification (add/remove types for filters manually)
* Information on registered filters (CLSID, name, file, version, location …)
* Detection of broken registry entries
* Easier graph construction
* Support for DVB, DVD, Capture graphs
* Inspection of media type formats including header parsing for existing codecs such as H.264, MPEG-2 …
* Dumping of media type formats for later analysis
* and many more …
http://blog.monogram.sk/janos/tools/monogram-graphstudio/ (http://blog.monogram.sk/janos/tools/monogram-graphstudio/)
Changelog
New Features:
Navigate around filter graph using keyboard. Arrow keys navigate between filters, control-arrow navigates between pins, shift key extends the selection. Newly created filters are connected to the currently selected output pin. Escape key to clear filter and pin selection. Shift F10 or menu key for context menu. Enter or Alt Enter for properties. Delete or Backspace to delete filter(s) or disconnect pin(s). Shift Delete or Backspace to disconnect filter(s). ( issue #217 , # issue 252 , issue #254 )
Connect pin offers popup menu of available target pins to connect to. If selected pin already connected, reconnect with the same media type (or use intelligent or choose media type modes if enabled). If two filters are selected, connect the filters together via the first available pins. ( issue #222 , issue #249 )
XML files now saved under new .grfx extension. .grfx file extension is registered with Windows ( issue #152 )
Preview and filter DbgLog file output in property page (NB DbgLog works in debug filter builds ONLY). Also configure registry settings for DbgLog. ( issue #61 )
Better support for creating filters directly from DLLs instead of CoCreateInstance. Scan for CLSIDs implemented by DLL, create the filter from the same DLL when graph is saved to .grfx file and reloaded (impossible to support this for .grf files though). DLLs appear on the File menu as recently used files (but don't clear the existing graph when 'opened'). Property pages are created directly from filters DLL class factory with fallback to creating via CoCreateInstance. Can be used to run two different versions of the same filter side by side in a single graph. ( issue #31 )
Disconnect selected filters ( issue #236 )
Show H.265/HEVC decoder specific configuration ( issue #242 )
Show streaming progress in windows 7 taskbar (issue #18)
GraphEdit-style options for auto arrange filters and auto resize to fit graph (issue #113)
Looped playback (issue #241)
Full screen playback (issue #211)
Resizable property dialog ( issue #216 )
Register/Unregister Filter File without restarting the program as admin ( issue #218 )
Change filter merit without restarting the program as admin ( issue #219 )
Show registered file and protocol handlers ( issue #37 )
New File option 'Clear Document Before Load'. If disabled can load several graph files into a new graph. Useful for reusing old graphs - e.g. source from one graph and renderers from another ( issue #183 ).
Context menu item to find filter in filters window ( issue #204 )
Optionally save XML, GRF and screenshot on every save ( issue #199 , issue #174 )
DXVA-Null-Renderer added to internal filters
Optionally hide filter enumeration stats from statistics window ( issue #214 )
More robust matching of different GUID formats in GUID lookup window ( issue #198 )
Command line options to open remote graph. Integrates with DirectShow Filter Graph Spy http://alax.info/blog/777 ( issue #209 )
Support for PSM_PRESSBUTTON messages in property window ( issue #207 )
Switch between property page tabs using Control-Tab ( issue #168 )
Optionally leave playback clock enabled in performance test window ( issue #190 )
More flexible input of time format in seek dialog ( issue #191 )
Save filter wrap width as preference and add 'reset spacing' menu option ( issue #189 )
Show medium info in pin details (IKsPin for kernel streaming devices)( issue #192 )
Show filter name in title bar of pin properties dialog ( issue #194 )
Set LargeAddressAware flags to allow up to 4GB memory usage in 32bit version
Different icon for 64bit version
Various keyboard access improvements (e.g issue #221 - Ctrl+Enter for switching between property pages)
Visual Studio 2011 and Visual Studio 2013 project files
Bug Fixes:
More reliable pin connections when loading from .grfx file or .grf file with internal .grf parser ( issue #238 )
Property page crash in Microsoft DVBS Network provider filter when no tuner hardware present (# issue 231 )
Crash when viewing property page of pin that no longer exists ( issue #239 )
Overflow calculating AvgTimePerFrame on H264 ( issue #246 )
Create AAC Pin with PsiConfig (issue #206)
Better accuracy parsing seek times ( issue #226 )
Better error feedback for performance test window graph building ( issue #182 )
Remove non-functional menu items from context menus of wrapper filters e.g. DMO wrapper filter ( issue #169 , issue #175 )
Support clipboard keyboard shorcuts for text controls in floating windows - Ctrl+A/C/X/V/Z ( issue #215 )
Crash in properties windows for Analyzer Writer Filter Input pin ( issue #220 )
Fix to property window positioning (issue #213)
Fix for annoying keyboard focus issues ( issue #210 )
Bug fixes to apply button handling in property window ( issue #208 )
Fixed drawing issues for long pin names ( issue #201 )
Show information for filters not registered in default category ( issue #196 )
Windows 7 taskbar behaviour fixes ( issue #197 )
Set focus to existing property windows if already shown ( issue #179 )
Changed title bar when connecting to remote graph ( issue #184 )
Show error message if setting source or destination file by drag and drop fails ( issue #188 )
List supported time formats in property window ( issue #193 )
XML file loading now prompts only once for each missing source or sink file ( issue #185 )
Crash fix to internal graph parser inf tee loading ( issue #171 )
Hide tooltip if no text to show ( issue #170 )
http://code.google.com/p/graph-studio-next/
Changelog
New Features:
Better support for editing and persisting filters created directly from DLL class factory issue #318 issue #317 issue #227
Show internal filters in Filters dialog issue #312
Create stream buffer recordings from Stream Buffer Sink filter property page issue #302
Display IPin::QueryInternalConnections result in Pin PropertyPage issue #300
Connect newly created filter to previously selected filter for faster graph building issue #265
New option to reserve memory below 2GB/4GB for testing 32bit LargeAddressAware filters and 64bit filters for pointer truncation bugs issue #298
Mediainfo information display for files created by file writing filters (similar to source file filters) issue #278
Save text/graph information with graph and tweaks to text information issue #277
Show current sync source in status bar
Include frames per second in video media type details issue #295
Implement loading from ipersistpropertybag option when loading GRFX files issue #284
Added count*average column to statistics windows issue #270
Integration with DirectShowSpy property frame helper in remote graph form issue #264
Display filter merit as SDK constant (as opposed to numeric value)
Bug Fixes:
Fixed multiple layout problems on high DPI systems issue #255
Filter name not displayed for filters supporting IFileSourceFilter, IFileSinkFilter issue #305
Fixed registration of internal DXVA Null Renderer filter issue #310
Crash fix connecting to remote graph containing video renderer filter issue #333
Crash fix closing property page launched from filters window issue #329
Fixed bug in sync source selection in new graphs issue #291
EVR renderer is no longer closed and recreated when graph is refereshed issue #293
Fix to Analyzer Filter property page issue #289
Filters having no valid CLSID are showing invalid tool tip with text from another filter issue #288
Analzyer writer filter returns current position from IStream::Seek issue #281
Fixed wrong loading of current sync source in GRF and GRFX files issue #268
32bit version running on 64bit OS no longer silently ignores exceptions that happen from user mode callbacks (e.g. key press handlers) issue #269
Better robustness against filters that delete rather than Release() pins issue #115
Better property page positioning issue #213
http://code.google.com/p/graph-studio-next/