Cells can be edited by simply clicking on them. The usually keys are available to alter content and move around. Some special features are available:
Switch to the previous autocompletion item
Switch to the next autocompletion item
Alter all adjacent cells of the same column to the new value when the current value is the same as from this cell.
The content of a cell may have four different correctness states. The default state is “no evidence”: Texel has no idea about correctness of the content. At least no error could be detected. The default state is not indicated with any visual feedback. The second state is the “correct state”. A cell which is considered as correct was checked against a reliable source. Currently this state is only used for artists for are found in Musicbrainz. The correctness is indicated with a small green check in the right bottom corner. The “warning state” indicates that something may be wrong with the cell content. The user should check. It is indicated with an amber wavy underline. The last state is the “error state” which indicates that the content of the cell is considered as errounous. It will lead to further failures in the processing. Errors are described better in the tooltip of the cell when you hover with the mouse over the cell. Errors are indicated with a red wavy underline.
Altered cells are stored in a undo list. This does also include deletion of rows. Undone changes can be redone using the button in the toolbar. When longer pressing the undo button a menu appears which shows the undoable commands in the software. Selecting an item here will undo this change as well as all previously done changes.
Texel provides a powerful mechanism to refer other cells and to break up the filename into its naming parts. The following sections describe these mechanisms in depth. As the column "searchpattern" has a slightly different understanding of variables these is an extra section just for this column. The difference comes from the idea of the searchpattern column. Its used to parse fragments of the filename into variables which can then in turn accessed by the other columns. Other columns cannot define variables, but just use them!
A cell may contain a formular instead of text. A formular does start (as in a typical spreadsheet) with a equal sign (=). If you want to have a text starting with a '=' in a cell you may write ="=text".
the formular is evaluated and the cell content replaced with the result of the formular.
Variables start either with a dollar sign ($) or a percent sign (%). It follows the name of the variable. The name consist out of unicode letters and numbers and starts with a letter. However, when the name is enclosed in curly braces it may also contain spaces.
Texel offers predefined variables which are called like the column names. If you are using a localized (non English) version the column names may be English or the names of the localized version. Variable names may contain all unicode letters and are not only limited to ASCII characters. In case the name contains a space you may wrap the variable with braces:
When a variable refers to a column name the first character ($ or %) defines the content of it. A dollar sign referes to the current content of the cell, a percent sign to the original (disk persistent) content of the tag the cell belongs to.
If a variable is not found in the current context the global context is looked up. This is either a predefined global variable or as a last resort environment variables from the operating system. A local defined variable does never overwrite global variables, these are rather hidden. The might be visible again in the next row.
Please note that environment variables do not show up in the suggestions for a misspelled name. This would only pollute the suggestions and would offer little benefit - environment variables are typically rarely used.
Functions to always start with an Ampersand (&). Then the function name follows and in brackets the arguments. A function is executed after reaching the closing bracket. Optionally one may add a rangeset which limits the output just to the selected characters by the rangeset.
The most simple function is the empty function where you skip the function name (and the leading ampersand) and start right with the brackets. Thats an identity function and returns the content of the brackets as is. The result can than be processed by a range.
Example 2.1. Some functions
Some examples how functions look like:
Returns the content of the Artist field with removed leading and tailing spaces.
Returns a path expression with Artists grouped by their first character (converted into an upper character. When the field Artist would contain "The Beatles" the result would be "T/The Beatles".
Removes all leading and tailing whitespaces in the given string. Replaces tabs with spaces and replace repeated whitespace with a single one. A good use for this function would be to simplify a filename after removing unallowed characters for the filesystem.
Additional arguments are considered as an error.
Evaluates the given string as a subexpression. Useful either allow variables containing other variables or defining global variables with reusable expressions (libraries).
Additional arguments are considered as an error.
is equal to
Substitutes in the given string
stringeach character found in the
from_char_listwith the corresponding character in the
This function returns an error when the
to_char_listhave not equal length.
Returns the string in uppercase.
Returns the string in lowercase.
Returns the string with all first characters of a word capitalized.
Returns all characters from
stringwhen they are included in the
Filters out of
stringall characters which are in
char_filter_listis omitted the forbidden characters in FAT filenames are used: “
/ : ; * ? " < > |”
stringis not empty the function returns
prefixstring, otherwise nothing.
regexpto split the input
stringand do replace with
replacement. Within the regexp you may surround parts with escaped brackets “\(” and “\)”. In
replacementyou can then refer to these parts by numbering them with “\1” until “\n”.
This function uses the powerful regular expressions from Qt. A complete description can be found at the Qt website
The result of a function may be mapped again by usig only subsets of the result. Tis can be done with the range operator. A rangeset is surrounded by square brackets and may contain several ranges separated by commas. A range is either a single character position or a character range n-m where n and m are character positions.
The following rules apply to a range:
When n < m the characters n to m are copied to the output.
When m < n the characters n to m are copied to the output. The characters are reversed.
When a number is negativ its considered as the offset from the end of the string.
When m is ommitted the range goes until the end of the string.
The first letter of a string is 1.
The range  returns the first letter of a string. [-2--1] returns the two last characters of a string. [1,3-] returns the complete string except the second letter.