Jump to content
Moodkiller

xdelta3 GUI 2.0 (v2.0.8) - A patch maker for all!

Recommended Posts

xdelta3 GUI 2.0

Gt3n4kM.png

 

 

Synopsis: I have forever been in search of gui for xdelta for patch making. After trying out 3 or 4 different ones, I stumbled across this one from a 3 year old github repo. Of course with it being this old, there were some features and functionality missing, not to mention it was using an outdated xdelta3 package. From this, xdelta3 GUI 2.0 was born.

 

info

Status: COMPLETE (always a work in progress)
File Host: Mega, github
Affiliated Groups: Jordi Vemeulen (original creator), Moodkiller (modifier,updater)
File Size: ~1MB
File Extension: .exe


Changelog:

Changelog includes: v2.0.8

  • Fixed 3.Apply Patch-Windows.bat creation to look in correct directory for xdelta3 executable.
Spoiler

Changelog includes: v2.0.7

  • Now creates a shell script for all you Linux users so that patches can be applied.
  • Added @pause to end of 3.Apply Patch-Windows.bat so that outcome is visible when applying patches.
  • Moved xdelta executables out of patch subdirectory to root for cross platform compatibility.
  • Cosmetic changes (version number now in title bar, updated tool tips)
  • Added icon to menu bar and task bar. 
  • Added auto fill options of xdelta, vcdiff and diff for the Patch Extension field.
  • Added auto fill set of arguments in a 'drop down' style that removed the "-B 1073741824"  tag in order to lower RAM usage during patch making.

 

Changelog includes: v2.0.6

  • Fixed the Drag and Drop feature to allow dropping whole folders.
  • Some bug fixes.

 

Changelog includes: v2.0.5

  •  Fix .zip creation
  •  Improved the "temp" directory name generation

 

Changelog includes: v2.0.4

  • Drag and drop functionality.
  • Only have one instance of a CMD window when making a batch patch.

 

Changelog includes: v2.0.2

  • xdelta3 source wildcard (so that any new version of xdelta can be placed in the root folder).
  • Added a new option where one could specify what patch extension they would like.

 

Changelog includes: v2.0

  • Updated to use xdelta3 3.1.0 release.
  • Enabled secondary and higher source window size (results in smaller patch files).
  • Added xdelta3 arguments line for finer control.
  • GUI now creates a empty changelog file (2.Changelog.txt) as well as patching instructions (1.Readme.txt).
  • Colour co-ordinated list boxes.
  • Updated Folder browser to full featured version for Patch File Destination setting.
  • Set GUI to copy xdelta3 to patch sub directory by default.
  • Set default subdirectory to vcdiff as default for patch files.
  • Set patch files to have Old files file name
  • Set new extension for patch files to .vcdiff
  • Updated copyright date and version information.
  • Created custom logo
  • Updated Makepatch.bat section accordingly.
  • Added confirmation box after patch creation.
  • Run patch application in verbose mode
 

TO ADD

----------
• Make GUI dragable while patch making is running.

• Create scripts to run on Apple OS.
• Change icon in menu bar.

• xdelta3 source wildcard (so that any new version of xdelta can be placed in the root folder).
• drag and drop functionality.
• Add a new option where one could specify what patch extension they would like. 

• Fix .zip making - currently makes an empty .zip fle.

• Use one CMD window when making patches for more than 1 file.

• Add @pause to patch making CMD and .bat application CMD.

 

Feedback and suggestions are welcome, otherwise I hope you all find a use for this.

 

Credit goes to all those who helped on IRC with their respective inputs, namely @CaptainJet, @Koby, @Etzimal, @JohnFlower and @SakuraChan

 

 

screens.png

 

 

downloads

File Hosts:

Current version: 2.0.8
xdelta3 GUI 2.0 - Mega | md5sum: ffb799191d16da8d16591bb22a0e115f | VirusTotal Results
xdelta3 GUI 2.0 - Github

 

Notes:

• Seen as this was brought up, to solve the high RAM usage, just remove "-B 1073741824" from the arguments section. The risk is that you may end up with a larger than required .vcdiff file especially if just patching fonts or 1 audio track. 

 

enjoy

 

 

 

Edited by Moodkiller
Updated
  • Like 14

Share this post


Link to post
Share on other sites

Does this one allow for batch patching? Like I give it a source folder with the old files, destination folder with the new batch files and it will just make all the patches for each file in there?

Share this post


Link to post
Share on other sites
31 minutes ago, SallySubs said:

