# The Database Viewer

Database Viewer windows are used to display album and track Databases. They may also allow you to interact with files in the main window. While designed to open Yate produced databases, you can also open other CSV (comma separated values) and TSV (tab separated values) files. You open a .csv, .tsv or .tab file via the Yate>Open menu item or by dragging it to the main window.

You can use the search bar at the top of the window to search, filter and replace content. More information can be found in The Database Search Bar

Note that in order to access the full functionality of the Database Viewer an album database must have mapped Album and Folder fields. A track database must have a mapped File Path field. Album databases which have a Yate Album ID field have stronger references to albums. Track databases which have a Yate Track ID field have stronger references to tracks. Databases which are created as standalone have no interaction with tracks open in the main window.

The font size can be adjusted via the Font menu. Most columns can be moved by simply dragging them to a new position. Files can be sorted by clicking on the column headers.

Additional functionality is provided by the table header's context menu. The table header's context menu has the following items:

Saved Sort / Randomize
  The database will be sorted via the saved sort or will have its rows randomized (Option key depressed).
Configure Saved Sort
  A panel will be displayed allowing you to configure the saved sort.
Auto Size
  See Auto Size Submenus.
Remove Column...
  Delete a column. You can use this item to remove a Results column produced by the Look for Duplicates functionality. Note that removing a column can reduce the functionality of the database. For example if you remove a File Path column, a Track database will become Standalone. Any searches or filters which referenced a removed column will also be removed.
Add Text Column...
  You can add a text column which will appear at the right of the table. (Remember, columns can be reordered). The added column is equivalent to an OOB item an Export Set. ie. it will not represent date which can be synched.
Add Yes/No Column...
  You can add a Yes/No column which will appear at the right of the table. The added column is equivalent to an OOB item an Export Set with Yes/No selected. ie. it will not represent date which can be synched.
Rename Column...
  Note that renaming a column will remove all searches and filters which referenced the renamed column.
Column Names
  By deselecting a column, you cause the column to be hidden.

File>Save saves the contents of the open database. File>Save As allows you to save a copy of the open database. File>Export creates a copy of the open database only saving the records in current display.

When displaying an album or track database Yate can display artwork thumbnails and can interact with the Artwork Viewer. Additional information can be found here.

Various query database related functions report errors associated with a row number in a database. You can use the Edit>Select Row/Line Number menu item to move the selection to the specified row number.

You can edit the value of any any non special cell inline. All associated tracks currently open in the main window will have their values changed. In album databases, associated tracks must be in the same album which is defined as any track with the same Album and Folder values of the edited row. This is the only method of changing an album's name which will be reflected to currently open tracks. Note that the value ??? used to represent multiple values will not be written.

When editing a Rating, Love or any boolean column (currently Part of a Compilation, Skip When Shuffling and Show Work Name), you supply an integer value. The values for Ratings are 0 through 5; for Love 0 for not set, -1 for disliked and 1 for loved; for boolean 0 for false and 1 for true. Note that graphic sequences can be supplied for the display of these fields by setting the appropriate display strings in Preferences-Databases.

All further operations are carried out by means of the table's context menu. Note that some menu items are sensitive to the column that was click.

The following is a description of the context menu items that can be displayed.

Run Action
  You can designate that an action should appear on this menu in the Action Manager via setting the Association column to D (database). When an action is run from this menu an Open Database for Querying statement is automatically executed. The opened query database has an identifying prefix of UI, is keyless and is opened as grabbing. Running an action on this menu eliminates the need of locating and opening the database in the action. The rules of action execution still apply. At least one track must be selected in the main window. Note that if you run an action via a keyboard shortcut, you are not running it from this menu. Additional information can be found in Synching a Query Database with an Open Database Viewer. Note that you can force the display of actions that only apply to a particular database by naming appropriate actions as follows: database name>>remainder of name.
Add to Staging Playlist
  If the Staging Play list is open, any Track database can add items directly to it. Duplicate items will not be added. However, if an item is already in the Staging Database, its values will be updated. The items in the Staging Database will map whatever fields are possible to the columns in the source database. All selected or clicked rows will be added.
Add to Apple App Staging Playlist
  Any Track database which has an Apple App PID column can add items directly to the Apple App staging playlist. Duplicate items will not be added. All selected or clicked rows will be added.
Show Artwork
  Display the artwork viewer with the image in the clicked row. Same as double clicking on a thumbnail image.
Apply Cell Value to Selected Rows
  The value in the cell where you clicked will be applied to the same column in all selected rows. Note that for columns which display a menu you can double click on a cell in the column, select a menu item and it will be applied to all selected rows.
