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. |
![]() |
#1 | Link |
phjbdpcrjlj2sb3h
Join Date: Sep 2005
Location: Western Australia
Posts: 1,692
|
Centralised avisynth plugin repository
Hi all, just wondering if there are any opinions on an idea for an avisynth utility I've been mulling over for the past few weeks. I've also actually built a functioning prototype in python too, it's linked at the end of this message.
In a nutshell, the program will be a specialised repository tool for avisynth, along the lines of programs such as apt-get and yum on linux. So far, this is what my prototype can do. It provides five functions: o update: download a fresh copy of the repository metadata file Code:
C:\>avup.py update Downloading latest repository file now... Successfully downloaded an updated repository file! Code:
C:\>avup.py info limitedsharpenfaster Name: LimitedSharpenFaster Version: 29 Oct 2005 Author: didee Homepage: forum.doom9.org/showthread.php?t=84196 Description: None Functions implemented: limitedsharpen Requires Plugins: masktools2, removegrain, warpsharp Code:
C:\>avup.py info removegrain* No exact matches, checking for glob matches now... Matches: removegrain, removegrain-SSE3, removegrain-SSE2 Code:
C:\>avup.py whatprovides *sharp* Matches: removegrain: denoisesharpen, rsharpen limitedsharpenfaster: limitedsharpen warpsharp: warpsharp, xsharpen, unsharpmask removegrain-SSE3: denoisesharpen, rsharpen removegrain-SSE2: denoisesharpen, rsharpen Code:
C:\>avup.py download limitedsharpenfaster Downloading limitedsharpenfaster now... Successfully downloaded the plugin. Successfully downloaded limitedsharpenfaster! I was originally driven to write this program to help for two cases in particular: o know a function, don't know the plugin it's part of. Useful when searching back through the doom9 archives and looking at ancient scripts in particular, but would be also useful for the many who won't remember that warpsharp contains xsharpen. o know a plugin, don't know the latest version. Some plugins, like limitedsharpen, mvbob, removegrain are perenially asked after for the latest version, and different people have different versions. Some sort of central version control / download system would make much of this problem dissappear. I am less interested in creating a high level package management system, which handles installation, package tracking and dependancies. Installing avisynth plugins is easy enough to do by hand, I just want a tool to make it easier to *get* these files. The true strength of a program like this would be in the above two cases. Some issues that this program will run into: o needs maintainers! Package management tools need people to create the packages. This is almost certainly the biggest potential problem, so I've tried to create a system which is extremely easy to use. The YAML repository metadata file is dead simple to manually edit, and the zip files just need a standardised name and that's it. The only hard part is needing to keep the repository in sync with multiple people changing it, but a basic system like svn + patches would be fine. o needs servers & bandwidth! Probably not a real problem. I couldn't see this utility using more than 50gb/month for a long time, and I can happily donate that myself. A mirror system would be easy to implement though, and I'm sure volunteers could be found. o People need python installed! Lies, you can pack up the script and the interpreter w/ required modules into a single executable as per AvsP. The only catch is that the interpreter + modules add up to around 2mb, which is a lot compared to the 2kb script. o People need a GUI! That's not a problem to create at all, it would be trivial to adapt the current prototype to run with a GUI. o ??? Sorry for the longpost, Here is the prototype, written in pure python. It works on windows and unix (whyever you'd want to run it on that..., but that's what I developed it on), and requires python 2.5 to be installed (should run with earlier versions, just with peculiar exception handling (such as keyboard interrupts not working)) along with PyYAML. Note that the repository and packages currently in there (all 5ish of them) are samples, but should be complete (apart from fft3dfilter, which is missing the library it requires). Feedback welcome and requested ![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|