Overview | News | Windows | macOS | Android | iOS | Audio Formats | Components | Encoder Pack | Screenshots | Help & Support | Developer | Old Versions | Other Projects | Blog & Rants
advertisementdBpoweramp mp3 Converter
music conversion perfected

Trusted by 30 million people, easy conversion between audio formats
music conversion perfected

Trusted by 30 million people, easy conversion between audio formats
Releases of WebView
0.2.1.0 current version, released on: 2024-12-15
- Fixed: Misinterpreted true Booleans values. This caused various isXXX properties like isPlaying to stop working.
0.2.0.0 released on: 2024-12-07
- 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)
-
Methods
0.1.8.0 released on: 2024-08-10
-
New: The Fluent scrollbar style can be disabled.
- The component needs to be restarted for the change to become active.
- Be sure to use separate user data folders when you have multiple instances that use different styles.
0.1.7.0 released on: 2024-07-14
- New: In Private mode can be enabled in the Preferences dialog and is no longer enabled by default (alpha3).
-
New:
-
Methods
-
GetArtwork(): Gets the embedded artwork (front / back / disc / icon / artist) from the current playing item (alpha1).
- Fixed support for other artwork types (alpha2, regression).
- Added support for WebP images (alpha2).
- Always returns an empty data URI in case of an error or if the specified artwork type is not available (alpha2).
- The album art search patterns are used first. If no matching file can be found, the embedded artwork gets queried (alpha3).
-
GetArtwork(): Gets the embedded artwork (front / back / disc / icon / artist) from the current playing item (alpha1).
-
Methods
- Changed: Updated the WebView2 SDK to the latest version (alpha3).
0.1.6.0 released on: 2024-07-09
- New: Added a setting to clear the browsing data on startup or not.
0.1.5.6 released on: 2024-07-08
- New: Each instance of the component can have a name to easier distinguish between them.
-
New: The location of the WebView user data folder can be specified in the Preferences dialog.
- Note: The existing folder will not be moved or deleted. The new location will only be used after restarting foobar2000.
- New: Made the sample chunks from the foobar2000 visualization stream available to JavaScript.
- New: The component uses the DUI and CUI foreground and background color (alpha2).
- New: The window size can be specified in milliseconds or samples (alpha2).
- New: The reaction alignment can be specified (alpha2) to position the window behind or ahead of the playback samples.
-
New: Added methods and properties to chrome.webview.hostObjects.sync.foo_uie_webview (alpha5):
-
Properties
- ComponentVersion and ComponentVersionText: The version of this component as packed integer and as text.
- IsPlaying: Gets whether playback is active.
- IsPaused: Gets whether playback is active and in paused state.
- StopAfterCurrent: Gets or sets the stop-after-current-track option state.
- Length: Gets the length of the currently playing item, in seconds.
- Position: Gets the playback position within the currently playing item, in seconds.
- CanSeek: Gets whether currently playing track is seekable. If it's not, Seek/SeekDelta calls will be ignored.
- Volume: Gets or sets the playback volume in dBFS. Use 0 for full volume.
- IsMuted: Gets whether playback is muted.
-
Methods
- Print(text): Prints text from JavaScript on the foobar2000 console.
- Stop(): Stops playback.
- Play(paused): Starts playback, paused or unpaused. If playback is already active, existing process is stopped first.
- Pause(paused): Pauses or resumes playback.
- Previous(): Plays the previous track from the current playlist according to the current playback order.
- Next(): Plays the next track from the current playlist according to the current playback order.
- Random(): Plays a random track from the current playlist (aka Shuffle).
- TogglePause(): Toggles the pause status.
- ToggleMute(): Toggles playback mute state.
- ToggleStopAfterCurrent(): Toggles the stop-after-current mode.
- VolumeUp(): Increases the volume with one step.
- VolumeDown(): Decreases the volume with one step.
- Seek(time): Seeks in the currently playing track to the specified time, in seconds.
- SeekDelta(delta): Seeks in the currently playing track forward or backwards by the specified delta time, in seconds.
-
Properties
- New: Each instance of the component uses its own browser profile.
- Improved: WebView is a Utility panel again and can be shown as a popup (alpha5).
- Improved: Enabled more options in WebView2 to better support dark mode (alpha3).
- Fixed: A last-minute change (never a good thing) broke the support for multiple instances of the Preferences dialog box.
- Fixed: Javascript example code (alpha2)
- Fixed: Support for tracks with more than 2 channels was not implemented correctly (alpha2).
- Fixed: The background color of the WebView is now correctly and dynamically set (alpha3).