History log of /haiku/src/apps/mediaplayer/playlist/PlaylistListView.cpp
Revision Date Author Comments
# 1cfb79d7 27-Dec-2020 Jaidyn Ann <jadedctrl@teknik.io>

MediaPlayer: Fix playlist manipulation on x86_64

Fixes a problem on x86_64 with removing, shuffling, and moving
multiple playlist items.

Instead of casting directly between an array of addr_t and int32
values, an int32 array is filled manually. Commands are passed
BLists instead of int32 arrays.

Fixes #15737 #16698

Change-Id: I5f67cd511ba10b16bd52d87cda380dd15ce7ee67
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3553
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 516510a2 23-Nov-2020 Jaidyn Ann <jadedctrl@teknik.io>

MediaPlayer: No automatic playlist sorting, sort through right-click drag

Disable automatic sorting of items dragged onto the playlist. Instead,
offer sorting of new items by a submenu from a right-click drag.

Change-Id: I8b7e241eb9a6335cdcebfc51267e5484f762e700
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3414
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 92cb0c5d 30-Jun-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaPlayer: Add GUI to open network streams


# b5387eff 06-Jan-2016 Markus Himmel <markus@himmel-villmar.de>

MediaPlayer: Show individual track length in playlist window

Signed-off-by: Dario Casalinuovo <b.vitruvio@gmail.com>


# 937aabf5 06-Jan-2014 Guillermo Bonvehi <gbonvehi@gmail.com>

MediaPlayer: Added simple shortcuts to playlist.

Fixes #6562.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
I tweaked some coding style and added back the missing
B_BACKSPACE shortcut.


# 7a2aced4 06-May-2015 Janus <janus2@ymail.com>

MediaPlayer: playlist uses system colors.

* Partialy fix #10840.


# 9f000662 04-May-2013 Jerome Duval <jerome.duval@gmail.com>

MediaPlayer: addr_t instead of long, as suggested by Ingo.


# 113817f0 04-May-2013 Jérôme Duval <jerome.duval@gmail.com>

MediaPlayer: 64 bit build fixes for an ugly use of BList.


# bac3774d 05-Jan-2012 Philippe Saint-Pierre <stpere@gmail.com>

MediaPlayer: Double-click on playlist item to restart it

Double-clicking on the currently playing playlist item restart that
item's playback from the beginning.

Ticket #6560.


# b6d5916a 26-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Since a lot of MediaPlayer code would actually
not compile on BeOS anymore, I've removed the
BeOS versions from the rest of the source.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38815 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4243bc41 21-Sep-2010 Axel Dörfler <axeld@pinc-software.de>

* Added support for dropped queries - the queries will be evaluated once, only
(ie. no live mode).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38768 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ebd86629 21-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Added new Playlist notification ImportFailed().
The PlaylistListView will trigger it when the import command
failed (happens for example when none of the files are
media files).
* Moved displaying the according alert from the import fommand
into the MainWindow. Show the window if necessary. This fixes
MediaPlayer just idling in the Deskbar without any window
in this case, since the MainWindow is shown after the first
call to _SetupWindow() since some time. But _SetupWindow() is
not invoked when no file could be opened.
* Removed some meanwhile useless debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38757 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aae7a469 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fix warnings in mediaplayer

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38272 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bafcab92 13-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Minor cleanup, no functional changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36222 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c60fcc87 23-May-2009 Stephan Aßmus <superstippi@gmx.de>

* Changed the PlaylistItem interface to be hopefully more flexible. It can
probably still be improved.
* Renamed EntryRefPlaylistItem to just FilePlaylistItem.
* Moved the "move into Trash" and "restore from Trash" implementation into
FilePlaylistItem. Also added what's needed to allow Tracker to restore the
entry itself.
* Refactored everything to make Playlist use PlaylistItems instead of
entry_refs and all that entails...
* The transition to virtualize PlaylistItems is not complete yet in the
Controller, since it still uses BMediaFile there. But it's much easier to
change that now.
* Objects which keep a PlaylistItem around do correct reference counting, but
some commands could be simplified if they were using references as well. It
still should work correctly, though, if I didn't miss anything. It should also
fix theoretical situations of encountering out-of-memory while messing with
the Playlist leading to inconsistent state between Undo/Redo and then leaking
items because of that.
* Added the discussed change that MediaPlayer checks it's own supported types
before rejecting a file by super type. (untested)
* When importing playlist items, the currently playling item is better
maintained during Undo/Redo.
* Some debugging code added in MediaTrackAudioSupplier, no functional changes.
* Fixed a number of coding style issues and automatic whitespace cleanup.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30834 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dd091096 16-May-2009 Stephan Aßmus <superstippi@gmx.de>