Apply Clipboard to Cells
  This function is used to copy the contents of the clipboard to cells in the clicked column. The rows affected are determined as in the Finder. If the clicked row is disjoint from the current selection, only the clicked row will be modified. If the clicked row is in the current selection, the entire selection will be modified.
Apply Database Values to Open Files
  All files open in the main Yate window which are represented in the database, will have their values updated to reflect the values in the database. Note that the value ??? used to represent multiple values will not be written. You cannot use this function to change the name of an album from an album database.
  When inline editing values in a track or album database and the associated files are loaded, the files will automatically be updated. This feature can be disabled by the Preferences - Databases - When updating automatically update loaded files setting. Note that the setting only affects inline edited cells in the database and is not applied to cells modified by a context menu function.
Update Database Values from Main Window Files
  This function is used to update entries in the database with the values of the currently displayed files in the main window. Any files currently open which cannot be located in the database, will be added.
Add Empty Row
  This function is only valid on standalone databases and while not filtering. It adds an empty row to the end of the database.
Delete Rows
  This function is used to remove entries from the database. The rows affected are determined as in the Finder. If the clicked row is disjoint from the current selection, only the clicked row will be deleted. If the clicked row is in the current selection, the entire selection will be deleted.
Hide Items With Data Equal to Cell
  The value of the data in the cell which is clicked will be used to filter the display. Note that the filter is case insensitive. Those rows have the same column value will be hidden. The rows supplying data to the filter are determined as in the Finder. If the clicked row is disjoint from the current selection, only the clicked row's column data will be applied. If the clicked row is in the current selection, column data will be used from every selected row.
Hide Items with Data not Equal to Cell
  The value of the data in the cell which is clicked will be used to filter the display. Note that the filter is case insensitive. Those rows which do not have the same column value will be hidden. The rows supplying data to the filter are determined as in the Finder. If the clicked row is disjoint from the current selection, only the clicked row's column data will be applied. If the clicked row is in the current selection, column data will be used from every selected row.
Hide Selected Items
  All selected items (rows) will be hidden.
Hide Selected Items
  All selected items (rows) will be hidden.
Hide Items Not Selected
  All items (rows) which are not selected will be hidden.
Hide Items Without Today's Date any Year
  This item allows you to locate all items with a date field in the current column which have today's date (any year). There must be at least yyyy-mm-dd data present in order for the filter to be applied.
Hide Items Not Equal to Cell's Date any Year
  Almost the same as Hide Items Without Today's Date any Year except that the filter date is extracted from the clicked cell.
Advanced Filter...
  This item allows you to configure complex filters to hide files. Additional information can be found in Advanced Filtering.
Hide Items Matching Saved Filter
  This item displays a list of saved advanced filters. A selected filter will be applied and used to hide items matching the filter.
Hide Items Not Matching Saved Filter
  This item displays a list of saved advanced filters. A selected filter will be applied and used to hide items not matching the filter.
Open
  The contents of the folders specified in the Folder or File Path column of all effective rows will be opened in the main window. If you are in Playlist mode, a single track will be opened from a Track database. The effective rows are determined as in the Finder. If the clicked row is disjoint from the current selection, only the clicked row will be applied. If the clicked row is in the current selection, multiple albums will be opened. How these files are opened depends on the current Open Mode. Double clicking on a folder column item will have the same effect as this context menu entry.
Copy
  Copy the contents of the clicked cell to the clipboard.
Deselect All
  Selected rows can be processed by actions. Selecting rows is straightforward however deselecting all rows can be difficult.
Show Small/Large Thumbnails
  The Database Viewer can display thumbnails in two sizes. These entries toggle between the two sizes.
Refresh Thumbnails
  If the thumbnail image source is changed or if a folder.jpg file is changed, the thumbnails will not automatically refresh. This item will refresh the thumbnail display.
Show in Finder
  Locate the selected album or tracks in the Finder.
Show in Path Finder
  Locate the first selected album or track in the Path Finder application (when enabled in General Preferences).
Show Folder in File Browser
  Display the folder associated with the first selected album or track in the File Browser.
Show Album in Track DB
  This is only displayed in Album databases containing a Yate Album ID column. If you have specified a default Track database in Preferences - Databases, the database will be loaded if necessary (it must have a Yate Album ID column). If a default Track database has not been specified, and an open database is a Track database containing a Yate Album ID column, it will be used. An attempt will be made to filter the referenced database to display the tracks contained in the selected album. Note that double clicking in a cell in the Yate Album ID column will have the same effect.
Preview
  Play the selected track(s). Only available in Track databases. Hitting the spacebar will have the same effect.
Query...
  Issue a query against the currently displayed items. More information can be found here
Look for Duplicates...
  Start the Duplicate Identification process.
Open URL
  Loads the selected URL in a browser. Note that fields containing Discogs and MusicBrainz IDs can be synthesized into URLs.