Does this one allow for batch patching? Like I give it a source folder with the old files, destination folder with the new batch files and it will just make all the patches for each file in there?

To answer your first question, yes it does support batch patching. However, at this stage it only accepts files in the listbox (not folders), but one can select as many files as they want from the file browser dialogue box and add them in one go. 

 

RE88pPT.png

 

  • Like 2

Share this post


Link to post
Share on other sites
1 minute ago, SallySubs said:

I see, and what does that box do for "Batch file only" is it what I think it is and it creates only 1 file instead of multiple for each ep?

The "Batch file only" creates a .bat file that will subsequently make the patch files when run, if for some reason you want to make the patches at a later stage. 

 

The GUI will only make one .bat file that will have all the commands in it to patch how ever many files you had in the list box. So in the example I gave you before, this is the output folder:

Patch directory

6dSmadV.png

 

vcdiff folder:

GzLH5tH.png

 

and .bat file:

Ad9ngR8.png

 

 

Share this post


Link to post
Share on other sites
8 hours ago, Moby JJ said:

Thanks for the share :) looks awesome!

Many thanks :) 

 

1 hour ago, professa X said:

I see that vcdiff is the patch type rather than xdelta can it make xdelta

It honestly makes no difference. While .xdelta would match the programme (xdelta3), the first version of an xdelta gui I used, outputted .vcdiff file and I have always stuck with that extension. The reason I kept it was because of the "diff" part, sounds appropriate. 

HOWEVER, what you have given me an idea for is to add a new option where one could specify what patch extension they would like. 

  • Like 1

Share this post


Link to post
Share on other sites
11 minutes ago, Koby said:

@Moodkiller

I propose a .mkv9when (MK v9 when?) extension over .xdelta or .vcdiff cause we all know it's only a matter of time bro.

Haha, added to the timeline!

You can look forward to it in the next release. 

 

In all seriousness, I think the most I have gone up to is v4?? For SAO II?

Share this post


Link to post
Share on other sites
4 hours ago, professa X said:

I didnt know u forked this. Coolio

Indeed. Make it easier to manage and update and for others to contribute. 

 

I see someone doing what I've done, and taking this in 3 years time and updating it when I can't. 

Share this post


Link to post
Share on other sites

Sally here with a complaint, for every episode it needs to create a patch for, it opens a new window. Can't you make it so it does all of it in the same window?

Also, compared to my other patch maker, this is really slow ;__;

 

More complaint, It doesn't work. First time I tried running the patches myself to see if it works, it put the files in the old folder but it failed to actually make new ones.

After that, it wouldn't even put the files in the old folder anymore but just refused to do anything.

 

Complaint 3: I seem to have completely broke your program, it refuses to make patches now and it doesn't copy the xdelta file even when the box is checked.

Edited by SallySubs

Share this post


Link to post
Share on other sites
7 hours ago, SallySubs said:

Sally here with a complaint, for every episode it needs to create a patch for, it opens a new window. Can't you make it so it does all of it in the same window?

I take it as constructive criticism :). I have added this to the "To Do" list 

 

7 hours ago, SallySubs said:

Also, compared to my other patch maker, this is really slow ;__;

Blame the xdelta version. You could also run it after removing "djw" argument which will stop the secondary compression, however you may end up with larger .vcdiff files.

 

7 hours ago, SallySubs said:

More complaint, It doesn't work. First time I tried running the patches myself to see if it works, it put the files in the old folder but it failed to actually make new ones.

After that, it wouldn't even put the files in the old folder anymore but just refused to do anything.

 

Complaint 3: I seem to have completely broke your program, it refuses to make patches now and it doesn't copy the xdelta file even when the box is checked.

lol. Ok Im going to assume is because it was being run with admin privileges? Resulting in the file paths being different/wrong? 

Share this post


Link to post
Share on other sites

After reading all the comments, my only question to you,

When will you be releasing the next patch(version) of this patch-maker?

 

 

Share this post


Link to post
Share on other sites
8 hours ago, ani-me said:

After reading all the comments, my only question to you,

When will you be releasing the next patch(version) of this patch-maker?

At this stage I don't have a set timeline. I would like to get a new version out by the end of January. I'd probabaly just work on parts of it at a time and release it when 90% of what I wanted to do is done. How come?

Also sorry I can't be super accurate on that answer.

 

Edit:

8 hours ago, ani-me said:

As for the problems you stated here, and in the other post, most of them should be fixable within a few hours..

I'll try and make some free time after new year and see what I can do to help..

