Skip to content

Commit

Permalink
More additions to docs/FAQ.md
Browse files Browse the repository at this point in the history
  • Loading branch information
mikecopperwhite committed Mar 11, 2017
1 parent 85f2140 commit 22107ea
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# GraphStudioNext

GraphStudioNext is a DirectShow graph editor. It's an open source alternative to [Microsoft Graph Edit](https://msdn.microsoft.com/en-us/library/windows/desktop/dd407274.aspx) in the [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk) with many additional features.

GraphStudioNext is a fork of [RadScorpion's](http://blog.monogram.sk/janos/) [GraphStudio](http://blog.monogram.sk/janos/tools/monogram-graphstudio/).
Because development had stopped on the really useful tool GraphStudio, I started this fork. I use this application every day and I needed some new features to support my workflows and wanted to fix some really annoying bugs.

Expand Down
19 changes: 15 additions & 4 deletions docs/FAQ.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# GraphStudioNext Frequently Asked Questions

### What's a *"DirectShow Graph Editor"* and why would I want to use one?
[DirectShow](https://msdn.microsoft.com/en-us/library/windows/desktop/dd375454.aspx) is a Microsoft Windows multimedia streaming API. A DirectShow [graph](https://msdn.microsoft.com/en-us/library/windows/desktop/dd407188.aspx) is a collection of connected multimedia components configured to achieve a particular multimedia processing task (e.g. media playback, capture or conversion). A DirectShow graph editor such as Microsoft [GraphEdit] (https://msdn.microsoft.com/en-us/library/windows/desktop/dd377601.aspx) is a test environment for creating and testing DirectShow graphs. Graphs can then be created directly in a programming language such as C++ using the DirectShow API.

### Where's the Mac/Linux/Android/iOS etc. version?
DirectShow is an exclusively Windows technology so GraphStudioNext is Windows only and not designed for portability to other platforms.

### Does GraphStudioNext also support Media Foundation?
No. Media Foundation is a later Windows API that has similar concepts to DirectShow. DirectShow and Media Foundation are not currently designed to interoperate. Hybrid components could be written to transfer data between DirectShow and Media Foundation but it would be a non-trivial task. If such hybrid components existed there might be a case for adding Media Foundation support to GraphStudioNext. There is already an analagous editing tool in Media Foundation, [Microsoft TopoEdit](https://msdn.microsoft.com/en-us/library/windows/desktop/ff485862.aspx)

### My graph behaves unexpectedly in GraphStudioNext, is it a GraphStudioNext bug?
Possibly, but consider some further steps to isolate the problem:
Expand All @@ -11,14 +19,17 @@ Possibly, but consider some further steps to isolate the problem:

### How do I report a bug or feature request
* https://github.com/cplussharp/graph-studio-next/issues
* Do a search to see if the bug or feature request is a duplicate [including closed issues](https://github.com/cplussharp/graph-studio-next/issues?utf8=%E2%9C%93&q=is%3Aissue).
* [Search including closed issues](https://github.com/cplussharp/graph-studio-next/issues?utf8=%E2%9C%93&q=is%3Aissue) to see if the bug or feature request is a duplicate.
* Report what you expected to happen and what actually happened
* Say which version of GraphStudioNext you are using. If possible, reproduce the problem using the latest official build.
* If using third party non-Microsoft filters, please say what they are and which versions of them you're using.
* If possible, create a graph that shows the problem and save and include all the GRF/GRFX/PNG/TXT files in the issue
* Include sample code if relevant
* Report what you expected to happen and what actually happened
* If reporting a crash, consider capturing and including a [minidump](http://www.wintellect.com/devcenter/jrobbins/how-to-capture-a-minidump-let-me-count-the-ways) of the crash. Normal minidumps are fine, full memory minidumps with heap are huge and too large to attach to an issue.

### Do I have to install the [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk)?
No, GraphStudioNext will work without it, but the Windows SDK does include some very important tools:
* [Graph Edit](https://msdn.microsoft.com/en-us/library/windows/desktop/dd407274.aspx), Microsoft's own graph editor in the Windows SDK
* [Graph Edit](https://msdn.microsoft.com/en-us/library/windows/desktop/dd407274.aspx), Microsoft's own graph editor.
* proppage.dll and evrprop.dll which provide property pages and the ability to connect to graphs in other processes.
* [OLE-COM Object Viewer](https://msdn.microsoft.com/en-us/library/d0kh9f4c.aspx), useful for looking at registered COM classes and looking at COM type libraries packaged inside filter DLLs.
* Header files and libraries for building DirectShow applications and filters.
Expand All @@ -39,7 +50,7 @@ Have you installed the [Windows SDK](https://developer.microsoft.com/en-us/windo
Have you installed the Windows SDK and registered proppage.dll using [regsvr32](https://support.microsoft.com/en-gb/help/249873/how-to-use-the-regsvr32-tool-and-troubleshoot-regsvr32-error-messages)? Proppage.dll implements COM proxies and stubs that are required for calling DirectShow interfaces on a graph in another process.

### Why can I see property pages for a particular filter or pin in a local graph, but not in a remote graph?
Has the filter implemented COM proxies and stubs for calling the filter's custom COM interfaces in a remote process? It's possible to build these yourself using code generated by MIDL if you have the type libraries for the filter's custom COM interfaces but it's beyond the scope of this FAQ. Sometimes the type libraries for these interfaces are included in the filter DLL and can be viewed using "View Typelib" in [OLE-COM Object Viewer](https://msdn.microsoft.com/en-us/library/d0kh9f4c.aspx) in the [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk). Generally, COM proxies and stubs and property pages for Microsoft filters are in proppage.dll in the Windows SDK.
Has the filter implemented COM proxies and stubs for calling the filter's custom COM interfaces in a remote process? It's possible to build these yourself using code generated by MIDL if you have the type libraries for the filter's custom COM interfaces but it's beyond the scope of this FAQ. Sometimes the type libraries for these interfaces are included in the filter DLL and can be viewed using "View Typelib" in [OLE-COM Object Viewer](https://msdn.microsoft.com/en-us/library/d0kh9f4c.aspx) in the [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk). Generally, COM proxies and stubs and property pages for Microsoft filters are implemented in proppage.dll in the Windows SDK.

### Why doesn't GraphStudioNext generate C++ or C# code?
Mainly because the authors don't have an interest in writing or using such a feature themselves. It's hard to write general purpose DirectShow code that would suit all users. However, we are not ruling such a feature out if someone else would like to write it. Feel free to write some code and get involved! There is one commercial graph editor, [Graph Edit Plus](http://www.infognition.com/GraphEditPlus/), that supports code generation in C++ and C#.

0 comments on commit 22107ea

Please sign in to comment.