Open Discogs Wizard for Release ID...
  Opens the Discogs Wizard with a row's Discogs Release ID column's data. Note that due to the acquisition of Discogs Release Ids from MusicBrainz, an ID prefixed with an m actually represents a master.
Open Discogs Wizard for Master ID...
  Opens the Discogs Wizard with a row's Discogs Master ID column's data.
MusicBrainz Wizard for Release ID...
  Opens the MusicBrainz Wizard with a row's MusicBrainz Release ID column's data.
Set as Key Column
  Makes the clicked column the key column for the In file mode of the Open Database for Querying statement.
Create m3u File...
  A prompt will be issued to choose the location of an m3u file. The produced file will contain an entry for every non hidden item in the database regardless of the current selection. When producing the file, Yate will save it with a .m3u extension if the contents of the file can be saved with the Latin1 encoding. If the filenames contain non Latin1 characters, the file will be saved as a UTF8 file with the extension .m3u8.
  Unless you choose the Write absolute paths option, Yate will attempt to write the file with relative paths whenever possible. A produced file will contain all relative or all absolute paths.
  You can choose to write the file encoded in a Standard, Extended or Yate format. More information on the formats can be found in m3u File Formats. Note that the Extended and Yate formats will only work if the required fields are available in the database. Extended requires a title and timing field. Yate format requires a Yate Track ID field.
  This function is only applicable in Track databases.
Create Apple App Playlist...
  This function is only valid in Track databases which have Apple App PID columns. You will be prompted for the name of a playlist which will be overwritten if it already exists. The specified name can use any of the Apple App Playlist Naming Conventions. All visible rows will be used when creating the playlist.
Clear Key Column Status
  Removes the key column status associated with the clicked column. The key column is used for the In file mode of the Open Database for Querying statement.
Lock/Unlock the Database
  When a database is locked all updating and removing of items from the application's main window is disabled. When files are saved, no updating will occur regardless of the auto-update on save setting (in Preferences-File List). The Open Database action statement's Update database values after opening option is also disabled. The only means of modifying content in a locked database from an action is via the Update Database and Remove Items from Database statements. Note that locking a database has no effect on editing within the database. When a database is locked, a lock icon is displayed in the window's title bar.
View Options...
  You can configure the view options for a database. These options include the colour and grid type to be used. Note that these options will override the default settings specified in Preferences-Databases.
Note...
  You can edit and view a note which is retained in the database's associated plist file.
Make Alias on Desktop
  An absolute symbolic link will be created on the desktop which references the database file. This really only makes sense if you make Yate the default application for the database's file type. You can do this as follows: In the Finder select a Yate database file. eg. mydb.csv. From the context menu do a Get Info. In the Get Info panel you can use the Open With drop down control to select Yate. If you wish you can make Yate the default application for all files of the same type. Note that a Yate icon will be associated with the file and alias.
Make this a standalone/track/album Database
  You can always change a Track or Album database to be Standalone via this menu item. Depending on the fields in the file and their encoding in the sidecar file, you may be able to change a Standalone database to be a Track or Album database. Warning: Standalone databases have no restrictions on editing fields. Any data can be placed into any field. Be careful when changing from a Standalone database to a Track or Album database. Note that the tooltip for this menu item displays the character encoding of the file when read.
Display Column Mappings...
  The column mappings will be displayed in the Log Viewer. Essentially export set metadata will be displayed.

Cells in Rating, Love, and Yes/No columns can be edited inline, supplying numeric vales, or by double clicking on them. Yes/No columns will toggle. Rating and Love columns will display a menu with symbolic values.

Cells which were created as OOB or Variable columns and were assigned a qualifying popup menu will display the menu when a cell is double clicked. If inline editing was disabled, a single click will work if only one row is selected. When multiple rows are selected the cells in each row in the clicked column will be modified. Typically the menu text overwrites a cell's contents. If the Option key is down when the menu item is clicked, the text will be appended. Note that if the text to be entered is empty it will always overwrite.

Album databases which do not have a Yate Album ID field associate items items by the Album field and folder path. Track databases which do not have a Yate Track ID field associate items by the file path. If the ID fields are not present and you rename or move your files or if you change the album name you will not be able to associate the files to the database. In this case you can use the file list context menu item Show Files in Database (Original) to locate the associated items in the database by using the original metadata obtained when the tracks were loaded into Yate.

Note that when viewing an Album or Track database, rows can be dragged outside the database: to the Finder to copy the files or folders; to the Yate main window to open the dragged items as if dragged from the Finder; to an Apple application to add files and/or add them to playlists, etc.

An action can open a database as being readonly. When a database is readonly, a red circle icon is displayed in the window's title bar. When in this state, the database cannot be modified. Further, the database cannot be closed while an action is running.