History log of /haiku/src/apps/mediaplayer/MainApp.h
Revision Date Author Comments
# 3065fd47 13-Dec-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

MediaPlayer: Relicense to MIT

* The GPL license here was a relic from the past to help
control YellowTab's use of Haiku source code. The intent
at the time was to relicense MIT. Some GPL parts remained.
* This is going to get harder and harder to correct over time.
* This code makes Haiku *not* MIT. Lets correct that.
* I reached out to everyone who made changes to these files and
got personal approvals to relicense MIT.
* If I missed somebody, *and* you feel as though the MIT license
doesn't meet your needs, please contact Haiku, Inc. and we will
work to revert your changes.

Marcus Overhagen EMAIL - MIT OK 11/29/17
Stephan Aßmus EMAIL - MIT OK 11/28/17
Axel Dörfler IRC - MIT OK 11/29/17
Ryan Leavengood KEYBASE - MIT OK 11/28/17
Michael Lotz IRC - MIT OK 11/29/17
Adrien Destugues EMAIL - MIT OK 11/28/17
Joachim Seemer EMAIL - MIT OK 11/28/17
Jonas Sundström EMAIL - MIT OK 11/29/17
François Revol IRC - MIT OK 11/29/17
Jérôme Duval EMAIL - MIT OK 11/29/17
Oliver Tappe EMAIL - MIT OK 11/29/17
Dziadek EMAIL - MIT OK 11/29/17
Philippe Saint-Pierre EMAIL - MIT OK 12/6/17
Philippe Houdoin EMAIL - MIT OK 12/8/17
Dario Casalinuovo IRC - MIT OK 12/13/17


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

MediaPlayer: Add GUI to open network streams


# 61a59e87 09-Apr-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaPlayer: add new media services notification service


# 11c7ff53 25-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Removing most About windows and menu items as discussed here
http://www.freelists.org/post/haiku-commits/r40968-in-haikutrunksrcapps-activitymonitor-bootmanager-charactermap-codycam-deskbar,3
Leaving them for now in replicants, and in Terminal, according to (my interpretation of) the instructions here
http://dev.haiku-os.org/browser/haiku/trunk/src/apps/terminal/README.GPL_to_OBOS#L70
Some sporadic cleanup.

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


# 811aedf9 10-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

New player windows returned from NewWindow() are not
automatically shown anymore since the playlist restore
changes. Unbreak opening a new player, let the application
thread open it.


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


# 6e190ec6 19-Nov-2009 Stephan Aßmus <superstippi@gmx.de>

* Created icons for MediaPlayer playlists
* Properly register playlist mimetype in MediaPlayer. Double clicking them
will now open them in MediaPlayer.


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


# e663610e 18-Nov-2009 Stephan Aßmus <superstippi@gmx.de>

* Made opening playlist items asynchronous (in the Controller thread).
* Resolved TODO: Use the existing "FileChanged" notification in the main
window to adopt the UI to the currently playing item.
* When opening a file takes some time, the window is now free to start hidden
and setup a message runner to unhide it after 150 msecs.
* When launching MediaPlayer with files, the 150 msecs delay is used to
start the window hidden and pop up right at the correct location for audio.
If opening the first audio file takes less than 150 msecs, the window will
already show as soon as possible.
* While opening a file in the Controller, the window will say so in the
disabled seek slider instead of showing the message "Drop media files here.".


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


# e337e55f 18-Nov-2009 Stephan Aßmus <superstippi@gmx.de>

* Fixed some regressions I introduced. The video is now correctly layouted
again. Bute this commit seems to make the old bug that some parts of the GUI
are black much more likely. Will look into it tomorrow.
* The calculations to move the window wholy into the screen frame were buggy.


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


# ab18a502 16-Nov-2009 Stephan Aßmus <superstippi@gmx.de>

* Moved the about alert handling into the application
* Simplified the handling of the first window and removed FirstWindow(),
we can tell by fPlayerCount.
* Both the above would fix a crash when requesting the about alert with the
first window already gone. Respectively another player instance opening
if fFirstWindow was reset to NULL after some recent revision.
* Implemented restoring the current playlist, index and position in the file.
* Devised a more robust way to solve asynchronous seeking. The Controller is
now notified that a seek request has been handled with a dedicated hook.


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


# f907fa59 16-Nov-2009 Stephan Aßmus <superstippi@gmx.de>

Work in progress for storing some window position/size related settings of
the first window, and restoring them for audio content.


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


# 2caab6e5 28-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Coding style cleanups, no functional change.


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


# 126ce071 10-Oct-2008 Stephan Aßmus <superstippi@gmx.de>

