Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
5th May 2020, 17:58 | #101 | Link | |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Well, I'de already written this so posting.
Quote:
Code:
C:\Users\frank\Desktop\bin>mklink .\Apps\Support\mpv.net\AviSynth.dll ..\..\AviSynth.dll EDIT: And I presume that above marked in blue could be an absolute [ie drive relative] path without disrupting anything. EDIT: Maybe not, I just tried it on Win7 and it converted it to an absolute path in the link. EDIT: Ignore above, it DOES WORK, it shows as absolute path in link properties box, but move the containing folder and it still works. (absolute path changes to the changed absolute path when shown in the link properties)
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 5th May 2020 at 18:22. |
|
5th May 2020, 18:23 | #102 | Link |
Registered User
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
|
You got it!!! Working perfectly, tested with ffmpeg as mpv.net already has a workaround.
But if the link is relative, why does the github thread say it's not portable across machines? I've used a cmd terminal without admin rights to create the symlink and it works, this is important as I think a portable app should not bother asking for admin rights. Looks like we got a solution, thank you qyot27 and StainlessS!
__________________
https://github.com/stax76/software-list https://www.youtube.com/@stax76/playlists |
5th May 2020, 18:31 | #103 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Maybe means not portable to have relative SOFT link on machine A pointing to a file/folder on machine B.
The link shown in Properties [to target] is [on Win7] converted to an absolute path just for the Properties dialog box display, it must actually still be relative in reality. EDIT: Probably also not possible to have soft link pointing to a different drive. EDIT: Changed my mind, can have soft link to another drive, "Send To Desktop" works from any drive, but suspect in such cases it is an absolute path with drive letter. Create Shortcut probably makes the decision for you as to relative or not based on whether relative path is possible.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 5th May 2020 at 20:44. |
5th May 2020, 19:58 | #104 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Under Win7, if you just right click and New Shortcut(Soft Link), and create shortcut to where target is in the folder one above the shortcut.
And then you rename the folder containing the target, to something else, then the shortcut still works. So, at least under W7 (and WXP I think), you dont have to go to the command line [or have admin rights]. (XP has cmd line FsUtil.exe which is related to mklink.exe, and also exists under W7) From FsUtil on W7 Code:
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\root>fsutil ---- Commands Supported ---- 8dot3name 8dot3name managment behavior Control file system behavior dirty Manage volume dirty bit file File specific commands fsinfo File system information hardlink Hardlink management objectid Object ID management quota Quota management repair Self healing management reparsepoint Reparse point management resource Transactional Resource Manager management sparse Sparse file control transaction Transaction management usn USN management volume Volume management C:\Users\root> EDIT: RED, Not avilable on XP64. Hardlink on XP/W7 Code:
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\root>fsutil hardlink ---- HARDLINK Commands Supported ---- create Create a hardlink list Enumerate hardlinks on a file C:\Users\root>fsutil hardlink list Usage : fsutil hardlink list <filename> Eg : fsutil hardlink list c:\foo.txt C:\Users\root>fsutil hardlink create Usage : fsutil hardlink create <new filename> <existing filename> Eg : fsutil hardlink create c:\foo.txt c:\bar.txt C:\Users\root>
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 5th May 2020 at 20:31. |
6th May 2020, 03:07 | #106 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Dont know what I mean't there, I was just bluffing.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? |
17th June 2020, 04:33 | #108 | Link |
Soul Architect
Join Date: Apr 2014
Posts: 2,559
|
It would be good to have a document with clear instructions for plugin developers on how to make it cross-platform compatible.
And for the matters -- cross-platform with support for both Avisynth and VapourSynth should be the standard by now. Anyone wants to write clear instructions on how to achieve that the right way? |
20th June 2020, 04:00 | #109 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
Generally, rather than including avs/win.h, you'd include avs/posix.h (ifdef it). And ideally, use stdint types (int64_t), not the old MSVC ones (__int64). Beyond that, you're dealing with things far more basic to OS differences in how things are coded, not anything specific about the avsplus codebase.
I am mulling the possibility of having a repository solely for a skeleton CMake project so that potential plugin ports can have a jumping off point that lets them build for more than just MSVC. |
20th June 2020, 08:56 | #110 | Link | |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Quote:
https://github.com/HomeOfAviSynthPlu..._Gradient_Mask
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
|
21st June 2020, 02:03 | #111 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
However please do note dual synth wrapper is still in pretty early stage, and needs to be polished during the time.
I'd love to share permissions on those repos so you can participate in improving it. Also Gradient Mask is a source filter project. For regular filter examples, minideen or fft3d may be easier to read. |
21st June 2020, 02:21 | #112 | Link |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
Well, I think there should be no base class (interface) and no virtual functions, it’s definitely possible since it’s how I designed my vs wrapper. Duck typing (via templates) is easier to the user and provides richer type information as there is no goddamn type erasure. You can introspect a filter type and see which members/behaviors are defined and which are not using requires expressions, and play with lots of dynamic-typing-like magic. And the runtime overhead of virtual functions also gets eliminated
edit: and duck typing is more consistent with the core language design of c++, take range-for syntax for example, it's a duck typing syntax, it's automatically enabled for any type that defined begin() and end(), the type does not need to implement any interface or inherent any base class. Last edited by feisty2; 21st June 2020 at 02:38. |
26th June 2020, 17:49 | #113 | Link | |
Eurobeat Fan
Join Date: Sep 2014
Posts: 108
|
Is there a list of plugins that are available on Posix platforms? We probably should make one, just like there's one for 64-bit plugins in the wiki.
Quote:
|
|
26th June 2020, 18:11 | #114 | Link | |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
Quote:
anyways, here, here and here are the snippets that are relevant to exposing the plugin and its filters to vs. |
|
26th June 2020, 19:20 | #115 | Link | |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
Quote:
https://aur.archlinux.org/packages/?O=0&K=avisynth (even though the one ffms2 entry that's labelled as my 'fork' isn't really much of the sort, and it's not really necessary to include it since upstream ffms2 now includes AviSynth+ support on POSIX in the regular autotools build system) And then figuring it out from which ones are actually for avsplus, rather than the core library or actually for VS. FluxSmooth-pfmod also added *nix support, and I have a test branch that enables the TimeStretch plugin when building the core. There's probably others. |
|
26th June 2020, 19:55 | #116 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
Not sure if you noticed, but new users probably don't have the permission to create new pages.
We can start copying entries from old external filters to modern external filters, including those that are popular, under active maintenance, or are important and unique. Old, lack of maintenance filters can be left in the old page just like the old old filters page. Then we can start adding fields to the table. Code:
== Deband Filters == | Name | Description | YV12 | YV16/24 | HBD | Win64 | Linux | macOS | ARM | Download | | f3kdb | ... | y | y | hacked | y | n | n | n | GitHub | | Neo f3kdb | ... | y | y | y | ...
__________________
Projects x265 - Yuuki-Asuna-mod Download / GitHub TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median Last edited by MeteorRain; 26th June 2020 at 20:04. |
26th June 2020, 20:05 | #117 | Link | |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Quote:
|
|
26th June 2020, 22:35 | #118 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
Something like 'AviSynth+ plugins' in a general chart (where even the native x64 support could be noted as well), or extend the existing x64 plugins table with a few extra fields to denote OS and CPU architecture, changing the page title as necessary.
The reason it may not all fit under a catch-all page title including a term like POSIX is that Windows for ARM exists, and in the release for 3.6.1 there's a WinARM test build. Not that any plugins have yet been built for that apart from ConvertStacked (because it's in the main AviSynth+ sources). But it is possible as a configuration. |
13th December 2020, 22:18 | #119 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
Note: it's a month old at this point, but there's now a thread to track which plugins have been ported to other OSes and CPU architectures (also in my signature). When I get around to rewriting the first post I'll add the link there, too.
|
12th January 2021, 00:34 | #120 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
And with the release of version 3.7, we now support a couple more things: Haiku, and PowerPC CPUs.
Haiku is a re-implementation of BeOS, an OS that had its day in the spotlight in the early-mid 90s as a competitor to Windows and the Classic Mac OS. It's not a Unix-like system like Linux, BSD, or macOS are, but it is largely POSIX compliant and uses Bash as its shell. PowerPC-wise, the real target here is the potential to use AviSynth+ on Linux or BSD running on the newer (currently POWER9 or POWER10) CPUs, but a side effect is that it can also run on old PPC versions of OSX Tiger and Leopard (with some help). Like the ARM support added in 3.6, PowerPC support is very basic at this point - single-threaded and no AltiVec instructions. |
|
|