* Refactor the "Remove and Put into Trash" backend a bit to allow giving it an
index and not work on the current selection only.
* Reenable the code in MainWin that implements the shortcuts to trigger this
feature during playback. Now it uses the Undo/Redo stack and profits from
existing polish.
* Add missing fPlaylist locking in MainWin at several places. Should not have
caused any realworld problems, though.
* Add Undo/Redo shortcuts to MainWin and forward to Playlist window.
* Make sure the Playlist window opens on the same workspace as the player
window. This could be seen when launching MediaPlayer on one workspace, later
moving the window and then opening the Playlist window, it would open on
the original workspace. The new behavior additionally pulls the playlist
when it's already open and you invoke the "Playlist" menu item.
* Added the beginnings of a refactoring to make the Playlist and everything
else use a PlaylistItem class, instead of entry_refs directly. This stuff is
not yet used, though, just compiles.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30776 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bae0154c 16-May-2009 Stephan Aßmus <superstippi@gmx.de>

* I didn't like so much how the "Remove and Move into Trash" feature was
implemented. It didn't reuse existing code and didn't integrate well. No
Undo/Redo except via Tracker, but not in the Playlist... some bugs as well
(Remove had same shortcut as Randomize, Didn't maintain current playback item
if last entry was removed)
* I need to reenable the main window short cut though. This is only temporary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30768 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9327db63 29-Apr-2009 Fredrik Modeen <fredrik@modeen.se>

Adds the option to delete a file from Mediaplayer and move that file to Trash
Works both from main window and PlayList window.
Button that works are B_COMMAND + [delete | d | r] button.
It can be debated what shortcut to use but I needed this function :)
Same goes for the menu i Playlist window. Yell and Ill change :)

What not works are undo and total undo in main window and total undo in Playlist
(total undo = undo files from trash as well as normal undo)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30490 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 872c998b 22-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Don't break the BeOS build...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30318 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f4aaf23e 22-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Draw the playback mark a bit nicer in the playlist window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30317 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4ddc254c 26-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