* Cleanup with regards to file panel usage. There are two global file panels
now maintained by the application. (So that the last used folder is more
consistently remembered.)
* Added a message protocol for using the file panels from other loopers.
* Implemented playlist saving and loading for the binary (BMessage-based)
format. There were some beginnings for supporting a m3u-like text-based format
as well.


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


# eaa3a999 06-Oct-2008 François Revol <revol@free.fr>

Fix the gMainApp race on launch in a cleaner way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27895 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


# 658aafcb 06-Apr-2008 François Revol <revol@free.fr>

Add recent files to the Open File menu.
Add dropped files to the roster's list of recent files.


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


# df542f71 25-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

Prepare the MediaPlayer to survive a media_server restart, by first
making it detect the quit/start of the media_server and media_addon_server.
No action is currently taken in response to this, but the SoundOutput used
by the Controller needs to be recreated I would think.


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


# 0f5e6b41 24-Jun-2007 Stephan Aßmus <superstippi@gmx.de>

* remove QuitRequested() implementation again, because the bug that MediaPlayer
didn't quit was really in BApplication (the fix there also fixes other apps
not quitting, like Icon-O-Matic and probably others)


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


# 82fc8592 23-Jun-2007 Ryan Leavengood <leavengood@gmail.com>

Fixed bug #1281, which I logged. MediaPlayer was not behaving properly when being asked to quit.

The default BApplication::QuitRequested was not playing well with the other quitting logic in
MediaPlayer (like in the windows.)

This simple "return true" QuitRequested seems to do the trick.


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


# d329f1d6 02-Jun-2007 Stephan Aßmus <superstippi@gmx.de>

* cleanup in MainWin, better grouping of functions in .h and
moved functions in .cpp accordingly, prepended private methods with _
* disabled InfoWin, because it accessed members of MainWin directly,
will be reimplemented with notification mechanism
* fixed the bug with the multiple error alerts for an unsupported file,
the window should use the current file index from the notification
itself


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


# c98821ac 24-Apr-2006 Stephan Aßmus <superstippi@gmx.de>

* added GUI classes for the transport control panel implementation
* as noted by the headers, these originate from Be Sample Code or
code that was written by myself alone for VLC (they have been
updated in the meantime though)
* seek slider is missing yet as well playback position info view
(could be taken from VLC as well, I still have the implementation
that contains only my own code)
* fixed application quitting when only one of multiple player
windows is closed (not it quits when the last player is closed
or MediaPlayer->Quit is selected from the menu)


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


# e1d8d7d6 23-Apr-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

implemented some file handling related functionality


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


# 04a91b97 05-Apr-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

Imported source code from DVB TV application


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


# 61a59e87d84e0c9d463797ec961005d5cf2ac7f8 09-Apr-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaPlayer: add new media services notification service


# 11c7ff531a01b64773d8a8f0e02c1c7c9f27ca29 25-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Removing most About windows and menu items as discussed here
http://www.freelists.org/post/haiku-commits/r40968-in-haikutrunksrcapps-activitymonitor-bootmanager-charactermap-codycam-deskbar,3
Leaving them for now in replicants, and in Terminal, according to (my interpretation of) the instructions here
http://dev.haiku-os.org/browser/haiku/trunk/src/apps/terminal/README.GPL_to_OBOS#L70
Some sporadic cleanup.

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


# 811aedf9c24d12f9d79e624a13e643fd78b51a5e 10-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

New player windows returned from NewWindow() are not
automatically shown anymore since the playlist restore
changes. Unbreak opening a new player, let the application
thread open it.


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


# 6e190ec6a4db9279ae83ad063a24154d3e5f77f6 19-Nov-2009 Stephan Aßmus <superstippi@gmx.de>

* Created icons for MediaPlayer playlists
* Properly register playlist mimetype in MediaPlayer. Double clicking them
will now open them in MediaPlayer.


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


# e663610e84ed96e246aa7bb6d416bd51c1166447 18-Nov-2009 Stephan Aßmus <superstippi@gmx.de>

* Made opening playlist items asynchronous (in the Controller thread).
* Resolved TODO: Use the existing "FileChanged" notification in the main
window to adopt the UI to the currently playing item.
* When opening a file takes some time, the window is now free to start hidden
and setup a message runner to unhide it after 150 msecs.
* When launching MediaPlayer with files, the 150 msecs delay is used to
start the window hidden and pop up right at the correct location for audio.
If opening the first audio file takes less than 150 msecs, the window will
already show as soon as possible.
* While opening a file in the Controller, the window will say so in the
disabled seek slider instead of showing the message "Drop media files here.".


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