By all means, it is all on github, so feel free to edit/fix what's there :).

Thank you. 

Edited by Moodkiller

Share this post


Link to post
Share on other sites
4 hours ago, Moodkiller said:

At this stage I don't have a set timeline. I would like to get a new version out by the end of January. I'd probabaly just work on parts of it at a time and release it when 90% of what I wanted to do is done. How come?

Also sorry I can't be super accurate on that answer.

 

Edit:

By all means, it is all on github, so feel free to edit/fix what's there :).

Thank you. 

yeah sure... No problem...

And I'll try and make time in Jan. I sure can't even have a look at the source code before, maybe, Jan 15th..So I'll try and have a look after that. I'll let you know if I start working on something so that you can focus on other stuff in the meantime..

  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, ani-me said:

yeah sure... No problem...

And I'll try and make time in Jan. I sure can't even have a look at the source code before, maybe, Jan 15th..So I'll try and have a look after that. I'll let you know if I start working on something so that you can focus on other stuff in the meantime..

Sounds good to me. Just whenever really, don't need to make it a priority. 

I think I've got some patches to make for something...

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for the GUI. But like SallySubs say this create the patch fine, but the patch don't work. And is because a bug in the 3.Apply Patch.bat. See this:

 

mkdir old
.\Patch\xdelta-3.1.0-x86_64.exe -v -d -s "Bridge_of_God.mix" ".\Patch\Bridge_of_God.mix.vcdiff" "Bridge_of_God.mix"
move "Bridge_of_God.mix" old

 

You create the new file and try put the new file in the folder before you move the old file. But can't put the new file because the old file is still there.

I fixed with this and work fine:

 

mkdir old
move "Bridge_of_God.mix" old
.\Patch\xdelta-3.1.0-x86_64.exe -v -d -s ".\old\Bridge_of_God.mix" ".\Patch\Bridge_of_God.mix.vcdiff" "Bridge_of_God.mix"

 

I have a request:

1. Make this read the folder and then the sub folders in that folder.

2. Make this accept files in the "new files" that don't exist in the "old files", and copy those files in a folder called Update.

