Rated 5 stars at SnapFiles
   Shareware and Freeware




   PayPal

 


Javascript is require for this site.

Use with caution.
These public beta programs contain new fixes and new features that haven't been fully tested. I need you to tell me if you find any problems with these program or even if the changes listed work as you expect.

  joejoe Jun-01-09 4:23 PM CDT

Taking Inventory - ArsClip, Rename Master

One thing that's been added to the recent release of ArsClip and the latest public beta upload of Rename Master is a check for file permissions. Both programs require the abililty to create files (and folders) in the same folder as the program [note: ArsClip has an optional "-data" command line parameter to use the current user profile instead]. Even with correct permissions, UAC in Vista and Win7 can cause permissions to be denied to create files. The programs are designed to be portable for thumb drive usage, which means it must write any and all data in one spot. Newer versions of Windows know that the average "Program Files" program does not change and will virtualize any changes to protect the installation. When virtualization works, the average user will never know the difference when running a program that stores data with the program.

Both programs will create an empty file and delete the file and test for errors. Instead of just crashing, the program will display a friendly message so the problem can be fixed. If the optional setup program is used, errors won't likely occur but copying the folder won't copy all the program setting unless the virtual store files are also copied. As long as the program isn't installed in the "Program Files" folder, this isn't an issue.

---

I'm unsure when it changed, but when Rename Master created a new default script - it didn't create steps in a disabled state. This is very likely to create quite a bit of confusion because one of the step will replace the entire name with nothing when in the default state. This really screws autopreview because the "New Name" column will continue to be blank until the steps are deleted or disabled.

In the latest public beta upload, I detect when the default script is loaded with all step enabled and disabled them to work around the problem. Since the default script is only created once on the first run, this is needed for previous installs. This workaround is only applied if the default script has 10 or more steps that are all enabled, so it's not likely to interfere with custom default scripts.

I'm going to be pushing out v2.9.3 quicker with less features than normal because of this issue. Other ideas, like including example scripts, will have to wait until the next version. "Test 5" or RM will likely be the last test for v2.9.3 unless there are bugs to be addressed.

  joejoe May-31-09 4:49 AM CDT

Taking Inventory - ArsClip, Rename Master

In ArsClip, one thing I've noticed is the word "item" is used quite a bit in the program. The word "item" is rather generic, especially when many users are used to the term "clip" when related to items on the "clipboard".

I'm thinking that the following items need to be renamed: Permanent Items, Removed Items, Text Items, Non-Text Items. These names, obviously, would become the following: Permanent Clips, Removed Clips, Text Clips, Non-Text Clips.

---

In the latest public beta upload of Rename Master, the items in the post below have been implemented. The new Save Script dialog will eventually completely replace the "File->Script Options" but will stay for now until I can figure a way to deal with older scripts that don't include new flags that tell the program to preserve the current Path and Filter settings.

I'm also thinking about including a "Move Step", very similar to the new "Add Counter" step. The step isn't meant to replace the current "?temp?" variable, but will add a way for new users to get exposed to moving parts of the filename.

What I haven't figured out is a very common operation to implement. A common request I get is a way to change "Part1 - Part2" into "Part2 - Part1", like swapping the "Artist" and "Song" parts of an audio files. Currently, the operation to produce this effect is to "Remove everything before the phrase '-' and store in ?temp? variable" then "Add '- ?temp?' to the Name at the Beginning". Something like "Move everything in front of '-' to the End of the filename" would be close, but there would need to be a way to state that the phrase '-' itself would remain in the middle. This, however, doesn't teach the new user anything about using the ?temp? variable.

What might be a better way to teach about more advanced operations is to just create a few example scripts and either include them with the download or place them for download on the website. This way, the user can alter the script to fit their needs without having to experiment too much.

  joejoe May-26-09 4:35 PM CDT

Taking Inventory - Rename Master

Here are some first ideas that are on the TODO list for Rename Master:

- A new Save Script dialog

There are options that just aren't really shown for saving a script. Currently, the Path, the Filter, and all renaming options are saved in the script. There's a somewhat hidden "Script Options" menu item, but those options should really be part of the actual script file itself.

- A new Add Counter renaming step

Using counters is a very common renaming operation, but it requires a bit of learning and experimentation to get one working. My idea is to create a step to add a counter to a filename that makes it easy for a new user to get started working with a counter. The old style counter system will still be available in other steps and will still be more flexible.

There's also an option that I'd like to add for resetting the counter so that the program will automatically create 1 thru X numbers for files with the same name. The option to automatically generate file sequences is, still, hard to explain. While I'll experiment with this option, it may not become a feature.

- Update command line help/Recursive Scan

One thing that's been missing for a while is an explanation of the S, XI, XU directly in the "-?" help screen. First, I plan on replacing the popup dialog with console output to better support batch style operations. Second, an option to perform the rename recursively has been missing for a while. Also, the term "Recursive Scan" isn't as well known as a "Subfolder Scan" on the "View" menu, so I plan on changing the name to something like "Subfolder Scan (recursive)".

