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

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 24th February 2017, 15:22   #3081  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,155
AviSynth has a rather flexible syntax in this case. From the documentation shipped with AviSynth 2.60:

Quote:
Continue on next or from previous line: \

Code:
Subtitle ("Test-Text")

Subtitle ( \
          "Test-Text")

Subtitle ( 
       \ "Test-Text")
What I mean was your quoted snippet, originally by tcope in #3067, which I saw as truncated due to the last plus:

Code:
ovText = "AviSynth Authors:"+chr(13)+
	\ "----------------------------"+chr(13)+
I assume that a few more concatenated strings would follow in the next lines.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline  
Old 24th February 2017, 18:47   #3082  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,207
Quote:
Originally Posted by pinterf View Post
I don't know which version was crashing for you, but I fixed bug earlier that could cause crash, for me it was only a garbaged error display, but it would show up as crash under other conditions.
20161222 r2347dev
- Fix: ScriptClip would show garbage text when internal exception occurs instead of the error message
Yeah, it was a personal build of r2343, so that's more than likely what was going on there.
qyot27 is offline  
Old 24th February 2017, 20:02   #3083  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,652
Meanwhile real.finder, our script master has found a bug in Merge in 32 bit float.
pinterf is offline  
Old 25th February 2017, 00:28   #3084  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,207
Output of Wine 2.2 on Ubuntu 16.10 with the winetest build:
Code:
[~:$] wine --version
wine-2.2

[~:$] wine ffplay -i Authors.avs 
fixme:advapi:GetCurrentHwProfileA (0x23f770) semi-stub
fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
fixme:win:RegisterDeviceNotificationA (hwnd=0x36cb0, filter=0xd3e3c8,flags=0x00000001) returns a fake device notification handle!
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
ffplay version r83188 git-bb7db37 Copyright (c) 2003-2017 the FFmpeg developers
  built on Jan 20 2017 12:33:30 with gcc 6.3.0 (GCC)
  libavutil      55. 43.100 / 55. 43.100
  libavcodec     57. 75.100 / 57. 75.100
  libavformat    57. 62.100 / 57. 62.100
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 69.100 /  6. 69.100
  libavresample   3.  2.  0 /  3.  2.  0
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
fixme:win:EnumDisplayDevicesW ((null),0,0x364f8c8,0x00000000), stub!
fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",0,0x364f8c8,0x00000000), stub!
fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",0,0x364f510,0x00000000), stub!
fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",1,0x364f8c8,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),1,0x364f8c8,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x364f8c8,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),1,0x364f8c8,0x00000000), stub!
    nafixme:module:load_library unsupported flag(s) used (flags: 0x00000a00)
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2   0B f=0/0   
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 1
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 1
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 1
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 1
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2   0B f=0/0   
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
[avisynth @ 0023ca80] Exception while processing ScriptEnvironment::ThrowError().
    nan    :  0.000 fixme:msvcrt:__clean_type_info_names_internal (0x4b89b38) stub
Authors.avs: Unknown error occurred  0B f=0/0   
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
[~:$] fixme:msvcrt:__clean_type_info_names_internal (0x1298c20) stub
fixme:msvcrt:__clean_type_info_names_internal (0x1528360) stub
fixme:msvcrt:__clean_type_info_names_internal (0x1687448) stub
fixme:msvcrt:__clean_type_info_names_internal (0x5a4d4600) stub
fixme:msvcrt:__clean_type_info_names_internal (0xb0f480) stub
fixme:msvcrt:__clean_type_info_names_internal (0xb307a0) stub
fixme:msvcrt:__clean_type_info_names_internal (0x35d1f0) stub
fixme:msvcrt:__clean_type_info_names_internal (0x580cb0) stub
fixme:msvcrt:__clean_type_info_names_internal (0x7f1858) stub
fixme:msvcrt:__clean_type_info_names_internal (0x94cff0) stub
fixme:msvcrt:__clean_type_info_names_internal (0x614770) stub
fixme:msvcrt:__clean_type_info_names_internal (0x5f3710) stub
fixme:msvcrt:__clean_type_info_names_internal (0x5cf760) stub
fixme:msvcrt:__clean_type_info_names_internal (0x1800045a0) stub
Or with the Wine-related messages trimmed out:
Code:
[~:$] wine --version
wine-2.2