* Implemented decreasing the volume of inactive player windows according to
the global settings. This is only done though if there are multiple players
open at the time. (It doesn't consider their "playing" state, though.)
* The SettingsWindow is now maintained by the MainApp, and there is only a
single instance, those settings are application wide. Also used the
"application floating" window look&feel.
* Small code cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27210 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 34ff70da 05-Jul-2008 Stephan Aßmus <superstippi@gmx.de>

* Added "Randomize" feature to Playlist window (Edit menu). It randomizes
either the selected items, or the entire list if nothing is selected.
* Small cleanups here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26264 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 992a8afd 26-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Resolved small TODO about detaching the scrollbar while doing bigger
changes to the list in order to speed those up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26142 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 415ef601 03-Jun-2007 Stephan Aßmus <superstippi@gmx.de>

* probably fixed the build, did I forget some files before?
* implemented full undo/redo for any playlist operations


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21317 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7a2aced4bf90077da27c88763d9fdd1bcce0ac84 06-May-2015 Janus <janus2@ymail.com>

MediaPlayer: playlist uses system colors.

* Partialy fix #10840.


# 9f0006623c9544286c2683d35a1a5ddef15913bb 04-May-2013 Jerome Duval <jerome.duval@gmail.com>

MediaPlayer: addr_t instead of long, as suggested by Ingo.


# 113817f035bc6877d0f9d85abb1fe912369413ce 04-May-2013 Jérôme Duval <jerome.duval@gmail.com>

MediaPlayer: 64 bit build fixes for an ugly use of BList.


# bac3774d59378454cf4e10d6b54c5cfc319be3be 05-Jan-2012 Philippe Saint-Pierre <stpere@gmail.com>

MediaPlayer: Double-click on playlist item to restart it

Double-clicking on the currently playing playlist item restart that
item's playback from the beginning.

Ticket #6560.


# b6d5916a70257d4dc875b7a6b03ee55e12158c7c 26-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Since a lot of MediaPlayer code would actually
not compile on BeOS anymore, I've removed the
BeOS versions from the rest of the source.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38815 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4243bc41f280fc911c8b648dbbb895b539ff4fd6 21-Sep-2010 Axel Dörfler <axeld@pinc-software.de>

* Added support for dropped queries - the queries will be evaluated once, only
(ie. no live mode).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38768 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ebd866299d45ed59d8576e1a9634f924cc07aa6e 21-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Added new Playlist notification ImportFailed().
The PlaylistListView will trigger it when the import command
failed (happens for example when none of the files are
media files).
* Moved displaying the according alert from the import fommand
into the MainWindow. Show the window if necessary. This fixes
MediaPlayer just idling in the Deskbar without any window
in this case, since the MainWindow is shown after the first
call to _SetupWindow() since some time. But _SetupWindow() is
not invoked when no file could be opened.
* Removed some meanwhile useless debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38757 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aae7a469132b2f79382657fd1482d32d43ba2aec 19-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fix warnings in mediaplayer

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38272 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bafcab9265d78ede53aa2d22cce1d3f938fccf93 13-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Minor cleanup, no functional changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36222 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c60fcc87e04b0af21ed9f01581b23d1f714a366f 23-May-2009 Stephan Aßmus <superstippi@gmx.de>

* Changed the PlaylistItem interface to be hopefully more flexible. It can
probably still be improved.
* Renamed EntryRefPlaylistItem to just FilePlaylistItem.
* Moved the "move into Trash" and "restore from Trash" implementation into
FilePlaylistItem. Also added what's needed to allow Tracker to restore the
entry itself.
* Refactored everything to make Playlist use PlaylistItems instead of
entry_refs and all that entails...
* The transition to virtualize PlaylistItems is not complete yet in the
Controller, since it still uses BMediaFile there. But it's much easier to
change that now.
* Objects which keep a PlaylistItem around do correct reference counting, but
some commands could be simplified if they were using references as well. It
still should work correctly, though, if I didn't miss anything. It should also
fix theoretical situations of encountering out-of-memory while messing with
the Playlist leading to inconsistent state between Undo/Redo and then leaking
items because of that.
* Added the discussed change that MediaPlayer checks it's own supported types
before rejecting a file by super type. (untested)
* When importing playlist items, the currently playling item is better
maintained during Undo/Redo.
* Some debugging code added in MediaTrackAudioSupplier, no functional changes.
* Fixed a number of coding style issues and automatic whitespace cleanup.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30834 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dd09109647c709561a966752f1c2346f4f5a0e20 16-May-2009 Stephan Aßmus <superstippi@gmx.de>

* Refactor the "Remove and Put into Trash" backend a bit to allow giving it an
index and not work on the current selection only.
* Reenable the code in MainWin that implements the shortcuts to trigger this
feature during playback. Now it uses the Undo/Redo stack and profits from
existing polish.
* Add missing fPlaylist locking in MainWin at several places. Should not have
caused any realworld problems, though.
* Add Undo/Redo shortcuts to MainWin and forward to Playlist window.
* Make sure the Playlist window opens on the same workspace as the player
window. This could be seen when launching MediaPlayer on one workspace, later
moving the window and then opening the Playlist window, it would open on
the original workspace. The new behavior additionally pulls the playlist
when it's already open and you invoke the "Playlist" menu item.
* Added the beginnings of a refactoring to make the Playlist and everything
else use a PlaylistItem class, instead of entry_refs directly. This stuff is
not yet used, though, just compiles.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30776 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bae0154ca35cc1f8187cf9d09b63e0b08a41ad4f 16-May-2009 Stephan Aßmus <superstippi@gmx.de>

* I didn't like so much how the "Remove and Move into Trash" feature was
implemented. It didn't reuse existing code and didn't integrate well. No
Undo/Redo except via Tracker, but not in the Playlist... some bugs as well
(Remove had same shortcut as Randomize, Didn't maintain current playback item
if last entry was removed)
* I need to reenable the main window short cut though. This is only temporary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30768 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9327db63a4836bcc1bd1bad60c5d1c79aa54212d 29-Apr-2009 Fredrik Modeen <fredrik@modeen.se>

Adds the option to delete a file from Mediaplayer and move that file to Trash
Works both from main window and PlayList window.
Button that works are B_COMMAND + [delete | d | r] button.
It can be debated what shortcut to use but I needed this function :)
Same goes for the menu i Playlist window. Yell and Ill change :)

What not works are undo and total undo in main window and total undo in Playlist
(total undo = undo files from trash as well as normal undo)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30490 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 872c998bee0dcdf3bbbee00f1d30fa797a7cf6d6 22-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Don't break the BeOS build...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30318 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f4aaf23e06788059ffb7c52a6d84ddf050ad151f 22-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Draw the playback mark a bit nicer in the playlist window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30317 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4ddc254c08b7f88229ba3741946b0925f3c8f805 26-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

* Implemented decreasing the volume of inactive player windows according to
the global settings. This is only done though if there are multiple players
open at the time. (It doesn't consider their "playing" state, though.)
* The SettingsWindow is now maintained by the MainApp, and there is only a
single instance, those settings are application wide. Also used the
"application floating" window look&feel.
* Small code cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27210 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 34ff70da4f9ca0421ee84588fb4f7032247482c8 05-Jul-2008 Stephan Aßmus <superstippi@gmx.de>

* Added "Randomize" feature to Playlist window (Edit menu). It randomizes
either the selected items, or the entire list if nothing is selected.
* Small cleanups here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26264 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 992a8afd5d1b14902b376fdf64c7c415844647dd 26-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Resolved small TODO about detaching the scrollbar while doing bigger
changes to the list in order to speed those up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26142 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 415ef601dfd3c244a31c1e9d60eb1689da854e3c 03-Jun-2007 Stephan Aßmus <superstippi@gmx.de>

* probably fixed the build, did I forget some files before?
* implemented full undo/redo for any playlist operations


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21317 a95241bf-73f2-0310-859d-f6bbb57e9c96