Commit graph

2511 commits

Author SHA1 Message Date
Tom M
071270c935 Update azure-pipelines-android.yml for Azure Pipelines 2021-06-14 21:53:39 +02:00
Tom M
c8215622d3 Update azure-pipelines-android.yml for Azure Pipelines 2021-06-14 21:50:04 +02:00
derselbst
e6837c2051 Merge branch 'master' into android-emulator 2021-06-14 21:30:44 +02:00
Tom M
15bd824af0
Merge pull request #913 from atsushieno/android-testing-rebased
Add Android testing setup
2021-06-14 08:53:55 +02:00
atsushieno
9eb855a96d Add flexibility on abiFilters.
context: https://github.com/FluidSynth/fluidsynth/pull/913#issuecomment-860195788

Run with `./gradlew -PcustomAbiFilters=x86` etc.
2021-06-14 03:18:15 +09:00
Tom M
35409560d4 Update azure-pipelines-android.yml for Azure Pipelines 2021-06-13 17:21:55 +02:00
Tom M
38047ce37e Update azure-pipelines-android.yml for Azure Pipelines 2021-06-13 16:58:54 +02:00
Tom M
b7e1554e73 Update azure-pipelines-android.yml for Azure Pipelines 2021-06-13 16:49:31 +02:00
Tom M
c49708188b Update azure-pipelines-android.yml for Azure Pipelines 2021-06-13 16:47:30 +02:00
Tom M
76e94e158f Update azure-pipelines-android.yml for Azure Pipelines 2021-06-13 16:44:06 +02:00
Tom M
d385341204 Update azure-pipelines-android.yml for Azure Pipelines 2021-06-13 16:24:36 +02:00
Tom M
402f70cf02 Update azure-pipelines-android.yml for Azure Pipelines 2021-06-13 16:03:23 +02:00
derselbst
06619e99e0 fix cp -ur 2021-06-13 15:30:24 +02:00
derselbst
82a80ad2c8 bumpcache 2021-06-13 15:08:16 +02:00
derselbst
618e51814b port to macos because it has android emulator 2021-06-13 15:05:15 +02:00
derselbst
d1cf69f804 update androi 2021-06-13 14:26:54 +02:00
derselbst
dfeea7c7a0 fix 2021-06-13 14:13:17 +02:00
derselbst
30c4644ca5 try to get android emulator working 2021-06-13 14:11:53 +02:00
derselbst
0ef0c703b6 minor fixes during Android testing 2021-06-13 13:14:50 +02:00
Pedro López-Cabanillas
6b7fc061eb
fix for bug#915 fluidsynth.exe short option '-Q' not working when compiled with getopt (#916) 2021-06-13 10:46:47 +02:00
atsushieno
e36d1438df [test-android] disable tests by the converter. And it is fully documented now. 2021-06-12 19:05:52 +09:00
atsushieno
7dd8f0118c [test-android] Tests are now runnable as ./gradlew connectedCheck 2021-06-12 19:05:52 +09:00
atsushieno
f176cd8e7b [test-android] disable failing tests in run_all_tests.c.
... not in CMakeLists.txt.
2021-06-12 19:05:52 +09:00
atsushieno
c232274d6a [test-android] fix java package names. 2021-06-12 19:05:52 +09:00
atsushieno
ecdae699da [test-android] those converted tests are now loaded and run (and fail hard). 2021-06-12 19:05:52 +09:00
atsushieno
12cc9ed74b Convert ctests into another test sources that can be compiled in Android test.
The existing ctests cannot be simply used in Android tests because
everything is compiled as standalone executable with `main()` function.
Since Android 11+ does not support standalone executables, those test
`main()` functions are converted as unique functions and then picked up
in this test's native-lib CMakeLists.txt.

Since those tests depend on libfluidsynth internals, we cannot simply
link with libfluidsynth.so. We instead compile the library with OBJ files.
2021-06-12 19:05:52 +09:00
atsushieno
962a544d15 Revert "[test-android] another build script fix for host/target was needed."
This reverts commit f5144c011ef58b901dc5b1153d59ee61fa32a900.
2021-06-12 19:05:52 +09:00
atsushieno
ed555f076b [test-android] another build script fix for host/target was needed. 2021-06-12 19:05:52 +09:00
atsushieno
0635766f85 [test-android] fix gettext build in build.sh by distinct --host and --target.
gettext is known as cause of problem for running host tool in target ABI
in our builds, and the latest script still had the issue.
https://github.com/atsushieno/aap-lv2-fluidsynth/actions/runs/914453645

