Package Max

conformpath

Convert file paths styles

Description

Converts paths between the older colon style formats and the current slash style. It can also be used to conform paths to either absolute, relative, boot volume relative, or Cycling 74 folder relative types.

Discussion

conformpath can be used to convert paths between the old colon style format and the new slash style--these are the "pathstyles". It can also be used to conform paths to either absolute, relative, boot volume relative, or Cycling 74 folder relative--these are the "pathtypes".

The "max" style will use whatever style the currently running version of Max uses to pass paths between objects. The "native" style will use whatever format is used by the currently running operating system to specify paths. There is only an explicit "native_win" pathstyle since the native Macintosh pathstyle is the same as the "colon" path style. Note that when working with native paths, only absolute paths will be valid for the operating system.

The default pathstyle is "max", and the default pathtype is "ignore".

In addition to the standard Max path syntax ( Drive:/path/to/file ), conformpath supports the following additional path prefixes:

  • ~: - path relative to the user's home folder
  • C74: - path relative to the Cycling '74 resources folder (on macOS, this is inside the application bundle Max.app/Contents/Resources/C74/ ; on Windows, this is the resources folder next to the Max.exe executable
  • Usermax: - path relative to the Max 8 folder in the user's Documents folder
  • Desktop: - path relative to the user's Desktop folder
  • ~Tempfolder: - path relative to Max's temp folder (this folder will be automatically emptied when Max quits)
  • Package:/<package-name>/ - path relative to the package specified in package-name
  • Project: - path relative to the project (if any) containing the conformpath object

Arguments

pathstyle[symbol]
optional

An optional symbol argument specifies the pathstyle to be used as output. The possible pathstyle arguments are:

colon: Specifies that the colon pathstyle is used for output.

max: Specifies that the max pathstyle is used for output.

native: Specifies that the native pathstyle is used for output.

native_win: Specifies that the native_win pathstyle is used for output (See description of the pathstyle method for more details).

Note: The use of the native_win style paths is not advised except for display purposes.

slash: Specifies that the slash pathstyle is used for output.

(See the description of the pathstyle method for more details).

pathtype[symbol]
optional

An optional symbol argument specifies the pathtype to be used as output. The possible pathtype arguments are:

absolute: Specifies the output of the absolute pathname of the file or folder as a symbol.

boot: Specifies the output of the pathname of the file or folder relative to the boot volume as a symbol.

C74: Specifies the output of the pathname of the file or folder relative to the Cycling 74 folder as a symbol.

relative: Specifies the output of the pathname of the file or folder relative to the Max application folder as a symbol.

ignore: Specifies that no pathtype conversion is performed.

(See description of the pathtype method for more details).

Attributes

Common Box Attributes

Below is a list of attributes shared by all objects. If you want to change one of these attributes for an object based on the object box, you need to place the word sendbox in front of the attribute name, or use the object's Inspector.

annotation[symbol]

Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.

background[int]: 0

Adds or removes the object from the patcher's background layer. background 1 adds the object to the background layer, background 0 removes it. Objects in the background layer are shown behind all objects in the default foreground layer.

color[4 floats]

Sets the color for the object box outline.

fontface[int]

Sets the type style used by the object. The options are:

plain
bold
italic
bold italic Possible values:

0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'

fontname[symbol]

Sets the object's font.

fontsize[float]

Sets the object's font size (in points). Possible values:

'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'

hidden[int]: 0

Toggles whether an object is hidden when the patcher is locked.

hint[symbol]

Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.

ignoreclick[int]: 0

Toggles whether an object ignores mouse clicks in a locked patcher.

jspainterfile[symbol]

You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.

patching_rect[4 floats]: 0. 0. 100. 0.

Sets the position and size of the object in the patcher window.

position[2 floats]
write-only

Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.

presentation[int]: 0

Sets whether an object belongs to the patcher's presentation.

presentation_rect[4 floats]: 0. 0. 0. 0.

Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.

rect[4 floats]
write-only

Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).

size[2 floats]
write-only

Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.

textcolor[4 floats]

Sets the color for the object's text in RGBA format.

textjustification[int]

Sets the justification for the object's text. Possible values:

0 = 'left'
1 = 'center'
2 = 'right'

varname[symbol]

Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.

Messages

anything

A file name or path as a symbol. The conformpath object converts paths of one pathstyle (i.e., file paths that use colons or slashes as separators) and/or pathtype (paths that are absolute, relative, boot volume-relative, or Cycling 74 folder-relative) to another. It provides a superset of the functionality of the absolutepath and relativepath objects.

Arguments:
  • filepath [symbol]

pathstyle

The word pathstyle , followed by a word that specifies a pathstyle, will conform the output pathname to the chosen styles. The possible styles are:

colon : The colon style will use colons as separators when passing paths between objects. This style was used in Max versions 4.2 and earlier on Macintoshes Note: Since the native Macintosh pathstyle is the same as the colon path style, there is no native_mac pathstyle.

max : (default) The max style will use whatever style the currently running version of Max uses to pass paths between objects.

native : The native style will use whatever format is used by the currently running operating system to specify paths. Note: When working with native paths, only absolute paths will be valid for the operating system.

native_win : The native_win style will use native Windows OS format (i.e., backslashes as separators) to specify paths. Note: The use of the native_win style paths is not advised except for display purposes - In Max, the backslash character is used as an escape character and could lead to problems if used in conjunction with message boxes, sprintf, coll, and other objects which parse text into atoms.

slash : The slash style will use slashes as separators when passing paths between objects.

Arguments:
  • pathstyle [symbol]

pathtype

The word pathtype , followed by a word that specifies a pathtype, will conform the output pathname to the chosen type. The possible types are:

absolute : The absolute type will output the absolute pathname of the file or folder as a symbol.

boot : The boot type will output the pathname of the file or folder relative to the boot volume as a symbol. If the file is not relative to the boot file, the conformpath object will send a zero out the right outlet and send the output path out the left outlet unchanged.

C74 : The C74 type will output the pathname of the file or folder relative to the Cycling 74 folder as a symbol. If the file is not relative to the Cycling 74 folder, the conformpath object will send a zero out the right outlet and send the output path out the left outlet unchanged.

relative : The relative type will output the pathname of the file or folder relative to the Max application folder as a symbol. If the file is not relative to the Max application folder, the conformpath object will send a zero out the right outlet and send the output path out the left outlet unchanged.

ignore : (default) The ignore type will perform no path type conversion.

Arguments:
  • pathtype [symbol]

Output

int

Out right outlet: If the input file or folder is conformed to specified pathtype and/ or pathtype, the output is 1 . if the filepath cannot be conformed (e.g., if the file is not relative to a requested path type), the output is 0 .

symbol

The pathname of the folder or file conformed to the specified pathstyle and/or pathtype.

See Also

Name Description
absolutepath Convert a file name to an absolute path
opendialog Open a dialog to ask for a file or folder
relativepath Convert an absolute to a relative path
savedialog Open a dialog asking for a filename
strippath Separate filename from a full pathname