[~:$] wine ffplay -i Authors.avs 
ffplay version r83188 git-bb7db37 Copyright (c) 2003-2017 the FFmpeg developers
  built on Jan 20 2017 12:33:30 with gcc 6.3.0 (GCC)
  libavutil      55. 43.100 / 55. 43.100
  libavcodec     57. 75.100 / 57. 75.100
  libavformat    57. 62.100 / 57. 62.100
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 69.100 /  6. 69.100
  libavresample   3.  2.  0 /  3.  2.  0
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
[avisynth @ 0023ca80] Exception while processing ScriptEnvironment::ThrowError().
    nan    :  0.000
Authors.avs: Unknown error occurred  0B f=0/0   
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0
qyot27 is offline  
Old 25th February 2017, 04:50   #3085  |  Link
tcope
Digital Artifact
 
tcope's Avatar
 
Join Date: Sep 2015
Location: Houston Texas
Posts: 37
Quote:
Originally Posted by LigH View Post
I hope there are syntactically correctly following terms after the last "plus". Unfortunately this is omitted in your examples.
Quote:
Originally Posted by davidhorman View Post
tcope - post your full working and broken scripts in order to get an accurate diagnosis.
The Authors.avs is the file being tested. It is one of several
example test scripts avail for download from the AviSynthPlus
github repo. Here

Here is that Authors.avs script
tcope is offline  
Old 25th February 2017, 05:11   #3086  |  Link
tcope
Digital Artifact
 
tcope's Avatar
 
Join Date: Sep 2015
Location: Houston Texas
Posts: 37
32 bit wine

Code:
$ uname -r
3.2.0-4-amd64
------------------
$ cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
------------------
$ wine --version
wine-2.0
------------------
wine 'C:\FFMPEG\bin\ffmpeg.exe' -version                                                         
ffmpeg version 3.2.2 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.4.0 (GCC)
configuration: --enable-gpl
.
.
.
--enable-zlib
libavutil      55. 34.100 / 55. 34.100
libavcodec     57. 64.101 / 57. 64.101
libavformat    57. 56.100 / 57. 56.100
libavdevice    57.  1.100 / 57.  1.100
libavfilter     6. 65.100 /  6. 65.100
libswscale      4.  2.100 /  4.  2.100
libswresample   2.  3.100 /  2.  3.100
libpostproc    54.  1.100 / 54.  1.100
Code:
 wine ~/.wine/drive_c/Program\ Files/AVSMeter/AVSMeter.exe -avsinfo
fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub

AVSMeter 2.5.0 (x86) - Copyright (c) 2012-2017, Groucho2004
fixme:file:K32GetMappedFileNameA (0xffffffff, 0x220000, 0x33d508, 260): stub
.
.
.
VersionString:              AviSynth+ 0.1 (r2423, MT, i386)
VersionNumber:              2.60
File version:               0.1.0.0
Interface Version:          6
Multi-threading support:    Yes
Avisynth.dll location:      C:\windows\system32\avisynth.DLL
Avisynth.dll time stamp:    2017-02-25, 03:06:06 (UTC)
PluginDir2_5 (HKLM, x86):   C:\Program Files\AvisynthRepository\AVSPLUS_x86\plugins


[CPP 2.6 / 32 Bit plugins]
C:\Program Files\AvisynthRepository\AVSPLUS_x86\plugins\ConvertStacked.dll
C:\Program Files\AvisynthRepository\AVSPLUS_x86\plugins\DirectShowSource.dll
C:\Program Files\AvisynthRepository\AVSPLUS_x86\plugins\ImageSeq.dll
C:\Program Files\AvisynthRepository\AVSPLUS_x86\plugins\Shibatch.dll
C:\Program Files\AvisynthRepository\AVSPLUS_x86\plugins\TCPDeliver.dll  [2.6.0.7]
C:\Program Files\AvisynthRepository\AVSPLUS_x86\plugins\TimeStretch.dll
C:\Program Files\AvisynthRepository\AVSPLUS_x86\plugins\VDubFilter.dll

------------------
 wine ~/.wine/drive_c/Program\ Files/AVSMeter/AVSMeter.exe -i ~/.wine/drive_c/Examples/Authors.avs                          
fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub

AVSMeter 2.5.0 (x86) - Copyright (c) 2012-2017, Groucho2004
.
.
.
Exception while processing ScriptEnvironment::ThrowError().
fixme:msvcrt:__clean_type_info_names_internal (0x1489b38) stub

------------------
wine 'C:\FFMPEG\bin\ffmpeg.exe' -i ~/.wine/drive_c/Examples/Authors.avs ~/example-test-output.mkv
ffmpeg version 3.2.2 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.4.0 (GCC)
.
.
.
[avisynth @ 00256260] Exception while processing ScriptEnvironment::ThrowError().
fixme:msvcrt:__clean_type_info_names_internal (0x4529b38) stub
.wine/drive_c/Examples/Authors.avs: Unknown error occurred