This fixes the problem by explicitly specifying that the build host is
x86_64 linux.
If you want to reuse the script on other platforms, you have to edit it.
2021-06-12 19:05:52 +09:00
atsushieno
ea2a824383 [android] make $NDK optional in the build script. 2021-06-12 19:05:51 +09:00
atsushieno
e4ef966630 [test-android] really fix build scripts.
Changes are from https://github.com/FluidSynth/fluidsynth/issues/897#issuecomment-854896563
2021-06-12 19:05:51 +09:00
atsushieno
6e23e82a29 update build script, still broken. 2021-06-12 19:05:51 +09:00
atsushieno
fc4dcd709e [test-android] some followups on README. 2021-06-12 19:05:51 +09:00
atsushieno
e6b3ce8a6b Add Android test app.
As described on README, it does not really run tests yet.
But it asserts that libfluidsynth.so is loadable at least.
2021-06-12 19:05:51 +09:00
Tom M
f81caf37f1
Fix multiplication result may overflow 'int' before it is converted to 'size_t'. (#911) 2021-06-12 09:59:30 +02:00
Tom M
d709339ab5
Fix ordering of NoteOn Vel=0 events (#908) 2021-06-11 22:57:54 +02:00
Tom M
2321868124
Few fixes for Android CI Pipeline (#906) 2021-06-11 22:56:22 +02:00
jjceresa
de478947bf
When playing the same note more than once the (#905)
When playing the same note more than once the previous note is forced in release stage except if pedaling (sostenuto or sustain) is active. This makes it sound more like a real piano. See https://lists.nongnu.org/archive/html/fluid-dev/2021-06/msg00001.html
2021-06-11 22:40:17 +02:00
Tom M
bf574c6f03
Create codeql-analysis.yml (#910) 2021-06-11 22:27:14 +02:00
Tom M
17b6e44a3f Add schedule trigger to vcpkg pipeline 2021-06-10 09:39:10 +02:00
Tom M
9380e27009
Fix vcpkg pipeline (#909) 2021-06-10 09:26:43 +02:00
Paul
768fa225db
fix typo (#902) 2021-05-30 23:04:40 +02:00
Paul
20e09bb76d
fix some type conversion warnings in MSVC (#903) 2021-05-30 23:04:23 +02:00
Tom M
17fb48def5
Include header files in Android Artifacts (#896) 2021-05-26 18:26:40 +02:00
Tom M
148cec6c03
Do not stringify cmake variable in if clause (#895) 2021-05-26 14:19:25 +02:00
Tom M
aba9485a9c
Fix import library naming clash (#893) 2021-05-26 14:18:19 +02:00
jjceresa
eda2fb21b0
Fix bad router behaviour. (#891)
Each input event has values (chan, par1, par2) that could be changed by a rule.
After a rule had been applied on any value and the value is out of range, the event
can be ignored or the value can be clamped depending of the type of the event:
- To get full benefice of the rule the value is clamped and the event
  passed to the output.
- To avoid MIDI messages conflicts at the output, the event is ignored
  (i.e not passed to the output).

chan value: event is ignored regardless of the event type
par1: event is ignored for PROG_CHANGE or CONTROL_CHANGE type, par1 is clamped otherwise.
par2: par2 is clamped regardless of the event type.
2021-05-24 16:26:56 +02:00
Tom M
bf884758cb
Update vcpkg based Windows CI Pipeline (#892) 2021-05-23 13:02:04 +02:00
Tom M
a28a5e6d20
Improve OGG/Vorbis detection (#888)
Previously, cmake only tested for a specific version of libsndfile and then assumed, it has OGG/Vorbis support. However, libsndfile may still be compiled without OGG/Vorbis support. If this is the case, fluidsynth should refuse to load SF3 files. Otherwise the attempt to load SF3 files would fail with a bunch of error messages.

The solution of this PR proposes to lookup the private libs listed in sndfile.pc and see whether it includes "vorbis".
2021-05-12 21:09:33 +02:00
Tom M
cd393d863a
Fix broken SF3 support for Android binaries (#890)
Libsndfile was unintentionally compiled without OGG/Vorbis support. That's because libopus was missing. When compiling libsndfile with autotools [you get a nice warning](9349a566e2/configure.ac (L381-L386)). When using CMake you don't...

Solution: Compile libopus before compiling libsndfile. Now it reports

```
-- The following features have been enabled:

 * ENABLE_EXTERNAL_LIBS, enable FLAC, Vorbis, and Opus codecs
```
2021-05-12 17:43:35 +02:00