1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-08-05 22:50:25 +00:00
Commit graph

2957 commits

Author SHA1 Message Date
Matthew Kilgore
4a2808905c Delete qbx.o before every compile
This helps when compiling several files in a row very quickly, Mac OS
only has a one second accuracy on the file modification time which can
cause Make to not notice a file has been modified. With the changes to
avoid startup delays it's possible to have compiles happen that quickly
in succession now.
2023-01-08 20:24:25 -05:00
Matthew Kilgore
f082889c1f Remove unused code from tinyfiledialogs.c 2023-01-08 20:24:25 -05:00
Matthew Kilgore
f21ce09e2d Replace time() with std::chrono, fix startup delay
Currently main() includes logic that is intended to sync time() with
GetTicks() for the purpose of using GetTicks() to get millisecond
accuracy with time(), which only has second accuracy. Unfortunately, the
'syncing' up of these time sources results in an average of a half
second delay in starting a QB64-PE program.

This logic is easly replaced with std::chrono, which provides a real
time clock which is also millisecond accurate. That removes the need to
use time() and GetTicks() together to get millisecond accuracy, and
means the delay syncing them is no longer necessary.

I also separated most of the "delay" and "time" related functions into
datetime.cpp, and included the new std::chrono code into that file.

Since I needed to call some of the rounding functions in datetime.cpp I
also moved that stuff out into its own .cpp and header files to clean
things up a bit.

