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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 19th February 2013, 02:18   #1  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,358
Avisynth / Vapoursynth - Package Management System

Hi,

I've been thinking lately about how cool it would be, if Avisynth/Vapoursynth would have its own package management system.
Or more precisely a downloader which also downloads all necessary dependencies for you. Like apt-get etc, but far more simple like the downloader in megui, only better

I already done some testing and my current "solution" would look like this:
- A package.json file (structure would be similar to package.json files from https://npmjs.org/). This file holds all information about the author, maintaner, dependencies...
Code:
An example {
    "filtername": "flash3kyuu_deband",  // I like your filter :)
    "version": "1.5",
    "category": "Restoration Filters",
    "sub-category": "Debanding",
    "filetype": "dll",
    "platform": "x86",
    "usesGPU": "false",
    "description": "This avisynth plugin debands the video by replacing banded pixels with average value of referenced pixels, and optionally add grain (random dithering) to them.",
    "mediawiki": "http://avisynth.org/mediawiki/flash3kyuu_deband",
    "homepage": "http://forum.doom9.org/showthread.php?t=161411",
    "doomX-link": "http://forum.doom9.org/showthread.php?t=161411",
    "keywords": [],
    "plugin-author": {
        "name": "SAPikachu",
        "email": "idk@somefantasymail.com",
        "url": "http://www.google.com"
    },
    "package-maintainer": {
        "name": "ChaosKing",
        "email": "thechaoscoder@gmail.com",
        "url": "http://chaosking.de/avisynth-filter-db"
    },
    "dependencies": {  // I know flash3kyuu_deband doesn't have any dependencies :P
        "Fastlinedarkenmod": "1.3", 
        "sangnom": "1.0"
    }
}
- The filter itself + doc ( + maybe source code too) will be compressed with zip/7zip to keep the file size small.
Code:
/bin/filter.dll
/doc/{filtername}/filter.html
/src/{filtername}/[sourcecode]
/some other folder/
- The package will be uploaded to a website, where the package information will be stored in a mysql database. (but the package.json will stay in the package). You can search online ...
- An update file will be generated which holds the download url, filter name and version of every uploaded package, so the desktop app knows that to download.
- The desktop app downloads all necessary packages, extracts them and save them in a folder of your choice (my filters are not stored in the avisynth folder)
Code:
Structure:
/[filters]
/doc/{filtername}/doc.html, txt ... package.json
/src/{filtername}/[source code]
Basically it consists of two parts. The desktop app (downloads/extracts/updates your files) and a web server + db with all packages + an generated update file.

So, that do you think of this idea. Is it a good idea or waste of time?
I'm open to all suggestions.



Problems:
- Not every filter has a version number. Some uses date, some nothing :O
- How can I trust a package or verify its creator? (signing files with gpg + list of trust?)
- much work xD


// Interesting Sites
coapp.org (THE apt-get for windows, but still alpha/beta)
chocolatey.org
npmjs.org <-- seems to be a good solution, but needs a CouchDB and other stuff
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database || https://github.com/avisynth-repository

Last edited by ChaosKing; 19th February 2013 at 02:20.
ChaosKing is offline   Reply With Quote
 

Tags
avisynth, filter, management, package, vapoursynth

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 06:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.