[wish] see images sequence as "one file"

Here you can propose new features, make suggestions etc.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
ragornette
Junior Member
Junior Member
Posts: 12
Joined: 2003-06-04, 14:21 UTC

[wish] see images sequence as "one file"

Post by *ragornette »

Hello
working with tons of images, I always use TC to move them from a directory to another.
I wished TC was able to detect a sequence (I know it's not an easy task)
and show me the list as one file.

Software like imagewrangler or sequence master are used to it but they are not TC :)

seqA.001.TGA
seqA.002.TGA
...

show as seqA.[001-120].TGA for example
and with an option to see the complete list if needed (like an arrow?)

Thanks
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Sequences.

HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
Peter
Power Member
Power Member
Posts: 2064
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

TC 10.xx / #266191
Win 10 x64
ragornette
Junior Member
Junior Member
Posts: 12
Joined: 2003-06-04, 14:21 UTC

Post by *ragornette »

Ahhhhhhhh
yes, not bad

I wished I could have it directly without going to network
but works great :)

Thanks a lot
User avatar
Peter
Power Member
Power Member
Posts: 2064
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

ragornette wrote:...but works great :)

Thanks a lot
Fine. I am sure that the author would be happy about an acknowledgement :wink:

Peter
TC 10.xx / #266191
Win 10 x64
Rogurt
Junior Member
Junior Member
Posts: 23
Joined: 2009-08-26, 09:26 UTC

Re: [wish] see images sequence as "one file"

Post by *Rogurt »

Unfortunately, all of the mentioned solutions do not work (the links are outdated). Can anyone provide working links plz?
The option to view/treat image sequences as one file is very important in the film/gaming/3D industry and will be for the foreseeable future. All the guys I know are struggling with that. TC would gain a bunch of new users if this problem would be solved once and for all...

Cheers

edit: I dug in the forum links mentioned above and here´s a somewhat working solution from Juergen https://luethje.eu/prog/
Unfortunately, this seemingly only allows a simple copy operation no move, rename, delete etc. I hope that it will be refined someday...
Last edited by Rogurt on 2022-11-09, 08:38 UTC, edited 1 time in total.
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6449
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Re: [wish] see images sequence as "one file"

Post by *Horst.Epp »

Here the AHK script from Balderstrom which is no longer available on the forum link.

Code: Select all

;; 
;;   TC_SelectSequence.ahk 
;;   v2.40 
;;   Balderstrom, Nov.2010 
;; 
#SingleInstance, Force 
#NoEnv 
SetBatchLInes, -1 
SendMode Input 

nArgs=%0% 
ReadArgs(nArgs) 
return 

ReadArgs(nArgs=0) 
{ 
   Loop, % nArgs 
   { 
      editFindStr:=(editFindStr || %A_Index%=="/edit") 
      matchAnyNum:=(matchAnyNum || %A_Index%=="/anynum") 
      locateBrace:=(locateBrace || %A_Index%=="/braces") 
   } 
   TC_SelectSequence(editFindStr, matchAnyNum, locateBrace) 
return 
} 

ExitNow(key="") 
{ 
   Send, % key ? key : "" 
ExitApp 
} 


TC_SelectSequenceAutoSave() 
{ 
   WinWaitActive, ahk_class TSTDTREEDLG 
   ControlSetText, TAltEdit1, TC_SelectSequence, A 
   Send, {Enter} 
   WinWaitActive, ahk_class #32770,,1 
   if( !ErrorLevel ) 
      Send, {Enter} 
   WinWaitActive, ahk_class TCOMBOINPUT 
ExitNow("{Enter}") 
} 