Fixes: #282
2023-01-08 20:24:25 -05:00
Matthew Kilgore
a3cea42e0d Move icon image creation to sub__icon
The icon image creation is actually fairly expensive because the first
time you create a 32-bit image init_blend() is called, which is fairly
slow. Since only sub__icon makes use of these images (non-Windows
platforms and $Console:Only programs can't even use them) it's easy
enough to move the creation into sub__icon so the creation cost is
avoided on startup.
2023-01-08 20:24:25 -05:00
Matthew Kilgore
f88960966b Fix use-after-free bug in buffer.cpp
Fairly simple, the finished entry is free'd and then removed from the
list, but that order results in us accessing the entry's next member
after it has been free'd. Swapping the order of the operations fixes the
issue.

Fixes: #281
2023-01-08 20:24:25 -05:00
Samuel Gomes
9ce19d0405
Merge pull request #279 from a740g/miniaudio-fixes
Miniaudio fixes
2023-01-09 06:53:03 +05:30
Samuel Gomes
9686676324 BufferMap: only delete assignment operators 2023-01-09 06:11:21 +05:30
Samuel Gomes
60204afc8e Update delete copy and move constructors and assignments for BufferMap 2023-01-09 06:06:58 +05:30
Samuel Gomes
d48df65282 Delete copy and move constructors and assignments operators for BufferMap class 2023-01-09 06:02:29 +05:30
Samuel Gomes
8c0590acee Add workaround for _SNDCOPY for sound created using _SNDOPEN(buffer, "memory") 2023-01-09 05:33:39 +05:30
Samuel Gomes
2e176ebf98 Set AUDIO_DEBUG to 0 2023-01-08 00:34:58 +05:30
Samuel Gomes
2957c41061 Workaround for _SNDCOPY for _SNDNEW sounds. Another one to follow for _SNDOPEN(buffer, "memory") 2023-01-08 00:14:59 +05:30
Samuel Gomes
5a893b8ffc Update comments and some beautification 2023-01-06 20:32:03 +05:30
Samuel Gomes
845931bf39 Fix all test failures 2023-01-06 18:31:27 +05:30
Samuel Gomes
66ad42e573 Add HivelyTracker license. This is going to fail some tests. 2023-01-06 17:39:47 +05:30
Samuel Gomes
e5b5a86b96 Update test to inlcude invalid parameters for _NEWSND 2023-01-06 12:39:44 +05:30
Samuel Gomes
eacee1f609 Add PushMonoSampleFrames 2023-01-06 12:21:17 +05:30
Samuel Gomes
f7690aea17 Update comments 2023-01-02 16:24:08 +05:30
Samuel Gomes
ecfe4fb1be Format code 2023-01-01 23:17:56 +05:30
Samuel Gomes
6c72deafc1 Improve _SNDOPEN test and supress printfs in Hively replayer code 2023-01-01 23:14:05 +05:30
Samuel Gomes
e4273c0a68 Add Amiga AHX & HVL decoder 2023-01-01 22:56:02 +05:30
Samuel Gomes
061bf6af3d Rename _NEWSOUND to _SNDNEW to align with _SND* APIs 2022-12-31 12:00:38 +05:30
Samuel Gomes
1179d3c084 Update sndopen_mem_test to not use any file I/O 2022-12-31 07:47:20 +05:30
Samuel Gomes
b2723cf057 Fix path for file in test for *nix 2022-12-31 05:40:39 +05:30
Samuel Gomes
da9d9e871c Fix for template argument deduction/substitution failed 2022-12-31 05:18:22 +05:30
Samuel Gomes
31257262a8 Add tests for _NEWSOUND and _SNDOPEN 2022-12-31 04:22:42 +05:30
Samuel Gomes
4c80f6bcea Implement feature request #28 2022-12-31 01:49:23 +05:30
Samuel Gomes
eebb56afd5 Implement load sound from memory #232 2022-12-22 20:42:27 +05:30
Samuel Gomes
a72f80258f Address #186 2022-12-22 15:11:20 +05:30
Samuel Gomes
bc65076feb Reduce mutex locks by using 2 vectors for _SNDRAW 2022-12-21 11:47:41 +05:30
Samuel Gomes
b187102668
Merge branch 'QB64-Phoenix-Edition:main' into miniaudio-fixes 2022-12-21 04:22:23 +05:30
github-actions[bot]
55b168db6c Automatic update of ./internal/source 2022-12-20 13:31:46 +00:00
Roland Heyder
054d437cc4
Merge pull request #276 from QB64-Phoenix-Edition/tiny-things
Tiny things
2022-12-20 14:12:21 +01:00
Roland Heyder
2324a88ff8 Update README.md
- add some general information
2022-12-20 12:01:23 +01:00
Roland Heyder
764996499c nm output buffering
- file is loaded on first access and then kept in buffer
2022-12-20 02:59:52 +01:00
Roland Heyder
d31f668c0c Distribution
- remove .gitignore file from source folder in distribution archives
2022-12-20 01:31:44 +01:00
Roland Heyder
d243ff4b74 Wiki changes
- allow word wrap in text blocks
- add <pre> block handling
2022-12-20 01:18:56 +01:00
Matt Kilgore
6d2197c384
Merge pull request #272 from mkilgore/add-curl-setup-lnx
Add curl and remove xmessage from setup_lnx.sh
2022-12-19 16:02:42 -05:00
Matthew Kilgore
9eed3af108 Remove xmessage as a required package on Linux
xmessage is no longer a required dependency due to the addition of
tinyfiledialogs. xmessage is an option, but there are both better
alternatives on Linux and backup options if xmessage and friends cannot
be found so it is not required.
2022-12-19 15:11:34 -05:00
Matthew Kilgore
680c65fe0b Add curl to package lists
libcurl is now a dependency, so the curl package needs to be installed
on Linux (very likely to already be there) along with the development
files (some distros have separate 'devel' packages).

Fixes: #265
2022-12-19 15:11:34 -05:00
github-actions[bot]
0c28341eb9 Automatic update of ./internal/source 2022-12-19 15:39:35 +00:00
Matt Kilgore
78b09c1ea2
Merge pull request #275 from flukiluke/main
Reduce the number of times nm is invoked
2022-12-19 10:17:05 -05:00
Luke Ceddia
4086cda00d
Clean up nm commands 2022-12-19 22:36:58 +11:00
Luke Ceddia
ed0b6b12a5 Use tmpdir$ instead of internal/temp/ when invoking nm 2022-12-18 21:45:06 +11:00
Luke Ceddia
ab0c2b189d Only run nm once per library 2022-12-18 20:45:58 +11:00
Samuel Gomes
1357f53041 Add NO_PITCH, NO_SPATIALIZATION flags for raw ma_sound 2022-12-16 12:28:22 +05:30
Samuel Gomes
bcc7105641 Avoid getting queue size inside loop 2022-12-16 03:50:32 +05:30
Samuel Gomes
bd82b24ac7 Improve SOUND timing - #167 2022-12-15 10:47:27 +05:30
Samuel Gomes
df9b739e23 Address #166 - _SNDRAW using miniaudio data source 2022-12-15 09:16:42 +05:30
Samuel Gomes
cf16cb0c00 Replace custom queue code with C++ STL queue 2022-12-13 09:12:52 +05:30