summaryrefslogtreecommitdiff
path: root/src/music_gui.cpp
AgeCommit message (Collapse)Author
2019-04-09Codechange: Switch DropDownList to directly use std::vector, thus making ↵Michael Lutz
AutoDeleteSmallVector obsolete. DropDownListItem are strongly managed using std::unique_ptr to ensure leak-free handling. Appropriate use of move-semantics make intent a lot clearer than parameter comments and allows the compiler to generate copy-free code for most situations.
2019-03-24Codechange: Use override specifier in Window-derived classes.peter1138
2019-02-21Change: Make volume slider widget capture mouse when clicked.Peter Nelson
This makes the slider continue to respond even when mouse cursor is no longer over the widget.
2018-11-25Fix 6298b96: Changing music set did not save new settingNiels Martin Hansen
2018-10-31Remove: A few bits of dead codeCharles Pigott
2018-06-25Fix 6298b96: Playlist window not drawing playlistNiels Martin Hansen
Copy-paste error in change to remove C++11 usage...
2018-06-24Change: Modernise music control logic implementation (#6839)Niels Martin Hansen
Rewrite of almost the entire music control logic to a more modern style, hopefully also easier to understand. The old playlist handling made it look like arcane magic, which it doesn't have to be. - Playlists are now stored in std::vector of objects instead of arrays of bytes with magic sentinel values, that need to be rotated around all the time. Position in playlist is stored as a simple index. - The theme song is now reserved for the title screen, it doesn't play on any of the standard playlists, but is still available for use on custom playlists. - When the player enters/leaves the game from the main menu, the music always restarts. - Playback state (playing or not) is kept even if music becomes unavailable due to an empty playlist (or an empty music set), so it can restart immediately if music becomes available again. - The shuffle algorithm was changed to a standard Fisher-Yates. - Possibly better behavior when editing a custom playlist while it's playing. - Custom playlists should be compatible. - Framework for supporting custom playlists with songs from multiple music sets.
2018-06-15Change: Improved looping of title songNiels Martin Hansen
2018-06-05Codechange: Pass a MusicSongInfo struct instead of bare filename to music ↵Niels Martin Hansen
drivers. Preparation for later extending the info passed to music drivers.
2018-04-29Feature #6090: Change music set during gameplayNiels Martin Hansen
2018-04-29Fix: Clipping issues with volume sliders in Music GUINiels Martin Hansen
Tested with various languages and GUI font sizes, should look good everywhere. Also clamps near-end values to minimum and maximum so 0 and 127 are possible to achieve even on small GUI sizes (like the default.)
2018-04-29Change: Less intrusive "no music" message from Music windowNiels Martin Hansen
2018-04-29Change: Disable music control buttons when there is no musicNiels Martin Hansen
2018-04-29Codechange: Music GUI comments and function namingNiels Martin Hansen
2014-10-12(svn r27003) -Cleanup: fix the use of spaces and asterices "around" some ↵rubidium
comments
2014-09-10(svn r26809) -Fix: do not dereference the -1 index of the file names array ↵rubidium
of music files. It definitely breaks on m68k, and might cause failures on other platforms as well
2014-04-28(svn r26538) -Codechange: remove double accounting of the driversrubidium
2014-04-23(svn r26489) -Codechange: properly account for the end of buffers in the ↵rubidium
file io code instead of assuming MAX_PATH is okay
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2013-09-15(svn r25776) -Add [FS#5743]: Sticky and shade buttons for jukebox window (retro)planetmaker
2013-05-26(svn r25290) -Add: Assign string names to notable windows.frosch
2013-05-26(svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window ↵frosch
after construction.
2012-11-11(svn r24700) -Cleanup: Remove WDF_UNCLICK_BUTTONS and make it the default.frosch
2011-12-16(svn r23544) -Codechange: document and rename widgets to be consistent and ↵truebrain
understandable
2011-12-15(svn r23528) -Codechange: move widget enums to widgets/NNN_type.htruebrain
2011-12-10(svn r23474) -Codechange: move the declaration error related functions to ↵rubidium
error.h
2011-12-04(svn r23430) -Fix (r23219): also consider the old directories when playing a ↵glx
song
2011-11-14(svn r23219) -Change: different directories for basesets and newgrfs. So ↵rubidium
data to baseset or newgrf, and gm to baseset
2011-10-16(svn r23035) -Fix (r23034): compile failurerubidium
2011-10-16(svn r23034) -Fix: make sure the custom playlists are 0 terminatedrubidium
2011-10-16(svn r23033) -Fix [FS#4776]: the last custom playlist items went lost when ↵rubidium
the files in the .obm are not contiguous
2011-07-30(svn r22694) -Cleanup [FS#4579]: Remove unused but confusing widgetplanetmaker
2011-05-06(svn r22429) -Add: some constants for specific palette colours used in the GUI.frosch
2011-05-04(svn r22421) -Fix: Replace various references to Windows palette greyscale ↵frosch
indices with the DOS palette indices.
2011-03-13(svn r22241) -Codechange: Add additional to-be-used parameter to ↵frosch
OnInvalidateData().
2011-03-05(svn r22202) -Codechange: make MusicFileSettings a proper citizen of the ↵rubidium
client settings
2011-01-02(svn r21698) -Fix: incorrectly named global variablerubidium
2010-11-26(svn r21331) -Codechange: Make drawing the widgets default behaviour in ↵alberth
OnPaint().
2010-11-13(svn r21157) -Codechange: remove information about the text direction out of ↵rubidium
the language "list"
2010-08-12(svn r20474) -Cleanup: remove some unused codeyexo
2010-08-01(svn r20281) -Codechange: unify case scope closure + break coding stylerubidium
2010-07-26(svn r20221) -Codechange: Move unscrolled row calculation into a function.alberth
2010-07-02(svn r20043) -Codechange: Introduce vertical alignment for ↵alberth
DrawStringMultiLine().
2010-02-24(svn r19224) -Codechange: change parameters passed to ShowErrorMessage() a bitsmatz
2010-01-30(svn r18966) -Codechange: Remove Window::OnDoubleClick() in favour of a ↵frosch
parameter for OnClick().
2010-01-15(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, ↵rubidium
if a header require a header make it include that header
2009-12-22(svn r18608) -Change: add the concept of music setsrubidium
2009-12-22(svn r18603) -Codechange: move getting the song name to music_gui.cpprubidium
2009-12-02(svn r18369) -Fix [FS#3339] (rbeginning): off-by-one in the preconfigured ↵rubidium
music lists
2009-11-28(svn r18324) -Codechange: there's no need for a default size when the window ↵rubidium
isn't resizable