TC_SelectSequence(editFindStr="", matchAnyNum="", locateBrace="") 
{ 
   aPanel:=QueryActivePanelID( cID1, cID2) 
   aText:=LB_QueryText(aPanel, cPos:=LB_FindCursorPos( cID1 )) 
   ControlGetText, aPath, TMyPanel3, A 
   RegExMatch(aPath aText, "(.*)\>(.*\\)?([^\\]+)(\.[a-zA-Z]+) \>?", aFile) 
   fileName:=aFile3 
   fileExt :=aFile4 
   ;partPath:=aFile1 "\" aFile2 
   ;fullPath:=aFile1 "\" aFile2 aFile3 aFile4 

;;   if there is a number at the end (1) we ignore it, 
;;      if there is a number before that. 
;;   unless, the flag /braces is used, then we match 
;;      all files that are similiar in name ie. "Gallery1_003 (1).jpg" 
;;         then the match is Gallery1_\d{3}_\(\d\)\.jpg 
;;   if there is a number at the end (01) and it has more digits than 
;;   the numbers before it, then we use that number as the sequence. 
;;      e.g. Gallery1_Set1_(10).jpg 
;;         match: Gallery1_Set1_\(\d{2}\)\.jpg 
;;   if /anynum flag is used, then the match would change to: 
;;         match: Gallery1_Set1_\(\d+\)\.jpg 

   RegExMatch(fileName, "(.*)(([\(\{\[])(\d+)([\)\}\]]))$", sTmp) 
   ;MsgBox, sTmp1: %sTmp1%`nsTmp3: %sTmp3%`nsTmp4: %sTmp4%`nsTmp5: %sTmp5% 
   if( sTmp2 ) 
   { 
      RegExMatch(sTmp1, "(.*\D)?(\d+)(\D+)?$", split) 
      if( locateBrace || (s4:=strlen(sTmp4)) > (s2:=strlen(split2)) ) 
      { 
         filter:=RegExReplace(sTmp1, "([\^\$\.\+\{\(\[\]\)\}])", "\$1") 
         filter.="\" sTmp3 (matchAnyNum ? "\d+\" : "\d{" s4 "}\") sTmp5 "\" fileExt 
         filter:="^" filter "$" 
      } 
      else 
      { 
         split1:=RegExReplace(split1, "([\^\$\.\+\{\(\[\]\)\}])", "\$1") 
         split2:=(matchAnyNum ? "\d+" : "\d{" s2 "}") 
         split3:=RegExReplace(split3, "([\^\$\.\+\{\(\[\]\)\}])", "\$1") 
         filter:="^" split1 split2 split3 "(\" sTmp3 "\d+\" sTmp5 ")?\" fileExt "$" 
      } 
   } 
   else 
   { 
      RegExMatch(fileName, "(.*\D)?(\d+)(\D+)?$", split) 
      split1:=RegExReplace(split1, "([\^\$\.\+\{\(\[\]\)\}])", "\$1") 
      split2:=(matchAnyNum ? "\d+" : "\d{" strlen(split2) "}") 
      split3:=RegExReplace(split3, "([\^\$\.\+\{\(\[\]\)\}])", "\$1") 
      filter:="^" split1 split2 split3 "\" fileExt "$" 
   } 
    
   TC_iniWrite( filter,"searches", "TC_SelectSequence_SearchFor"   ) 
   TC_iniWrite( "",   "searches", "TC_SelectSequence_SearchIn"   ) 
   TC_iniWrite( "",   "searches", "TC_SelectSequence_SearchText"   ) 
   TC_iniWrite( "0|000002001020|||||||||0000| ", "searches", "TC_SelectSequence_SearchFlags" ) 
   PostMessage, 0x433, 521,,, A   ; cm_SpreadSelection | Select group 
   WinWaitActive, ahk_class TCOMBOINPUT 
   ControlSetText, Edit1, >TC_SelectSequence, A 
   if( !editFindStr ) 
      ExitNow("{Enter}") 
       
   Send, {Tab}{Tab}{Enter}   ;Send, !{d} 
   WinWaitActive, ahk_class TFindFile 
   aWinDefine:=WinExist("A") 
   while( (aWin:=WinActive("A")) == aWinDefine ) 
   { 
      Sleep, 250 
   } 
   WinGetClass, aClass, ahk_id %aWin% 
   if( aClass=="TCOMBOINPUT" ) 
      ExitNow("{Esc}") 
   TC_SelectSequenceAutoSave() 
return 
} 
;; 
;;   Included AHK Library File: 
;;      TC.ahk 
;; 
TC_CheckINIRedirect( iniSection ) 
{ 
   EnvGet, wincmd, COMMANDER_INI 
   iniRead, iniRedirect, %wincmd%, %iniSection%, RedirectSection, %wincmd% 
   SplitPath, iniRedirect, iniFile, iniPath 
   if( !iniPath ) 
      SplitPath, wincmd, tmpFile, iniPath 
return iniPath "\" iniFile 
} 

TC_iniRead( iniSection, iniKey ) 
{ 
   iniFile := TC_CheckINIRedirect( iniSection ) 
   IniRead, keyValue, %iniFile%, %iniSection%, %iniKey%, %A_Space% 
return keyValue 
} 

TC_iniWrite( value, iniSection, iniKey ) 
{ 
   iniFile := TC_CheckINIRedirect( iniSection ) 
   IniWrite, %value%, %iniFile%, %iniSection%, %iniKey% 
return 
} 
;; 
;;   Included AHK Library File: 
;;      LB.ahk 
;;    
ControlGetID( byRef cID, cName, wID="" ) 
{ 
   if( wID=="" ) 
      wID:=WinExist("A") 
   ControlGet, cID, HWND,, %cName%, ahk_id %wID% 
return cID 
} 

Swap( byRef v1, byRef v2, dx="" ) 
{ 
   v3:=v1,v1:=v2,v2:=v3 
return (dx=="" ? TRUE : v%dx%) 
} 

QueryActivePanelID( byRef cID2, byRef cID1="", absolute=FALSE, force=FALSE ) 
{ 
   if(!winID:=WinActive("ahk_class TTOTAL_CMD")) 
      return !(ErrorLevel:=2) 
   dx:=( ControlGetID(cID3, "TMyListBox3", winID) ? 2 : 1) 
   cID1:=ControlGetID(cID1, "TMyListBox" dx, winID) 
   cID2:=ControlGetID(cID2, "TMyListBox" (++dx), winID) 
   Loop, 2 
   { 
      ControlGetFocus, aCF, ahk_id %winID% 
      cID3:=ControlGetID(cID3, aCF, winID) 
      if( (!ErrorLevel:=!(cID3==cID2 || (cID3==cID1 && (absolute || Swap(cID1,cID2))) ) ) || !force) 
         break 
      Send, {ESC} 
      Sleep, 0 
   } 
return (ErrorLevel ? 0 : cID3) 
} 

LB_FindCursorPos( byRef cID ) 
{ 
   LB_GETCURSEL = 0x188 
   NULL = 0x0 
   SendMessage, LB_GETCURSEL, NULL, NULL,, ahk_id %cID% 
return ( ErrorLevel <> "FAIL" ? ErrorLevel + 1 : 0 ) 
} 

LB_QueryText( cID, cPos ) 
{ 
   LB_GETTEXT = 0x189 
   VarSetCapacity(text,1024) 
   SendMessage, LB_GETTEXT, % cPos - 1, &text,, ahk_id %cID% 
return text 
}
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
User avatar
white
Power Member
Power Member
Posts: 4593
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: [wish] see images sequence as "one file"

Post by *white »

Horst.Epp wrote: 2022-11-09, 08:30 UTC Here the AHK script from Balderstrom which is no longer available on the forum link.
Actually, a newer version (2.50) of the script is listed in the forum post. Only the required includes are missing. See:
Balderstrom wrote: 2010-11-10, 23:50 UTC UnMerged Script (required #includes are in the Download)
Edit:
(Since not all people seem to know this: Click the arrow up character to go to the post with quoted text.)
Rogurt
Junior Member
Junior Member
Posts: 23
Joined: 2009-08-26, 09:26 UTC

Re: [wish] see images sequence as "one file"

Post by *Rogurt »

Thanks for your response. Forum Thread here so that others may find it too: viewtopic.php?t=27776
Edit: unfortunately, the download links are not working anymore

Addendum: there is a shareware file browser for working with image sequences called FSeq but I found it too limited to use (no renaming, no deleting, just opening/viewing) - anyways heres the link getfseq.com
Rogurt
Junior Member
Junior Member
Posts: 23
Joined: 2009-08-26, 09:26 UTC

Re: [wish] see images sequence as "one file"

Post by *Rogurt »

@Horst.Epp I am just a dumb user and I cannot figure how to make this work :-( I tried installing AHK- Then saving the code above in an ahk file. Then adding new Starter entry in TC which points to the .ahk file. I then select the first file of a numbered png sequence and hit the shortcut. But I will only ever get "No matching results found".

Can you please guide me in the right direction? Keep in mind that I dont have any programming knowledge.
Thanks
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6449
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Re: [wish] see images sequence as "one file"

Post by *Horst.Epp »

Try to follow the description in
viewtopic.php?t=27776
I used it years ago and have no longer any usage or knowledge of it.
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
Post Reply