Last edited by tcope; 25th February 2017 at 05:16.
tcope is offline  
Old 25th February 2017, 20:37   #3087  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,652
tcope, qyot27, thanks.
Finally installed a VirtualBox, Ubuntu 16.04, Wine stage, and of course a Midnight commander Grouchos's AVS plus installer did the dirty job and started to iterate the problematic line.

It turned out that the functions, I suspected earlier were the culprit.

Before formatting a string, we are querying the buffer size, which is returned by _vsnprintf_l when a null-length buffer size is given.
Code:
int count = _vsnprintf_l(NULL, 0, fmt, locale, args);
under Wine, this function returns -1, which is a rather unexpected number here.

Now I'm using this function instead:
Code:
int count = _vscprintf_l(fmt, locale, args2);
which works on both Wine and Windows, and the Authors.avs script with the scrolling credits is rendered fine.

You two will get a bonus build to test it.

But only after I have a little glass of wine (red)
pinterf is offline  
Old 25th February 2017, 21:14   #3088  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,155
Oh, well ... "Little Known Facts" about incompletely supported features in a compatibility layer.

Cheers.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline  
Old 26th February 2017, 00:18   #3089  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,207
Confirmed, the second winetest .dll works without issues for me.
qyot27 is offline  
Old 26th February 2017, 07:34   #3090  |  Link
tcope
Digital Artifact
 
tcope's Avatar
 
Join Date: Sep 2015
Location: Houston Texas
Posts: 37
Woot ..! Is working here as well.
Looking forward to giving it a spin
with production workflow.

TY for working on this and finding a fix.
Cheers
tcope is offline  
Old 27th February 2017, 22:11   #3091  |  Link
martin53
Registered User
 
Join Date: Mar 2007
Posts: 404
Hi pinterf,
forked your Github AviSynthPlus today
The README.md of the MT branch (also of the AviSynth/AviSynthPlus project, where you probably forked your project) says that the documentation is built with 'Sphinx'.
Do you know anything about that?

I'm asking because I thought I'd have a look if the doc is up do date and maybe I could be useful there...
martin53 is offline  
Old 27th February 2017, 23:04   #3092  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,652
Quote:
Originally Posted by martin53 View Post
Hi pinterf,
forked your Github AviSynthPlus today
The README.md of the MT branch (also of the AviSynth/AviSynthPlus project, where you probably forked your project) says that the documentation is built with 'Sphinx'.
Do you know anything about that?

I'm asking because I thought I'd have a look if the doc is up do date and maybe I could be useful there...
No, it wasn't me. But this question will soon be answered I think.

Regarding the two important bugfixes (32 bit float Merge and wine compatibility), I will try to do something in this or next week. I was bothered by having a half-done MaskTools, but now I took a big breath of relief.
pinterf is offline  
Old 28th February 2017, 00:21   #3093  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,207
Quote:
Originally Posted by martin53 View Post
Hi pinterf,
forked your Github AviSynthPlus today
The README.md of the MT branch (also of the AviSynth/AviSynthPlus project, where you probably forked your project) says that the documentation is built with 'Sphinx'.
Do you know anything about that?

I'm asking because I thought I'd have a look if the doc is up do date and maybe I could be useful there...
What's not clear about it?

Like README.md says, install Python, use the pip tool to install Sphinx. Make the desired changes to the .rst files in distrib/docs/english/source, run the Sphinx commands from README.md to regenerate the HTML, view the HTML in your web browser.
qyot27 is offline  
Old 1st March 2017, 19:06   #3094  |  Link
martin53
Registered User
 
Join Date: Mar 2007
Posts: 404
Quote:
Originally Posted by qyot27 View Post
What's not clear about it?
I'd mainly like to know if the statement is still true or someone changed the HTML directly after last .rst update (the AviSynth/AviSynth+ project repeatedly became a sudden orphan until it was adopted by someone new, as it appears )

Github points most .rst files to be at least 2 years old. But definitely AviSynth+ has been extended since. So it's reasonable to ask this question, no?
martin53 is offline  
Old 1st March 2017, 20:39   #3095  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,207
Quote:
Originally Posted by martin53 View Post
I'd mainly like to know if the statement is still true or someone changed the HTML directly after last .rst update
The simplest answer to that there's no way they could do that. The English* HTML documentation was completely removed from the AviSynth+ source tree (except for the separate FilterSDK directory, but the RST version of that is subsumed into the general documentation, and was updated at the same time as that merge from upstream), so it would be impossible for someone to change the HTML directly. In reality, all of any extant documentation regarding AviSynth+'s newer features has gone directly to the AviSynth+ wiki page on avisynth.nl, based on//copy-pasted from the descriptions contained in the thread discussion. If anyone wants to integrate those changes into the RST documentation, feel free to do so.

