Releases: stuerp/foo_uie_webview
v0.3.0.0-alpha2, "Happy New Year"
- New:
- Methods
- showSearchUI(filter): Shows the library search UI initialized with the specified filter.
- formatMetaDBHandleTitle(handle, text): Formats the title of the specified metadb handle with the specified title formatting text.
- sortMetaDBHandleListByFormat(format): Sorts a list of metadb handles by the specified title format.
- sortMetaDBHandleListByPath(): Sorts a list of metadb handles by the path.
- sortMetaDBHandleListByRelativePath(): Sorts a list of metadb handles by the relative path.
- removeMetaDBHandleListDuplicates(): Removes duplicate items from a metadb handle list.
- calculateMetaDBHandleListDuration(): Calculates the total duration of a list of metadb handles.
- cloneMetaDBHandleList(): Clones a list of metadb handles.
- clearMetaDBHandleList(): Clears a list of metadb handles.
- addMetaDBHandleList(): Adds the items of a metadb handle list to another.
- Properties
- lastErrorNumber: Gets the number of the last error.
- lastErrorMessage: Gets the message of the last error.
- Methods
- Changed: canReadFiles, canReadDirectories, canExecuteShellOperations and isEnabled are properties now.
- Improved: Expanded JSDoc comments in foobar2000.js.
- Improved: Expanded error checking and handling in foobar2000.js.
v0.3.0.0-alpha1
- New:
-
Included foobar2000.js wraps the API to make JavaScript development easier. (alpha1)
-
Set permissions in the Preferences dialog. (alpha1)
-
Properties
- isLibraryEnabled: Returns true if the Media Library is enabled. (alpha1)
- canReadFiles: Returns true if the component can read local files. (alpha1)
- canReadDirectories: Returns true if the component can read local directories. (alpha1)
- canExecuteShellOperations: Returns true if the component can execute shell operations. (alpha1)
-
Methods
-
execute(filePath, arguments, directoryPath, operation, showMode): Execites a shell operation on a file. Mostly used to run applications. Check the SHELLEXECUTEINFOW documentation for the possible values of the parameters. (alpha1)
-
showLibraryPreferences(): Shows the Media Library preferences dialog. (alpha1)
-
searchLibrary(query): Searches the Media Library for matching tracks. Returns a metadb handle list. (alpha1)
-
getMetaDBHandleListCount(list): Returns the number of items in a list of metadb handles. (alpha1)
-
getMetaDBHandleListItem(list, index): Returns the item at the specified index in a list of metadb handles. (alpha1)
-
releaseMetaDBHandleList(list): Releases a list of metadb handles. (alpha1)
-
getMetaDBHandlePath(handle): Gets the path of the specified metadb handle. (alpha1)
-
getMetaDBHandleRelativePath(handle): Gets the path of the specified metadb handle relative to the Media Library folder it is in. (alpha1)
-
getMetaDBHandleLength(handle): Gets the length of the specified metadb handle (in ms). (alpha1)
-
-
Callbacks
- onLibraryItemsAdded(items): Called when items have been added to the Media Library. (alpha1)
- onLibraryItemsModified(items): Called when Media Library items have been modified. (alpha1)
- onLibraryItemsRemoved(items): Called when Media Library items have been removed. (alpha1)
-
v0.2.1.0
v0.2.0.0, "I'm getting framed..."
- New: Builds with foobar2000 SDK 2024-08-07.
- New: Updated WebView2 component to 1.0.2849.39.
- New: Templates can contain iframes. Take a look at the included Default-FrameTemplate.html example.
- New:
-
Methods
-
readAllText(filePath, codePage): Reads a file and returns it as a string. If codePage is 0 the file is assumed to be UTF-8 encoded.
-
readImage(filePath): Reads an image file and returns it as a Base64 string. (alpha2)
-
readDirectory(directoryPath, searchPattern): Reads a directory and returns the matching items as a JSON string. (alpha3)
-
getPlaylistName(playlistIndex): Gets the name of a playlist. (alpha2)
-
setPlaylistName(playlistIndex, name): Sets the name of a playlist. (alpha2)
-
findPlaylist(name): Returns the index of the playlist with the specified name. (alpha2)
-
getPlaylistItemCount(index): Gets the number of items in a platlist. (alpha2)
-
getFocusedPlaylistItem(playlistIndex): Gets the index of the focused item in a playlist. (alpha2)
-
setFocusedPlaylistItem(playlistIndex, name): Sets the index of the focused item in a playlist. (alpha2)
-
ensurePlaylistItemVisible(playlistIndex, itemIndex): Ensures the specified item of a playlist is visible. (alpha2)
-
isPlaylistItemSelected(playlistIndex, itemIndex): Returns true if the specified item of a playlist is selected. (alpha3)
-
executePlaylistDefaultAction(playlistIndex, itemIndex): Executes the default action on the specified item of a playlist. (alpha2)
-
createPlaylist(playlistIndex, name): Creates a new playlist with the specified name and inserts it after the specified playlist. (alpha2)
-
addPath(playlistIndex, itemIndex, filePath, selectAddedItem): Adds an item to the specified playlist after the specified item using a file path and optionally selects it. (alpha3)
-
duplicatePlaylist(playlistIndex, name): Duplicates the specified playlist and sets its name. (alpha2)
-
getPlaylistItems(playlistIndex): Returns the items of the specified playlist as a JSON string. (alpha3)
-
selectPlaylistItem(playlistIndex, itemIndex): Selects the specified item in a playlist. (alpha3)
-
deselectPlaylistItem(playlistIndex, itemIndex): Deselects the specified item in the specified playlist. (alpha3)
-
getSelectedPlaylistItems(playlistIndex): Returns the selected items of the specified playlist as a JSON string. (alpha3)
-
clearPlaylistSelection(playlistIndex): Clears the selected items in the specified playlist. (alpha2)
-
removeSelectedPlaylistItems(playlistIndex): Removes the selected items from the specfied playlist. (alpha3)
-
removeUnselectedPlaylistItems(playlistIndex): Removes the unselected items from the specfied playlist. (alpha3)
-
removePlaylistItem(playlistIndex, itemIndex): Removes the specified item from the specified playlist. (alpha3)
-
clearPlaylist(playlistIndex): Removes all items from the specified playlist. (alpha2)
-
deletePlaylist(playlistIndex): Deletes the specified playlist. (alpha3)
-
createAutoPlaylist(playlistIndex, name, query, sort, flags): Creates an auto playlist. Possible values for flags are 0 = default, 1 = Keep sorted). (alpha2)
-
isAutoPlaylist(playlistIndex): Returns true if the specified playlist is an auto playlist. (alpha2)
-
-
Properties
- playlistCount: Returns the number of playlists. (alpha2)
- activePlaylist: Gets or sets index of the active playlist. (alpha2)
- playingPlaylist: Gets or sets index of the playing playlist. (alpha2)
- isAutoPlaylist: Returns true if the specified playlist is an auto playlist. (alpha2)
- playbackOrder: Gets or sets the playback order (0 = default, 1 = repeat playlist, 2 = repeat track, 3 = random, 4 = shuffle tracks, 5 = shuffle albums, 6 = shuffle folders). (alpha2)
-
Callbacks
-
onPlaylistItemsAdded(playlistIndex, startindex, locations): Called when items have been added to the specified playlist. (alpha5)
-
onPlaylistItemsReordered(playlistIndex, items): Called when the items of the specified playlist have been reordered. (alpha5)
-
onPlaylistItemsRemoving(playlistIndex, removedItems, newCount): Called when removing items of the specified playlist. (alpha5)
-
onPlaylistItemsRemoved(playlistIndex, removedItems, newCount): Called when items of the specified playlist have been removed. (alpha5)
-
onPlaylistItemsModified(playlistIndex, items): Called when some playlist items of the specified playlist have been modified. (alpha5)
-
onPlaylistItemsModifiedFromPlayback(playlistIndex, items): Called when some playlist items of the specified playlist have been modified from playback. (alpha5)
-
onPlaylistItemsReplaced(playlistIndex, items): Called when items of the specified playlist have been replaced. (alpha5)
-
onPlaylistItemEnsureVisible(playlistIndex, itemIndex): Called when the specified item of a playlist was ensured to be visible. (alpha4)
-
onPlaylistCreated(playlistIndex, name): Called when the specified playlist has been created. (alpha4)
-
onPlaylistRenamed(playlistIndex, name): Called when the specified playlist has been renamed. (alpha4)
-
onPlaylistActivated(oldPlaylistIndex, newPlaylistIndex): Called when the active playlist is changed. (alpha4)
-
onPlaylistLocked(playlistIndex): Called when the specified playlist has been locked. (alpha4)
-
onPlaylistUnlocked(playlistIndex): Called when the specified playlist has been unlocked. (alpha4)
-
onPlaylistSelectedItemsChanged(playlistIndex, selectedItems): Called when the selected items of the specified playlist have been changed. (alpha5)
-
onPlaylistFocusedItemChanged(playlistIndex, fromItemIndex, toItemIndex): Called when the focused item of the specified playlist has been changed. (alpha4)
-
onPlaylistsReordered(playlistOrder): Called when the playlists have been reordered. (alpha5)
-
onPlaylistsRemoving(removedPlaylists, newCount): Called when playlists are being removed. (alpha5)
-
onPlaylistsRemoved(removedPlaylists, newCount): Called when playlists have been removed. (alpha5)
-
onDefaultFormatChanged(): Called when the default format has been changed. (alpha4)
-
onPlaybackOrderChanged(playbackOrderIndex): Called when the playback order has been changed. (alpha4)
-
-
Fixed: Booleans in objects are now parsed correctly. (alpha4)
-
Fixed: Boolean parameters and return values are true Javascript booleans now. (alpha4)
-
Improved: The searchPattern parameter is now optional in ReadDirectory() and defaults to "*.*". (alpha4)
-
Improved: The CreateAutoPlaylist() sort and flags parameter can be omitted. They default to "" and 0 respectively. (alpha4)
-
Changed: Returned JSON objects now use camelCase casing. (alpha4)
-
Changed: Breaking Change Callbacks follow the Category-Noun-Verb naming convention. (alpha5)
-
Changed: Breaking Change All properties, methods and callbacks to use camelCase convention. (alpha5)
-
Changed: Breaking Change The parameter list of most callbacks has been expanded. (alpha5)
-
v0.2.0.0-alpha5
- Changed:
-
Callbacks
-
onPlaylistItemsAdded(playlistIndex, startindex, locations): Called when items have been added to the specified playlist. (alpha5)
-
onPlaylistItemsReordered(playlistIndex, items): Called when the items of the specified playlist have been reordered. (alpha5)
-
onPlaylistItemsRemoving(playlistIndex, removedItems, newCount): Called when removing items of the specified playlist. (alpha5)
-
onPlaylistItemsRemoved(playlistIndex, removedItems, newCount): Called when items of the specified playlist have been removed. (alpha5)
-
onPlaylistItemsModified(playlistIndex, items): Called when some playlist items of the specified playlist have been modified. (alpha5)
-
onPlaylistItemsModifiedFromPlayback(playlistIndex, items): Called when some playlist items of the specified playlist have been modified from playback. (alpha5)
-
onPlaylistItemsReplaced(playlistIndex, items): Called when items of the specified playlist have been replaced. (alpha5)
-
onPlaylistSelectedItemsChanged(playlistIndex, selectedItems): Called when the selected items of the specified playlist have been changed. (alpha5)
-
onPlaylistsReordered(playlistOrder): Called when the playlists have been reordered. (alpha5)
-
onPlaylistsRemoving(removedPlaylists, newCount): Called when playlists are being removed. (alpha5)
-
onPlaylistsRemoved(removedPlaylists, newCount): Called when playlists have been removed. (alpha5)
-
-
Changed: Breaking Change Callbacks follow the Category-Noun-Verb naming convention. (alpha5)
-
Changed: Breaking Change All properties, methods and callbacks to use camelCase convention. (alpha5)
-
Changed: Breaking Change The parameter list of most callbacks has been expanded. (alpha5)
-
v0.2.0.0-alpha4
-
Events
-
OnAddedPlaylistItems(playlistIndex): Called when items have been added to the specified playlist. (alpha4)
-
OnReorderedPlaylistItems(playlistIndex): Called when the items of the specified playlist have been reordered. (alpha4)
-
OnRemovingPlaylistItems(playlistIndex): Called when removing items of the specified playlist. (alpha4)
-
OnRemovedPlaylistItems(playlistIndex): Called when items of the specified playlist have been removed. (alpha4)
-
OnPlaylistSelectedItemsChanged(playlistIndex): Called when the selected items of the specified playlist have been changed. (alpha4)
-
OnPlaylistFocusedItemChanged(playlistIndex, fromItemIndex, toItemIndex): Called when the focused item of the specified playlist has been changed. (alpha4)
-
OnModifiedPlaylistItems(playlistIndex): Called when some playlist items of the specified playlist have been modified. (alpha4)
-
OnModifiedPlaylistItemsFromPlayback(playlistIndex): Called when some playlist items of the specified playlist have been modified from playback. (alpha4)
-
OnEnsuredPlaylistItemIsVisible(playlistIndex, itemIndex): Called when the specified item of a playlist was ensured to be visible. (alpha4)
-
OnReplacedPlaylistItems(playlistIndex): Called when items of the specified playlist have been replaced. (alpha4)
-
OnChangedActivePlaylist(oldPlaylistIndex, newPlaylistIndex): Called when the active playlist is changed. (alpha4)
-
OnCreatedPlaylist(playlistIndex, name): Called when the specified playlist has been created. (alpha4)
-
OnReorderedPlaylists(): Called when the playlists have been reordered. (alpha4)
-
OnRemovingPlaylists(): Called when playlists are being removed. (alpha4)
-
OnRemovedPlaylists(): Called when playlists have been removed. (alpha4)
-
OnRenamedPlaylist(playlistIndex, name): Called when the specified playlist has been renamed. (alpha4)
-
OnLockedPlaylist(playlistIndex): Called when the specified playlist has been locked. (alpha4)
-
OnUnlockedPlaylist(playlistIndex): Called when the specified playlist has been unlocked. (alpha4)
-
OnDefaultFormatChanged(): Called when the default format has been changed. (alpha4)
-
OnChangedPlaybackOrder(playbackOrderIndex): Called when the playback order has been changed. (alpha4)
-
-
Fixed: Booleans in objects are now parsed correctly. (alpha4)
-
Fixed: Boolean parameters and return values are true Javascript booleans now. (alpha4)
-
Improved: The searchPattern parameter is now optional in ReadDirectory() and defaults to ".". (alpha4)
-
Improved: The CreateAutoPlaylist() sort and flags parameter can be omitted. They default to "" and 0 respectively. (alpha4)
-
Changed: Returned JSON objects now use Pascal casing. (alpha4)
v0.2.0.0-alpha3
- New:
- Methods
-
ReadDirectory(directoryPath, searchPattern): Reads the specified directory and returns the matching items as a JSON string. (alpha3)
-
IsPlaylistItemSelected(playlistIndex, itemIndex): Returns true if the specified item of the specified playlist is selected. (alpha3)
-
AddPath(playlistIndex, itemIndex, filePath, selectAddedItem): Adds an item to the specified playlist after the specified item using a file path and optionally selects it. (alpha3)
-
GetPlaylistItems(playlistIndex): Returns the items of the specified playlist as a JSON string. (alpha3)
-
SelectPlaylistItem(playlistIndex, itemIndex): Selects the specified item in the specified playlist. (alpha3)
-
DeselectPlaylistItem(playlistIndex, itemIndex): Deselects the specified item in the specified playlist. (alpha3)
-
GetSelectedPlaylistItems(playlistIndex): Returns the selected items of the specified playlist as a JSON string. (alpha3)
-
RemoveSelectedPlaylistItems(playlistIndex, crop): Removes the selected items from the specfied playlist. (alpha3)
-
RemovePlaylistItem(playlistIndex, itemIndex): Removes the specified item from the specified playlist. (alpha3)
-
DeletePlaylist(playlistIndex): Deletes the specified playlist. (alpha3)
-
- Methods
v0.2.0.0-alpha2
- Methods
- ReadImage(filePath): Reads the specified file and returns it as a Base64 string. (alpha2)
- GetPlaylistName: Gets the name of the specified playlist. (alpha2)
- SetPlaylistName: Sets the name of the specified playlist. (alpha2)
- FindPlaylist(name): Returns the index of the playlist with specified name. (alpha2)
- GetPlaylistItemCount(index): Gets the number of items in the specified platlist. (alpha2)
- GetFocusedPlaylistItem: Gets the index of the focused item in the specified playlist. (alpha2)
- SetFocusedPlaylistItem: Sets the index of the focused item in the specified playlist. (alpha2)
- EnsurePlaylistItemVisible(playlistIndex, itemIndex): Ensures the specified item of the specified playlist is visible. (alpha2)
- ExecutePlaylistDefaultAction(playlistIndex, itemIndex): Executes the default action on the specified item of the specified playlist. (alpha2)
- CreatePlaylist(playlistIndex, name): Creates a new playlist with the specified name and inserts it after the specified playlist. (alpha2)
- DuplicatePlaylist(playlistIndex, name): Duplicates the specified playlist and sets its name. (alpha2)
- ClearPlaylist(playlistIndex): Removes all items from the specified playlist. (alpha2)
- ClearPlaylistSelection(playlistIndex): Clears the selected items in the specified playlist. (alpha2)
- CreateAutoPlaylist(playlistIndex, name, query, sort, flags): Creates an auto playlist. (alpha2)
- IsAutoPlaylist(playlistIndex): Returns true if the specified playlist is an auto playlist. (alpha2)
- Properties
- PlaylistCount: Returns the number of playlists. (alpha2)
- ActivePlaylist: Gets or sets index of the active playlist. (alpha2)
- PlayingPlaylist: Gets or sets index of the playing playlist. (alpha2)
- IsAutoPlaylist: Returns true if the specified playlist is an auto playlist. (alpha2)
- PlaybackOrder: Gets or sets the playback order (0 = default, 1 = repeat playlist, 2 = repeat track, 3 = random, 4 = shuffle tracks, 5 = shuffle albums, 6 = shuffle folders). (alpha2)
v0.2.0.0-alpha1
- New: Builds with foobar2000 SDK 2024-08-07.
- New: Updated WebView2 component to 1.0.2849.39.
- New: Templates can contain iframes. Take a look at the included Default-FrameTemplate.html example.
- New:
- Methods
- ReadAllText(filePath, codePage): Reads the specified file and returns it as a string. If codePage is 0 the file is assumed to be UTF-8 encoded.
- Methods