3. I know you put this on github.com but you can put a rar with the project files.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.


  • Similar Content

    • By Moodkiller
      MPV - Made Easy!
      (Moodkiller Edition) X
       
      Synopsis: The MPC version for MPV. Seen as MPC is no long in active development (based from the original thread date), MPV is becoming, and should have become, your go to player. Below is the personal player configuration I use. Its a mixture of one of the stock standard gui releases with some userscripts that have been tweaked.  This is based as closely as possible on how MPC used to run in terms of shortcut keys and functionality. You should feel right at home, but up to date.
       
        Feature List:
      Similar feel and behaviour to MPC-HC (shortcut keys and mouse buttons) : a - Toggles audio track. s - Toggles subtitle track. Spacebar - Toggle pause. Mouse right-click - Toggle pause. Mouse side-buttons (if applicable) - Skip through chapter markers. Left/Right arrow keys - Seek ~10 seconds forward/backwards Up/Down arrow keys  & Mouse wheel - Increase/decrease volume by 5 Shift+S - Take screenshots (with subtitles). Ctrl+o - Full-featured open file box. Ctrl+g - Go to a specified timestamp. Screen-shots are placed in the root videos directory under a new folder called "Screens". Seek bar thumbnail preview. Visualiser for audio tracks. Remember video position of previous played file (video/audio). Lightweight (no heavy filters or extra filters). Adjusted OSC (On Screen Controller) have a smaller footprint and be more practical. Play next sequential file in the current files folder. YouTube link player (drag and drop only) More as I remember them...  
      Installation:
      One of the nicest features of MPV is that it requires no installation and can be run from its own folder (portable).
      Clone or download this repo. Unzip to your desired location. Run updater.bat (this will download the latest MPV GUI build from the source stated below and youtube-dl if you pressed 'y' when prompted). Optional: Run installer/mpv-install.bat as administrator to set file associations.  
      Hexchat Integration:
      Hexchats latest version (2.14.1) doesn't have any built in "now playing" plugins to use. And as of this version, the default MPC-HC "now-playing" script doesn't function. I have included a modified version of an MPV now playing script from github user, FichteFoll, in this pack. A prerequisite, Python 3.6 needs to be enabled/selected when you install Hexchat. If you have Hexchat already installed, no problem, just re-run the installer and choose Python 3.x from the Custom Installation screen (right at the bottom).
      Right-click and copy the file 'mpv_np.py' (located in 'Hexchat plugin') from the downloaded pack. Press the Windows key+R and type '%APPDATA%\HexChat' and press enter. Paste the copied file into the 'addons' folder. In Hexchat go to Window > Plugins and Scripts > Load and browse to your addons folder where you pasted 'mpv_np.py'. Normally this is 'C:\Users\moodkiller\AppData\Roaming\HexChat\addons' You  should get confirmation to say the plugin has been loaded successfully. Type /mpv in any window while playing a file in MPV and it should spit out something like "*Moodkiller is playing: [MK] Kiznaiver - 01 [BD 1080p][Hi10][Dual-Audio][05856FFC].mkv ◘ 1.945 GiB ◘ [00:04:05 / 00:24:03] in mpv 0.28.0-437-g9efb0278e7" (with colour formatting).  
      Resources:
      GUI build: https://sourceforge.net/projects/mpv-player-windows/files/
      Collection of user scripts: https://github.com/mpv-player/mpv/wiki/User-Scripts
      MPV properties page: https://mpv.io/manual/master/#synopsis
       
      Thanks goes to all those involved for testing and their inputs for getting stuff running.
       
      Feedback welcomed.
       
         

        Github repository: MPV-Made-Easy
    • By Pi7on
      Hello, so I've got this 5.1 track that I'd like to downmix, since I'm only going to listen to it through stereo headphones, how should I do it?
      Is there a standard method?  
    • By Moodkiller
      SendTo-rclone-GDrive +
      Synopsis: A simple .bat script to enable the user to Right-click on a folder or file and send it to your preconfigured GDrive account using rclone in Windows. To all of those using Google Drive, you should look at using rclone as the backend to get data to your GDrive. It's much better than the web interface and Googles Backup and Sync / Drive File Stream options.
       
      Prerequisites
      Installed and configured Google Drive rclone setup (https://github.com/ncw/rclone) Make sure `rclone.exe` is located in your `C:/Windows` directory. Alternatively, define the location here  
      Installation
      Download/save the .bat to any directory you choose. Open the run dialogue box (Winkey+R) and type `shell:sendto` followed by the Enter key. Copy and paste a short-cut to the file in the SendTo folder. NB! Right-click the newly created shortcut, click `Properties` and make sure the `Start in:` field is empty (clear what's in there if it isn't). For aesthetics, click on the `Change Icon...` button and browse for the included icon from this repo (optional). Click `Ok`. Click `Ok` to close the properties window. Rename the created shortcut from `rclone-GDrive.bat - Shortcut` to `rclone-GDrive` or to your personal preference (optional).
      Usage
      Locate a folder or file you would like to upload to GDrive. Right-click it and go to `Send to` > `rclone-GDrive` (or whatever name you may have given it). A CMD window should open. Note: This window will prepopulate with the folders in the root directory of your GDrive account. Follow the onscreen prompts and input the required details (destination upload directory, confirmation and simultaneous transfers) ...  
       
       

      File Hosts: Github repository: SendTo-rclone-GDrive  
       
       
       
    • By professa X
      checkum has piqued my interest in it. Like why do that? I've been just taking video and audio and synching together. Why does vivid have this xdelta3 thing?
    • By Moodkiller
      Im looking to remove the tags \an* and \pos(*.*,*.*) where * = any number, from a subtitle script. Aegisub has an automation function with a "Strip tags" option...
      This removes everything within the curly brackets { } for a select line, so I thought it would easy enough to modify this and get it remove the before mentioned tags.
       
      Here is the original code (for striping all the tags):
       
      local tr = aegisub.gettextscript_name = tr"Strip tags"script_description = tr"Remove all override tags from selected lines"script_author = "Thomas Goyne"script_version = "1"function strip_tags(subs, sel)    for _, i in ipairs(sel) do        local line = subs[i]        line.text = line.text:gsub("{[^}]+}", "")        subs[i] = line    end    aegisub.set_undo_point(tr"strip tags")endaegisub.register_macro(script_name, script_description, strip_tags) Im pretty sure the line
      line.text = line.text:gsub("{[^}]+}", "") is the one that needs to be modified. I tried replacing it with this for now
      line.text = line.text:gsub("\an5", "") Note: I used 5 as I dont know if wildcards are supported (Im sure they are) and becuase the actual tag I want removed is \an5.
       
      Unfortunately this doesn't work. The line stays unmodified after using the script through Aegisub. I haven't attempted removing \pos() yet
       

      Solution:
       
      Source
×
×
  • Create New...