SQL Tree

By: fbuser

foo_uie_sql_tree is a foobar2000 component for viewing the media library in a tree structure using SQL queries. The component provides a panel for ColumnsUI or DefaultUI, which is a prerequisite for using this component.

The underlying database engine is SQLite provided by foo_sqlite, which is also a prerequisite for using this component, and with the exception of a few restrictions for building the tree queries the whole functionality of SQLite is supported.

Latest changes:
- fixed: rare crash during drag and drop operations
- fixed: a query which contained parentheses inside a string were not properly parsed in a node query
- other: at least foo_sqlite 1.1.0 is required

- fixed: crash, if foo_sqlite was not installed
- fixed: rare crash during opening the context menu of the tree
- other: at least foo_sqlite 1.0.3 is required
- other: at least ColumnsUI 0.5.1 is required now, if ColumnsUI is used

- fixed: graphical glitches during node operations

-fixed: the remove duplicates option when sending items to a playlist for a query node removed the duplicates in an arbitrary order, so they were not properly grouped in the playlist
- fixed: in the node definition dialog an existing query with no batch definition could not be cleared even when a batch definition was created
- fixed: the "Query active" box overlapped the scrollbars of the tree
- fixed: The scrollbars were still not placed at the very edge of the panel, if the panel was resized
- fixed: crash when pressing a key or a mouse button during the loading of the tree
- changed: renamed "Query active" to "Database activity ..."
- added: STRG-A selects the whole content in all multiline edit fields
- added: set some default values for a query node in the advanced preferences section
- added: support for DefaultUI
- removed: SQL processing priority settings
- other: extract the SQLite basic functionality and the tree console to foo_sqlite
- other: compiled with SDK-2015-08-03
- other: compiled with ColumnsUI SDK 6.5.7
- other: at least ColumnsUI 0.5.0 is required now, if ColumnsUI is used
- other: Enhanced performance for the automatic sorting after changing a query node label

1.1.2 (not published):
- other: compiled with SDK-2015-01-15
- other: upgrade to SQLite
- other: include SQLite extension functions from Liam Healy

1.1.1 (not published):
- fixed: node filter was not applied, when the node result was sent to the SQL Tree console
- other: upgrade to SQLite

1.1.0 (not published):
- fixed: scrollbars were not placed to the very edge of the panel
- fixed: inserting nodes at the beginning of an existing query definition results in random colors for the node
- fixed: text background for an unselected node was drawn larger than for a selected node
- fixed: parallel use of playist actions in the tree and querying of the column metadb_handle led to wrong results for the playlist action
- fixed: cross joins didn't work for the virtual tables
- fixed: parameters, which were used during the creation of a virtual table were ignored after a reconnect to the database
- fixed: execution time in SQL Tree Console was not reset after close
- changed: no action will be executed when left click on tree item when shift is pressed
- changed: no action will be executed when middle click on tree item when shift or ctrl is pressed
- changed: execute button actions on button up instead of button down
- changed: use "SQL Tree playlist" as default name for target playlist actions, if target playlist name is empty
- added: support undo for playlist changes
- added: possibility to define context specific icons and colors for query result nodes
- added: context menu entry "Properties" for queries.
- added: action "Choose from menu"
- added: action "Send to Library Viewer Selection playlist"
- added: support for selection holder
- added: possibility to cut/copy/paste (+ drag/drop) query+folder nodes
- added: SQL functions playing_playlist(), active_playlist()
- added: SQL functions tf_playing_item(tf_expression), tf_focus_item(playlist_index,tf_expression), tf_focus_item_pn(playlist_name,tf_expression)
- added: SQL function file_exists(file)
- added: predefined fields for the virtual Playlist table: item_is_playing, item_has_focus, item_is_selected
- added: possibility to update tags with the SQL UPDATE statement
- added: possibility to add or remove items from a playlist with the SQL INSERT or DELETE statement
- added: use automatic index on all columns, which don't have the column type "Predefined" and also for the playlist column playlist_name, playlist_index and playlist_item.
- added: the SQL Tree console remembers the last executed query after closing and reopening it
- other: upgrade to SQLite 3.7.17

- fixed: the tree got corrupted, when different layouts were used
- other: upgrade to SQLite

- fixed: the status for "Start playback" was not saved for "Middle click action"
- fixed: keyboard shortcuts were not working when tree items were selected with the right mouse button
- changed: some minor changes

This update requires ColumnsUI to be installed before starting foobar2000. Otherwise you might loose your configurations

- fixed: some minor issues
- other: upgrade to SQLite 3.7.9

- changed: Renamed <Default> node to <Examples> and Examples subnode to Library, to make it clear that all these nodes are only meant as examples
- fixed: crash, when refreshing a query node, while only the batch part of a query node but not the query part was used
- fixed: several minor issues

- initial release

Current version

2.0.3, released on 2017-08-09

Works with foobar2000 v1.3 and newer



More components

Browse all
Browse by author: fbuser
Tags: Columns UI panel, Default UI element, media library viewer, search

How to install a component?