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. |
6th May 2020, 23:40 | #241 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
OK, thanks anyway.
EDIT: I guess I can just create another DBase with extra field for Array support flag, and copy current Dbase fields to the new one. EDIT: Guess I want file byte size too, gonna need do again.
__________________
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; 7th May 2020 at 07:15. |
7th May 2020, 14:14 | #242 | Link |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
v0.1.2.4
- Added SI_UserName - Updated libcpuid - Refactoring
__________________
Groucho's Avisynth Stuff |
7th May 2020, 17:44 | #243 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Thank, you
Little-un in the Tyrol:- https://metro.co.uk/2020/05/07/one-y...alps-12666039/ Make sure to wear the gum shield provided.
__________________
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; 7th May 2020 at 17:47. |
7th May 2020, 17:53 | #244 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
By the way, it's spelled "Tirol".
__________________
Groucho's Avisynth Stuff |
|
23rd May 2020, 13:27 | #245 | Link | |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Quote:
__________________
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 ??? |
|
23rd May 2020, 13:36 | #246 | Link |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Huh?
Edit - Oh, I see. Will do.
__________________
Groucho's Avisynth Stuff Last edited by Groucho2004; 23rd May 2020 at 13:39. |
23rd May 2020, 13:44 | #247 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
To others, use one of the functions in blue instead of AI_GScriptExists().
Code:
bool AI_InternalFunctionExists(string "name") Returns true if an internal function ("name") is available in the current environment bool AI_ExternalFunctionExists(string "name") Returns true if an external function ("name") is available in the current environment bool AI_FunctionExists(string "name") Returns true if an internal or external function ("name") is available in the current environment EDIT: or eg Code:
Function GScriptExists() { Return AI_FunctionExists("Gscript") }
__________________
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; 23rd May 2020 at 13:47. |
27th May 2020, 20:55 | #248 | Link |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
v0.1.2.5
- Updated libcpuid - Fixed a version resource issue - Updated AVS headers
__________________
Groucho's Avisynth Stuff |
11th August 2020, 15:34 | #249 | Link |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
v0.1.2.6
- Added SI_GetLogicalDrives() - Added SI_GetLogicalDriveTotalSize("drive_letter") - Added SI_GetLogicalDriveFreeSpace("drive_letter") - Added SI_GetLogicalDriveUsedSpace("drive_letter") Examples for the new drive functions: SI_GetLogicalDrives() returns something like this: 'C(OS) E(Main) V(Auxiliary)' SI_GetLogicalDriveTotalSize("C") returns 131072 SI_GetLogicalDriveFreeSpace("C") returns 114954 SI_GetLogicalDriveUsedSpace("C") returns 16117
__________________
Groucho's Avisynth Stuff Last edited by Groucho2004; 11th August 2020 at 17:38. |
11th August 2020, 19:34 | #250 | Link | ||
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Quote:
EDIT: https://docs.microsoft.com/en-us/win...ng-disk-quotas Quote:
Some stuff I;ve used before Code:
int __cdecl QueryFatVolume(const char *relname) { // Return:- 1=FAT. 0 = Not FAT. -1 on error; int ret = -1; char FullPath[_MAX_PATH]; if(_fullpath(FullPath, relname, _MAX_PATH ) != NULL ) { TCHAR RootPathName[_MAX_PATH]; _splitpath(FullPath,RootPathName, NULL,NULL,NULL ); char *p=RootPathName; while(*p++); --p; if(p>RootPathName && p[-1] != '\\') {*p++='\\';*p='\0';} TCHAR FileSystemNameBuffer[MAX_PATH+1]; BOOL result = GetVolumeInformation(RootPathName,NULL,0,NULL,NULL,NULL,FileSystemNameBuffer,MAX_PATH+1); if(result) { ret = (_strnicmp(FileSystemNameBuffer,"FAT",3)==0) ?1:0; // Just the 1st 3 characters (FAT/FAT32) } } return ret; } __int64 __cdecl QueryDiskFreeSpace(const char *relname) { __int64 ret = -1; char FullPath[_MAX_PATH]; if(_fullpath(FullPath, relname, _MAX_PATH ) != NULL ) { TCHAR RootPathName[_MAX_PATH]; _splitpath(FullPath,RootPathName, NULL,NULL,NULL ); char *p=RootPathName; while(*p++); --p; if(p>RootPathName && p[-1] != '\\') {*p++='\\';*p='\0';} ULARGE_INTEGER FreeBytesAvailableToCaller; ULARGE_INTEGER TotalNumberOfBytes; ULARGE_INTEGER TotalNumberOfFreeBytes; BOOL result=GetDiskFreeSpaceEx(RootPathName,&FreeBytesAvailableToCaller,&TotalNumberOfBytes,&TotalNumberOfFreeBytes); if(result) { ret = __int64(FreeBytesAvailableToCaller.QuadPart); } } return ret; } __int64 __cdecl QueryMaxFileSize(const char *relname) { __int64 ret = -1; char FullPath[_MAX_PATH]; if(_fullpath(FullPath, relname, _MAX_PATH ) != NULL ) { TCHAR RootPathName[_MAX_PATH]; _splitpath(FullPath,RootPathName, NULL,NULL,NULL ); char *p=RootPathName; while(*p++); --p; if(p>RootPathName && p[-1] != '\\') {*p++='\\';*p='\0';} ULARGE_INTEGER FreeBytesAvailableToCaller; ULARGE_INTEGER TotalNumberOfBytes; ULARGE_INTEGER TotalNumberOfFreeBytes; if(GetDiskFreeSpaceEx(RootPathName,&FreeBytesAvailableToCaller,&TotalNumberOfBytes,&TotalNumberOfFreeBytes)) { __int64 dfs = __int64(FreeBytesAvailableToCaller.QuadPart) - 0x100000I64; // minus 1MB if(dfs > 0) { TCHAR FileSystemNameBuffer[MAX_PATH+1]; if(GetVolumeInformation(RootPathName,NULL,0,NULL,NULL,NULL,FileSystemNameBuffer,MAX_PATH+1)) { if(_strnicmp(FileSystemNameBuffer,"FAT",3)==0) { // Just the 1st 3 characters (FAT/FAT32) if(dfs>0xFFF00000i64) dfs = 0xFFF00000i64; // limit 4GB-1MB on FAT32 } ret = dfs; } } } } return ret; } Code:
AVSValue __cdecl RT_DBaseAlloc(AVSValue args, void* user_data, IScriptEnvironment* env) { const char * myName = "RT_DBaseAlloc: "; const char * fn = args[0].AsString(); const int records = args[1].AsInt(); const char *typestr = args[2].AsString(); const int StringlenMax = args[3].AsInt(256); if(*fn=='\0') env->ThrowError("%sEmpty Filename",myName); __int64 MaxFileSz = 0xFFFFF00000i64 ; // 1TB - 1MB // RT DBase Limit int fatvol = QueryFatVolume(fn); if(fatvol < 0) env->ThrowError("%sCannot query Filesystem",myName); __int64 dfs = QueryDiskFreeSpace(fn) - 0x100000; // minus 1MB // Safety if(dfs < 0) env->ThrowError("%sCannot query DiskFreeSpace",myName); // dprintf("DiskFreeSpace=$%I64X",dfs); __int64 maxfs = (fatvol==1)? 0xFFF00000i64 : MaxFileSz; // limit 4GB on FAT32 __int64 maxcurdfs=min(maxfs,dfs); // Max current space, Limit to free space available to user. // ...
__________________
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; 11th August 2020 at 19:59. |
||
11th August 2020, 20:08 | #251 | Link |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Don't know. I used the IOCTL APIs (DeviceIoControl(), GetDiskFreeSpaceEx(), GetVolumeInformation(), ...). I'll try to find out more.
__________________
Groucho's Avisynth Stuff Last edited by Groucho2004; 11th August 2020 at 20:10. |
11th August 2020, 20:20 | #252 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Thanks GG, just thought it might be worth mentioning.
(It is quite likely that most non admin users in a domain based network have a quota/limit on disk space EDIT: On a file server, or non admin on non network machine)
__________________
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; 11th August 2020 at 22:09. |
11th August 2020, 21:41 | #253 | Link |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
OK, I read up on it and since I'm using the "pTotalNumberOfFreeBytes" parameter of GetDiskFreeSpaceEx(), user quota is taken into account as far as I can see.
__________________
Groucho's Avisynth Stuff Last edited by Groucho2004; 11th August 2020 at 21:50. |
11th August 2020, 21:59 | #254 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Thanks GG.
__________________
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 ??? |
9th March 2021, 16:28 | #255 | Link |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
v0.1.2.8
- Updated libcpuid (Intel Whiskey Lake-U CPUs, AMD Ryzen Cezanne) - Updated AVS header files
__________________
Groucho's Avisynth Stuff Last edited by Groucho2004; 31st March 2021 at 18:27. |
31st March 2021, 18:36 | #256 | Link |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
v0.1.2.9
- Updated libcpuid (Intel Rocket Lake, AMD Ryzen Milan)
__________________
Groucho's Avisynth Stuff |
1st April 2022, 22:20 | #258 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Here is output from my AvsInit on x64, [similar-ish for x86]
Code:
00000157 22:12:54 AvsInit: 00000158 22:12:54 AvsInit: Auto load plugins script ENTRY 00000159 22:12:54 AvsInit: 00000160 22:12:54 AvsInit_ShowInfo: 00000161 22:12:54 AvsInit_ShowInfo: AvsInit_Version = 1.10 00000162 22:12:54 AvsInit_ShowInfo: GScript Available = AVS+ 00000163 22:12:54 AvsInit_ShowInfo: RT_Stats Version = 2.00Beta13 00000164 22:12:54 AvsInit_ShowInfo: SysInfo Version = 0.129000 00000165 22:12:54 AvsInit_ShowInfo: SysInfo.dll DIR = C:\VideoTools\AvisynthRepository\AVSPLUS372_x64\plugins 00000166 22:12:54 AvsInit_ShowInfo: VersionString = AviSynth+ 3.7.2 (r3642, master, x86_64) 00000167 22:12:54 AvsInit_ShowInfo: SetMemoryMax = 4096 00000168 22:12:54 AvsInit_ShowInfo: Avisynth Bitness = 64 00000169 22:12:54 AvsInit_ShowInfo: WorkingDir = C:\VideoTools\AvisynthRepository\AVSPLUS372_x64\plugins\ 00000170 22:12:54 AvsInit_ShowInfo: ProcessName = C:\NON-INSTALL\VDUB\VDUB2\VirtualDub64.exe 00000171 22:12:54 AvsInit_ShowInfo: ParentProcessName = explorer.exe 00000172 22:12:54 AvsInit_ShowInfo: OSVersionString = Windows 10 (x64) (Build 18363) 00000173 22:12:54 AvsInit_ShowInfo: OSVersionNumber = 10.000000 00000174 22:12:54 AvsInit_ShowInfo: OS Bitness = 64 00000175 22:12:54 AvsInit_ShowInfo: CPUName = Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz / Coffee Lake (Core i7) 00000176 22:12:54 AvsInit_ShowInfo: Cores = 06:12 (Phy:Log) 00000177 22:12:54 AvsInit_ShowInfo: CPU Extensions = MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, FMA3, RDSEED, ADX, AVX, AVX2 00000178 22:12:54 AvsInit_ShowInfo: Total Memory = 32620MB 00000179 22:12:54 AvsInit_ShowInfo: Avail Memory = 28436MB' 00000180 22:12:54 AvsInit_ShowInfo: Screen Res = 3840x2160 00000181 22:12:54 AvsInit_ShowInfo: Screen BitsPerPixel = 32 00000182 22:12:54 AvsInit_ShowInfo: Time = Friday 01 April 2022 22:12:54[GMT Summer Time] 00000183 22:12:54 AvsInit_ShowInfo: User TEMP Dir = C:\Users\steve\AppData\Local\Temp 00000184 22:12:54 AvsInit_ShowInfo: ComSpec = C:\Windows\system32\cmd.exe 00000185 22:12:54 AvsInit_ShowInfo: Computer Name = OMEN-W10P5 00000186 22:12:54 AvsInit_ShowInfo: User Name = steve https://docs.microsoft.com/en-us/sys...oads/debugview EDIT: And a little bit of AvsInit.avsi v1.10 Code:
Function SystemInfoVersion() { try{v=SysInfoVersion}catch(msg){v=-1.0} return v } # v = -1.0, SysInfo not installed Function RT_StatsVersion() { try{v=RT_Version}catch(msg){v=-1.0} return v } # v = -1.0, RT_Stats not installed Function GScriptExists() { Return RT_FunctionExist("GScript") } Function FuncNameExists(String Fn) { Return RT_FunctionExist(fn) } Function IsAvs26() { Return AI_IsAvs26 } Function IsAvsPlus() { Return AI_IsAvsPlus||FindStr(VersionString," Neo")!=0 } Function SystemEnvTemp() { Return SI_GetEnvVar("TEMP") } # Path to USER System environment TEMP folder Function SystemEnvComSpec() { Return SI_GetEnvVar("COMSPEC") } # Path to Cmd.exe, eg "C:\Windows\system32\cmd.exe" Function SystemEnvComputerName() { Return SI_GetEnvVar("COMPUTERNAME") } # System environment Commputer Name eg "Colossus" Function SystemEnvUserName() { Return SI_GetEnvVar("USERNAME") } # System environment User Name eg "God". Function PlusBuildNumber() { Return AI_AvsPlusBuildNumber } Function AvsPlusVersionNumber() { Return AI_AvsPlusBuildNumber } # Suggest Deprecated. Same as PlusBuildNumber Function IsAvsNeo() { Return FindStr(VersionString," Neo")!=0} # Suggest Deprecated.
__________________
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; 1st April 2022 at 22:30. |
1st April 2022, 23:34 | #260 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Just run debugview in background,
open any avs script in eg vdub2. EDIT: Well any script that uses any external plugin. eg Code:
BlankClip.RT_subtitle("Hello World")
__________________
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; 1st April 2022 at 23:47. |
|
|