View Full Version : Synth Multi-Viewer — Cross-Platform Editor


MysteryX
7th July 2018, 07:01
You'll like this one. Previous versions were proof-of-concept. This is a real software.

I was growing tired of the lack of tooling support for VapourSynth, and especially AviSynth, on Linux.

Comparing script variants is also very time-consuming and difficult without proper tools.

Synth Multi-Viewer
> GitHub (https://github.com/mysteryx93/Synth-Multi-Viewer)

Supports:
- VapourSynth and AviSynth
- x64 and ARM64
- Windows, Linux and MacOS

Features:
- Auto-detect VapourSynth and AviSynth library and plugin locations, or customize library and plugin locations
- Edit multiple scripts with tabs
- Run multiple previews at once
- Zoom and pan to look at details
- Frame navigation, zoom and pan are shared between preview tabs
- Rename each tab for reference
- Full-screen preview
- Copy frame to clipboard
- Code highlight for VapourSynth and AviSynth

TODO: Encode feature

ChaosKing
7th July 2018, 10:06
Nice simple Viewer.
But it really needs something like "tab switching by keyboard numbers" to be efficient.

Are you planning to extend it into a full grown editor?

Edit: "fit to screen" would also be a nice feature

MysteryX
7th July 2018, 14:39
Switching tab with CTRL+1 to CTRL+9 would be easy to implement.

I plan on using this as the base for doing previews in the Yin Media Encoder. Wouldn't spend too much time on the stand-alone viewer.

Other features that would be nice is to see a diff map between tabs.

amayra
7th July 2018, 15:11
i was waiting for this thank you MysteryX
and i really hope to see you give more love to standalone version in the future

MysteryX
7th July 2018, 17:35
Switching tab was very easy to add thanks to well-structured MVVM code
https://github.com/mysteryx93/VapourSynthViewer.NET/commit/6c5f7cc4b64832c018a22d2015e86fbc564c48b7

ScaleToFit, however, is giving me more trouble.

Edit: ScaleToFit is working (https://github.com/mysteryx93/VapourSynthViewer.NET/commit/6a6df5397027b4721c0f1eff7d4da4c6d79fbde1)

MysteryX
7th July 2018, 18:28
Version 0.8.1 is ready! (https://github.com/mysteryx93/VapourSynthViewer.NET/releases/tag/v0.8.1)

What's new:
- Allow switching tabs with Ctrl + number (0-9)
- Added scale to fit zoom option

Next thing that would be nice is having the controls in a toolbar instead of floating on the right, that should be easy besides finding the right icons. Then "Run" tab should be moved into a toolbar icon, and you could add several Script tabs. Go To Frame # also would be good.

ChaosKing
7th July 2018, 19:22
I noticed that the first frame is not shown after clicking on run but only if I move the slider or press right on the keyboard.
And I find that CTRL + number is a bit uncomfortable. It would be better without the CTRL combo.

MysteryX
7th July 2018, 21:22
And I find that CTRL + number is a bit uncomfortable. It would be better without the CTRL combo.
Without Ctrl it won't allow you to type numbers in the script editor

ChaosKing
7th July 2018, 22:43
And if you exclude the scripts tab, would this work then?

MysteryX
9th July 2018, 18:27
Version 0.9 is ready! (https://github.com/mysteryx93/VapourSynthViewer.NET/releases/tag/v9.0)

What's new:
- Allow opening and saving files
- Allow several script editor tabs
- Moved all controls into a toolbar
- Added go to frame
- Redesigned keyboard shortcuts
- Can now select viewer tabs with 1-9 and editors with ctrl+1-9
- Fixed some issues with zoom

I'm thinking. Another feature that could be useful and easy to implement is "Pixel Blending", whether to zoom as square pixels (nearest neighbor) or blended pixels.

ChaosKing
9th July 2018, 21:44
Nice to have:
- Syntax-Highlighting
- set font size (and/or dpi aware). The font is a bit small in 1440p

MysteryX
9th July 2018, 22:00
I could enlarge the font easily. Syntax highlighting, however, would be a whole project on its own.

Edit: Actually it turns out syntax highlighting would be simple enough. (http://jonsblogat.blogspot.com/2011/06/adding-scripting-support-to-wpf.html)

Edit2: dammit noobs wrote AvalonEdit in a way that doesn't allow binding and it can't be integrated into my code design

ChaosKing
10th July 2018, 11:00
Maybe one of these are easy to integrate https://www.nuget.org/packages?q=highlight
Not all are for .net, some are js.

You could also use a webview for the scripts tab, maybe this would be better, just a thought.

MysteryX
11th July 2018, 23:29
Version 0.9.1 is ready! (https://github.com/mysteryx93/VapourSynthViewer.NET/releases/tag/v0.9.1)

What's new:
- Replaced script TextBox with AvalonEdit.TextEditor
- Added syntax highlighing
- Enlarged script font
- Added default script

As for AvalonEdit, they don't support binding for performance reasons. Found a way to work around it.

ChaosKing
11th July 2018, 23:41
ty, my eyes are very pleased now. I will add this also to my VS portable FATPACK.

ifb
13th July 2018, 18:15
I can't type numbers in the script editor tabs in v0.9.1. They always act as shortcut keys.

MysteryX
14th July 2018, 18:27
Fixed (https://github.com/mysteryx93/VapourSynthViewer.NET/releases/tag/v0.9.2)

MysteryX
26th July 2018, 20:12
Version 0.9.3 is ready! (https://github.com/mysteryx93/VapourSynthViewer.NET/releases/tag/v0.9.3)

What's new:
- Fixed multi-threading mode not activating
- Added option to display square pixels when zooming

redbtn
14th February 2019, 08:25
Play/Pause and seek don't work with full screen

bin.n2f
14th February 2019, 11:07
any chance for FrameRateConverter
in vapoursynth ?

Lypheo
17th March 2019, 20:28
I’m absolutely loving the program so far, but there is one key feature missing that I think every viewer definitely needs, namely allowing the user to (losslessly) save frames or at least copy them to the clipboard. Any chance you could add this?

MysteryX
13th September 2026, 04:13
You'll like this one. Previous versions were proof-of-concept. This is a real software.

I was growing tired of the lack of tooling support for VapourSynth, and especially AviSynth, on Linux.

Comparing script variants is also very time-consuming and difficult without proper tools.

Synth Multi-Viewer v1.0
> SourceForge (https://sourceforge.net/projects/synth-multi-viewer/)
> GitHub (https://github.com/mysteryx93/Synth-Multi-Viewer)

Supports:
- VapourSynth and AviSynth
- x64 and ARM64
- Windows, Linux and MacOS

Features:
- Auto-detect VapourSynth and AviSynth library and plugin locations, or customize library and plugin locations
- Edit multiple scripts with tabs
- Run multiple previews at once
- Zoom and pan to look at details
- Frame navigation, zoom and pan are shared between preview tabs
- Rename each tab for reference
- Full-screen preview
- Copy frame to clipboard
- Code highlight for VapourSynth and AviSynth

TODO: Encode feature

I’m absolutely loving the program so far, but there is one key feature missing that I think every viewer definitely needs, namely allowing the user to (losslessly) save frames or at least copy them to the clipboard. Any chance you could add this?
Done.

Enjoy!

MysteryX
13th September 2026, 04:33
Mods, can you rename post to "Synth Multi-Viewer — Cross-Platform Editor"

MysteryX
14th September 2026, 05:41
Version 1.1 is ready! (https://github.com/mysteryx93/Synth-Multi-Viewer/releases/tag/v1.1)

What's new:
- Fixed an AviSynth display bug
- Allow tab re-ordering
- Added tab colors to differentiate types
- Allow customizing tab color with Ctrl+T
- Added browse buttons for settings paths
- Tweaked default tab numbering
- Remember window size and maximized state

MysteryX
15th September 2026, 10:23
Version 1.2 is ready! (https://github.com/mysteryx93/Synth-Multi-Viewer/releases/tag/v1.2)

- Display video/frame properties (Ctrl+I)
- Fix AviSynth frame display bug
- Show detected AviSynth and VapourSynth versions in Settings

Video/Frame properties window now make it a pretty full viewer already. The only important feature missing is encoding. After that, everything else is optional additions.

MysteryX
16th September 2026, 12:06
Version 1.3 is ready! (https://github.com/mysteryx93/Synth-Multi-Viewer/releases/tag/v1.3)

- Enhanced text editor with auto-complete and plugin parameters information, for both VapourSynth and AviSynth
- '-' and '=' characters are no longer being eaten by the editor
- Add spacing in editor after line numbers
- Dark mode is less dark
- Redesigned seek bar

MysteryX
21st September 2026, 13:14
Version 1.4 is ready! (https://github.com/mysteryx93/SynthMultiViewer/releases/tag/v1.4) Very major overhaul.

What's new:
- Greatly enhanced text editor with ScriptAssist: autocomplete, method overloads and hover hints
- ScriptAssist supports both AviSynth and VapourSynth (works better in AviSynth; Python is extremely complex and untyped by default)
- Added Functions Explorer
- Add start page when no document is open
- Ask save confirmation when closing document
- Redesigned application icon
- Redesigned toolbar icons
- Redesigned scrollbars
- Fix horizontal scrollbar page-right
- Reviewed keyboard shortcuts and improved Help documentation
- Check for updates

I genuinely over-engineered ScriptAssist with 458kb of raw source code compiling into 269kb. I wanted to push AI to its limit to see how well it could structure such a complex feature. The code itself is structured properly. It's genuinely complicated to parse Python code and detect what VapourSynth python modules are available on the system that are actually for VapourSynth, There are tons of edge cases to account for to parse the scripts properly. The complexity is encapsulated in a library; the rest of the project remains faily simple.

ScriptAssist is working extremely well. It's a massive quality of life improvement. If it causes any issues, you can disable it in settings. If you encounter sub-optimal behaviors in either VapourSynth or AviSynth, you can open a ticket.