Quote:
Github points most .rst files to be at least 2 years old. But definitely AviSynth+ has been extended since. So it's reasonable to ask this question, no?
AviSynth+'s English* documentation (which it inherited from AviSynth 2.6) was officially ported to RST/Sphinx a couple years ago, that's why the dates for most of those files show they were updated two years ago. There was no effort at all in changing the specifics of the documentation beyond simply porting it over (apart from the occasional glaring error that had to be corrected), so the only reasons for it to change would be with post-fork changes from 2.6's docs merged in after-the-fact, or the new 'Contributing to AviSynth+' section.

*yes, only the English docs; the original plan was that the rest of the language-specific docs were going to be removed from the source tree since most of them hadn't been updated by classic AviSynth for years (prior to the fork), but if anyone wanted to port them to RST like the English docs had been, that would have been fine and we would likely have kept the newer RST version around or moved them to a separate git repository.
qyot27 is offline  
Old 2nd March 2017, 09:16   #3096  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,652
What is the normal way to add things to the Avisynth+ wiki pages? Is saw in the page history that poor Reel.Deel, practically he alone was doing additions there.

I've never edited Wiki, and I'm feeling the same when I was introduced to git last year and had fears of annihilating other's work if I'm doing something wrong like accidental reformatting, deleting content or whatever.

I'd like to have there new pages for the new or changed avs+ functions, I've already found that there is a template for this. And another one for general info, maybe a new page for filter writers.
I suppose the pages describing classic Avisynth functions and behaviour should not be changed. (And please ignore if my questions are stupid, I had very limited time to deal with this documentation topic, every hours I can spare with your hints or tutorial is welcome)
pinterf is offline  
Old 2nd March 2017, 15:33   #3097  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,207
I've never edited the avisynth.nl Wiki (and the last time I did edit a Wiki of any sort was probably something on the order of 10+ years ago), so someone else will have to comment on that. But Wikis store the revision history like git does and can be reverted to a previous revision if necessary. The only big thing I can think of is to make sure that the comment box has some hint as to what the change(s) made were, so it shows up in the page history.
qyot27 is offline  
Old 2nd March 2017, 18:48   #3098  |  Link
martin53
Registered User
 
Join Date: Mar 2007
Posts: 404
Quote:
Originally Posted by pinterf View Post
What is the normal way to add things to the Avisynth+ wiki pages?
I'll PM to you. A couple of years ago there was a severe problem with spam flooding the wiki, so Wilbert was forced to make changing less easy.
martin53 is offline  
Old 2nd March 2017, 19:39   #3099  |  Link
martin53
Registered User
 
Join Date: Mar 2007
Posts: 404
Quote:
Originally Posted by qyot27 View Post
The simplest answer to that there's no way they could do that.
I really hope I don't start a quarrel here, and 1st I must admit I'm new to using Git/Github and I'm afraid the discussion tends to get off topic.
I realized that pinterf is doing many, many valuable things these days, but I feel documentation/installer things become left behind.
So i forked pinterf's Github AviSynthPlus fork and stupid as I am I thought I might work myself into the docs and update here and there.
Now I have the new question on my mind if someone who forks a Guthub project can commit his changes back to the original project without being authorized by the original project's owner? Should I regard AviSynth/AviSynthPlus or pinterf/AviSynthPlus as the most up to date and legitimate current version of AviSynth+?
I could not spot any commits after about Aug 17,2016 to avisynth/AviSynthPlus, but the pinterf repository is much more recent.
With the ideal that everone's contribution is of most use for the community and no one stands in the other's way: where should I start?

Anyone replying: please refrain from criticising anything in the past, but if you can, give hints & explanations on how we can keep the project in good shape.
martin53 is offline  
Old 2nd March 2017, 22:17   #3100  |  Link
blaze077
Registered User
 
Join Date: Jan 2016
Posts: 79
What is the correct syntax to use arrays? Or were they removed?

I tried the one specified in this post but it seems to give an error in AvsPMod as well as AVSMeter.
Code:
Version()
array_variable = [[1,2,3],[4,5,8],"hello"]
n = ArraySize(array_variable)
last
ERROR: Unexpected character "["

Thank you.
blaze077 is offline  
Closed Thread

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 07:07.


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