Peter Nelson
733284cc16
Codechange: Return std::vector from GetMusicCatEntryData.
...
Return std::vector instead of pointer to array with manual memory management.
2024-05-11 02:10:41 +01:00
Peter Nelson
31c306c6cd
Codechange: Return std::string from GetMusicCatEntryName.
...
Return std::string instead of pointer to C-string with manual memory management.
2024-05-11 02:10:41 +01:00
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
Peter Nelson
69e20e79ab
Codechange: Add const versions of GetItem/GetGroup, and sprinkle liberally.
...
Non-const version of GetItem is not needed.
2023-10-20 18:37:27 +01:00
Peter Nelson
1fecbeff76
Codechange: Remove create parameter from IniLoadFile::GetGroup.
...
GetGroup now only returns nullptr if the group does not exist.
Use GetOrCreateGroup to create a group.
This avoids creating groups while reading ini files.
2023-10-20 18:37:27 +01:00
Peter Nelson
0c85ce29ea
Codechange: Pass ini file by reference and prefer automatic storage.
...
This avoids new/delete operations, and (not) checking for nullptr.
2023-10-20 18:37:27 +01:00
Rubidium
eaae0bb5e7
Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
...
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
Rubidium
74924c8186
Codechange: includes must be before 'safeguards.h'
2023-06-18 21:22:14 +02:00
PeterN
64d6ad50f9
Codechange: Split GetItem with GetOrCreateItem. ( #10952 )
...
`IniGroup::GetItem()` returns nullptr if the item does not exist, but does not if the create parameter is set to true. Resolve CodeQL warnings with `GetOrCreateItem()` which returns a reference to the item instead.
2023-06-05 18:29:52 +00:00
Rubidium
43c65a3fec
Codechange: use std::string for base media filename/warning storage
2023-04-25 15:01:08 +02:00
Peter Nelson
1ec34acb51
Fix: Truncated music-set song names cause warning log.
...
The music-set does not need to be selected for this to occur.
Resolved by using std::string instead of fixed buffer for song names,
which avoids manual string copying and removes the length limit.
2023-03-09 20:35:24 +00:00
rubidium42
55a11710a6
Codechange: convert printf DEBUG statements to fmt Debug statements
2021-06-13 12:45:45 +02:00
Rubidium
0dd339ecd8
Codechange: lets music make use of RandomAccessFile instead of the FIO slot functions
2021-05-08 12:39:34 +02:00
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
2020-12-27 10:55:42 +00:00
Michael Lutz
715aa67a9c
Codechange: Use std::string in INI file parsing.
2020-05-21 20:02:34 +02:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Niels Martin Hansen
6298b96571
Change: Modernise music control logic implementation ( #6839 )
...
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-24 20:06:05 +02:00
Niels Martin Hansen
5ab06ef8a3
Fix: Don't complain if CAT music files are missing entirely
...
Just complain if an index into a CAT file that exists is invalid.
2018-06-15 23:09:17 +02:00
Niels Martin Hansen
276192f714
Change #6684 : Cutting point overrides for music base sets
...
This improves bad looping of title screen song from Windows TTD, and fixes
a long silence at the end of "Can't get there from here" from Windows TTD.
2018-06-15 23:09:17 +02:00
Niels Martin Hansen
2ae9df7248
Feature: Decoder for DOS version music
...
This is based on reverse-engineering the TTD DOS driver for General MIDI music.
2018-06-05 22:58:35 +02:00
Niels Martin Hansen
f946b3da56
Codechange: Pass a MusicSongInfo struct instead of bare filename to music drivers.
...
Preparation for later extending the info passed to music drivers.
2018-06-05 22:58:35 +02:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
rubidium
15f671279d
(svn r23214) -Codechange: for base media sets pass the "search in tars" parameter to determine what to do
2011-11-14 19:24:22 +00:00
rubidium
4d5dbf5170
(svn r22410) -Document: some more bits ;)
2011-05-02 16:14:23 +00:00
rubidium
83e40b8ced
(svn r19674) -Fix [FS#3774]: crash when the music/graphics metadata files were unreadable
2010-04-19 09:34:56 +00:00
rubidium
fa6ef9d45d
(svn r19219) -Fix: having OpenMSX's files in a subdirectory did not work as it should.
2010-02-23 15:51:26 +00:00
rubidium
03e5434e63
(svn r19206) -Add: concept of fallback base sets, i.e. do not automatically load the NoMusic/NoSound sets when there is another set
2010-02-22 16:24:23 +00:00
yexo
f709290220
(svn r19095) -Fix: segfault when a baseset has an empty metadata field
2010-02-11 15:08:55 +00:00
rubidium
82fc28f77f
(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header
2010-01-15 16:41:15 +00:00
rubidium
6e97343df6
(svn r18610) -Codechange: don't consider a music set at all for 'best' set when it's missing files
2009-12-23 08:51:46 +00:00
rubidium
a8d6d18b22
(svn r18608) -Change: add the concept of music sets
2009-12-22 21:40:29 +00:00
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00
rubidium
099022224f
(svn r14810) -Codechange: use the proper style for global variables.
2009-01-03 17:09:31 +00:00
rubidium
d03994098b
(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
2008-05-06 15:11:33 +00:00
smatz
110584808d
(svn r12557) -Cleanup: use MAX_PATH at two more places
2008-04-04 00:06:51 +00:00
belugas
b71354dc40
(svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
2007-03-03 04:04:22 +00:00
KUDr
e373ea7096
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
2007-01-10 18:12:09 +00:00