- Remove Clutter

There are several options and menu items that just don't really fit the program anymore. Some items are duplicates, some are obsolete. Many of these items can safely be removed to make things less complicated.

  joejoe Apr-30-09 11:16 PM CDT

Next task, taking inventory

After so many years of working on this programs, there are features and dialogs I've not even looked at in months and years. My next task for Rename Master and ArsClip [once I've released version 3.1.3], is to go back and look at each program's options and see what needs to change, what needs to be reworded, and what needs to be removed.

Here's an example. There's an option in ArsClip (AC) to define how non-text items are pasted. This option hasn't actually done anything for years. Now that text and non-text items are combined into a single list [by default], the option doesn't seem to be even needed anymore.

Even though I use AC every day, I barely use 10% of what AC can do. I'm going to re-introduce myself to my programs and do some housekeeping. So, if there's a feature or option in a program that you think is confusing or just not intuitive, let me know so I can put it on the top of my todo list.

  joejoe Apr-02-09 11:48 PM CDT

ArsClip Fix

The latest Public Beta fixes a long standing problem where non-text duplicates were not detected. To support this, the file format for clips (.ACZ) has been altered, but only new clips written to disk support this feature.

This new change will allow for a feature that I've been wanting to add - the ability to show both text and non-text items in a single list. I may actually add this feature before officially releasing 3.1.3, even though I already claimed it in "Feature Freeze". The current beta just doesn't seem to have many new features for a new release without it.

I, earlier, looked into supporting the CLP (Windows Clipboard Format) for saving clips, but the new MS OSes don't even have CLIPBRD.EXE any more and it's not a documented format either. I've decided to skip adding support for it because of this - there's no longer a default association for CLP files in Vista (and Windows 7).

  joejoe Mar-10-09 6:53 PM CDT

Renaming with Textfiles

As stated on the main page, I've added textfile support to the Rename Master. While the current implemenation is simplified to just 3 options, there's a visualization problem with the implementation. There's no visual link between loading the textfile into meta-variables and further more there's no visual link between the Scripting Steps and inserting the new ?textN? style meta-variables.

The first plan is to visually display a row of the data. This will help with 2 visual problems and show how the data is separated and the names of each of the meta-variables used for each field. This will also show if the effect of the "skipped lines".

The second plan is to add a new "Textfile" popup item for the insert popup menu to automatically insert ?textN? meta-variables.

  joejoe Mar-03-09 7:53 PM CST

MouseWrangler, under the hood

For a peek at how MouseWrangler works, hold shift and click the main form in an empty area. The top/left 2 values represent the change in X and Y direction since the last sample. These X and Y values are changed to percents of the monitor's width and height and changed to a resolution independant value - these represent mouse speed. The 4 following values represent the number of times the same direction is detected sequentially when the X/Y speed is over a threshold value. The bottom center number represent the detected angle of movement (from 0 to 360) and the top center numbers represents the current mouse position and the last position since a direction change was detected.

The X and Y deltas and the counters use exponential smoothing, that is to say, they don't increase or decrease immediately. They work similar to how an estimated download time works using a history of values to present a current value. These numbers are represented by the "Speed required" and "Distance required" configuration settings for Gestures. Lower values means the current value is used much more than historical values and higher values means that historical data is used much more that current values. The "Slower" and "Shorter" values trigger much sooner, but are less accurate.

The counters and X/Y deltas detect direction changes and store important mouse positions, but ultimately direction is determined by comparing the last important stored mouse point and the current mouse point. Using good old trigonometry and right triangles, the length and angle of the movement is calculated. If mouse movement becomes long, but the movement is slow enough not to cross thresholds, the direction will be calculated no matter the X/Y deltas and counters. This "slow" movement uses a multiple of the "Minimum length" configuration setting to trigger.

Things get more complicated when Diagonals are enabled. I've already explained below about the dead zone used to ignore angles that aren't unique enough to be conclusive, but once these are long enough the movement will no longer be ignored. Certain angle combinations are not legal and are ignored to remove the most common errors. For example, a Down cannot be followed by a SouthEast or SouthWest movement. When changing from Down to Left, for example, it's very easy to move at a diagonal of SouthWest instead of making a very clean right angle change.

Once the Right-Click is released, the series of movements is reported and the gesture lookup begins. At first, exact matches are found but when diagonals are enabled and no exact matches are found, similar gestures are found and ordered by similarity. A similar gesture has 1 direction different than the performed gesture, or is missing 1 direction. Gestures that begin the same are considered more-similar and placed first in the suggestions list. When the Suggestions Popup is enabled, this list is shown and the user can close or select the correct gesture. When Auto-corrections are enabled, the program will search the suggestion list and find one incorrect direction that is neighboring the correct direction and automatically execute the first very similar correct gesture.

  joejoe Mar-02-09 8:43 PM CST

MouseWrangler almost ready

Before MouseWrangler is officially released, there are two last issues that I need to deal with.