# e337e55fdd21d454353f148ea7ca6d3f3c95161c 18-Nov-2009 Stephan Aßmus <superstippi@gmx.de>

* Fixed some regressions I introduced. The video is now correctly layouted
again. Bute this commit seems to make the old bug that some parts of the GUI
are black much more likely. Will look into it tomorrow.
* The calculations to move the window wholy into the screen frame were buggy.


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


# ab18a502299fa5a8d32768b07814836ef365380b 16-Nov-2009 Stephan Aßmus <superstippi@gmx.de>

* Moved the about alert handling into the application
* Simplified the handling of the first window and removed FirstWindow(),
we can tell by fPlayerCount.
* Both the above would fix a crash when requesting the about alert with the
first window already gone. Respectively another player instance opening
if fFirstWindow was reset to NULL after some recent revision.
* Implemented restoring the current playlist, index and position in the file.
* Devised a more robust way to solve asynchronous seeking. The Controller is
now notified that a seek request has been handled with a dedicated hook.


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


# f907fa59c315a272572712723574066be3a77513 16-Nov-2009 Stephan Aßmus <superstippi@gmx.de>

Work in progress for storing some window position/size related settings of
the first window, and restoring them for audio content.


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


# 2caab6e574d52306baf93db9b830dadefbb08836 28-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Coding style cleanups, no functional change.


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


# 126ce071385e2ddc8ba0c0247768433f2f810522 10-Oct-2008 Stephan Aßmus <superstippi@gmx.de>

* Cleanup with regards to file panel usage. There are two global file panels
now maintained by the application. (So that the last used folder is more
consistently remembered.)
* Added a message protocol for using the file panels from other loopers.
* Implemented playlist saving and loading for the binary (BMessage-based)
format. There were some beginnings for supporting a m3u-like text-based format
as well.


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


# eaa3a999acb28f74952d4a3c328f6f8b555e21d3 06-Oct-2008 François Revol <revol@free.fr>

Fix the gMainApp race on launch in a cleaner way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27895 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


# 658aafcb6263a23f5422743cebd086be24730606 06-Apr-2008 François Revol <revol@free.fr>

Add recent files to the Open File menu.
Add dropped files to the roster's list of recent files.


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


# df542f717fd7226e36e39453b494ec387202c8e8 25-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

Prepare the MediaPlayer to survive a media_server restart, by first
making it detect the quit/start of the media_server and media_addon_server.
No action is currently taken in response to this, but the SoundOutput used
by the Controller needs to be recreated I would think.


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


# 0f5e6b41e7506b1f659b535e163630d1394f67fd 24-Jun-2007 Stephan Aßmus <superstippi@gmx.de>

* remove QuitRequested() implementation again, because the bug that MediaPlayer
didn't quit was really in BApplication (the fix there also fixes other apps
not quitting, like Icon-O-Matic and probably others)


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


# 82fc8592fcf4a1c20e846c09b676eaa137f5b24f 23-Jun-2007 Ryan Leavengood <leavengood@gmail.com>

Fixed bug #1281, which I logged. MediaPlayer was not behaving properly when being asked to quit.

The default BApplication::QuitRequested was not playing well with the other quitting logic in
MediaPlayer (like in the windows.)

This simple "return true" QuitRequested seems to do the trick.


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


# d329f1d6c1ab87225f92373f227626b9702607bc 02-Jun-2007 Stephan Aßmus <superstippi@gmx.de>

* cleanup in MainWin, better grouping of functions in .h and
moved functions in .cpp accordingly, prepended private methods with _
* disabled InfoWin, because it accessed members of MainWin directly,
will be reimplemented with notification mechanism
* fixed the bug with the multiple error alerts for an unsupported file,
the window should use the current file index from the notification
itself


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


# c98821ac7153ccee23df9eb72751102d7a967352 24-Apr-2006 Stephan Aßmus <superstippi@gmx.de>

* added GUI classes for the transport control panel implementation
* as noted by the headers, these originate from Be Sample Code or
code that was written by myself alone for VLC (they have been
updated in the meantime though)
* seek slider is missing yet as well playback position info view
(could be taken from VLC as well, I still have the implementation
that contains only my own code)
* fixed application quitting when only one of multiple player
windows is closed (not it quits when the last player is closed
or MediaPlayer->Quit is selected from the menu)


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


# e1d8d7d6b48c655bab349c1fde5200fed917289e 23-Apr-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

implemented some file handling related functionality


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


# 04a91b97bde1b41f4100b923a1699ddeac36635b 05-Apr-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

Imported source code from DVB TV application


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