The first issue is the "Dead Zone" - used when diagonals are enabled. The program defines a small area evenly between normal directions and diagonal directions as undefined. While moving at this angle, no directions is declared or detected. When the direction movement is small, the program will wait until the angle isn't inside the dead zone before declaring a direction. Even a long and fast movement won't be declared in this zone. The program needs to override the dead zone once a long enough movement has been made (some multiple of the "Required length" configuration setting). While moving in the dead zone, it just currently looks like the program isn't working.

The second issue is the auto-correction. Currently, only suggestions are shown when an incorrect gesture is made. There is no option for the program to fix a single direction so that it matches an existing defined gesture. For example, if Down+Right+Down is defined, but Down+Right+SouthWest is detected, the program should allow for a configuration so Down+Right+Down will be executed if the angle of the movement is "close enough" to be a just a sloppy Down that's a little too slanted. If the angle is between a Down and a SouthWest, it can qualify for correction, but if the angle is between a SouthWest and a Left, it will not qualify to be corrected as a Down movement.

  joejoe Feb-28-09 11:40 PM CST

MouseWrangler Scope

I'm getting close to having to make the "scope" decision. That decision is, 'what is not the job of the mouse gesture program'. It's easy to just add more and more features, but there has to be a golden rule to know when not to add a feature. By default, I don't add any features that interfere with the main function of the program and its normal usage.

MouseWrangler can't compete with all the macro and macro recording freeware that's already available, and I don't think that's its job. MW, however, does have to communicate with other programs to get tasks executed. Currently, MW can simulate keystrokes to activate common Windows hotkeys or to activate shortcuts that are located in the StartMenu or on the Desktop. I've included common examples for the Keystroke and Multiple Keystrokes edit windows to help show some keystrokes that work in almost all Windows programs. Currently, it's not very intuitive to connect running a shortut with a global hotkey and simulating the hotkey with a gesture.

The program should work well by itself and should also not need a secondary program to do the most common tasks. "Does a mouse commonly do this job in all programs?" isn't a good enough rule to define the scope. For example, the gesture program won't be able to resize windows nor does it make the task easier. The gesture program can switch between 2 programs (ALT+TAB), but it can't find the correct program. The gesture program can select all (CTRL+A), but it can't find specific items in a list. Currently, the gesture program can't execute programs, but I think that might fall under its scope because clicking on shortcuts on the Desktop and in the Start Menu is a very common task.

I think the "scope" of the program is to help bridge the gap between what you can do with a keyboard and what you can perform with a mouse. So, executing keystrokes is definitely part of the scope and executing shortcuts seems to fit this scope as well. Running a program with command line arguments may also be needed as a way for more advanced users to expand functionality with external macro programs.

  joejoe Feb-24-09 10:48 PM CST

MouseWrangler Diagonals

I've been expirementing with detecting diagonal mouse movement and how it effects normal movements. While I can correctly identify the exact angle of mouse movement, a sloppy or fast movement can be angled enough to be detected as diagonal even when the user likely meant to do another direction.

I'll prefer simple movements that work over more movements that I'll accidentally do incorrectly. My decision is that any diagonal movement would have to be optional. The Up,Down,Left,Right movements just work too well at detecting movements even as they angle diagonally.

To help auto-correct accidental movements, MW will use a system of heuristics to determine when a movement is likely to be incorrect and replace it with the correct movement. For Exaple, if the Gesture is "DOWN+RIGHT" but "DOWN+NE" is detected, the program will look at the angle of the NorthEast direction and determine if it's much less North direction than East. When an auto-correction is made, the program will either show a popup of the most likely choices to choose from, or it will automatically fire the most likely gesture. This will also be a configuration option since both choices are likely to annoy some people.

I was also thinking about limiting movements when diagonals are enabled. I was thinking that a Down movement couldn't follow an Up movement and an Upwards movement couldn't follow an Up movement. This limits the combinations to UP+LEFT, UP+RIGHT, UP+SE, UP+SW [where UP+DOWN,UP+NE, and UP+NW wouldn't be allowed].

When testing combinations, I found that "Z" styles shapes were much easier to do right consistantly than "N" or "M" shapes because a quick "N" is usally made by moving NE+DOWN+NE instead of "UP+SW+UP". I also found that ">" and "

  joejoe Feb-20-09 12:50 PM CST

Mouse Wrangler is Beta

The program is now fully functional, but now I'm adding tweaks and new features. Currenty, the program is a little barebones but most of the major work is done. In the future I plan on adding:

- a system tray icon
- a configuration screen [to tweak some settings]
- a "scratchpad" [a small window, usually hidden, that can be triggered to draw on]
- a new action type that will run files
- per-program gestures

Older Items





Got an idea for improving my freeware? Got a bug to report? Just want to say hello? Send me your feedback.
I can be contacted at jackass.joejoe@gmail.com or send me a comment below. English only please. If you want a reply, please use E-mail for feedback.


Name


(Leave blank)


Comment