Commit Graph

2091 Commits

Author SHA1 Message Date
falkTX 93619ed0c5 Make sure we use python3 (another patch from Fedora) 2019-10-28 11:38:21 +01:00
Luciano Iam a5093f06ca Rename PortSetDeviceMetadata to PortSetDefaultMetadata 2019-10-28 11:24:12 +01:00
falkTX f19176657c Fix blocking DBus device reservation, so it plays nice with others 2019-10-28 11:16:09 +01:00
falkTX 401fbe9fa9
Start of 1.9.14 development
Signed-off-by: falkTX <falktx@falktx.com>
2019-10-06 20:26:14 +01:00
falkTX 294d0ffd96
Only trigger property callback on close if there is 1 or more
Also document this usecase

Signed-off-by: falkTX <falktx@falktx.com>
2019-10-06 20:05:41 +01:00
falkTX 77ac455d49
Cleanup whitespace
Signed-off-by: falkTX <falktx@falktx.com>
2019-10-06 19:34:16 +01:00
falkTX 630c303533 Fix build issue triggered by last branch merge 2019-10-06 16:50:13 +01:00
falkTX 8dd23d2d13
Merge branch 'metadata-keys' into develop
Signed-off-by: falkTX <falktx@falktx.com>
2019-10-05 21:53:45 +01:00
falkTX 97d2ad9e4c
Add a few comments to metadata keys, old stuff from Paul Davis
Signed-off-by: falkTX <falktx@falktx.com>
2019-10-05 21:51:49 +01:00
falkTX 9a5dbf26a7 Remove all port properties when unregistering 2019-09-25 03:06:49 +01:00
falkTX c74385603c Cleanup metadata on server close 2019-09-25 03:06:49 +01:00
luz.paz a93b210134 FIx doxygen and user facing and non-facing typos
Found via `codespell -q 3`
2019-09-11 19:17:07 +01:00
falkTX bb416c7801 Rename `PortSetDeviceName` to `PortSetDeviceMetadata` 2019-09-11 19:13:56 +01:00
Luciano Iam c2ec4b37d4 MIDI port pretty names (#498)
* Set MIDI port pretty names on macOS

* Set MIDI port pretty names on Windows

* Set MIDI port pretty names on Linux/alsarawmidi

* Update alsarawmidi port naming to match CoreMIDI and WinMME

* Rename PortSetPrettyNameProperty to PortSetDeviceName

* Set hardware property to MIDI port names
2019-09-11 19:09:59 +01:00
falkTX 77de2e339e Fix loading internal client from another internal client 2019-08-23 11:19:00 +01:00
falkTX 6bacf6e1db
Fix crash on jack_internal_client_load without some options set 2019-08-14 18:25:16 +01:00
falkTX 4828349f3d
Prepare for release
Signed-off-by: falkTX <falktx@falktx.com>
2019-05-28 10:55:51 +02:00
falkTX aefcc52b6e
Fix yet another merge conflict
I was sure I did this already...

Signed-off-by: falkTX <falktx@falktx.com>
2019-05-28 10:43:18 +02:00
falkTX 2cb528b8f8
Fix broken merge (closes #467)
Thanks for noticing

Signed-off-by: falkTX <falktx@falktx.com>
2019-05-28 10:39:43 +02:00
falkTX 8521fbdbe1
Use JACK_UUID_EMPTY_INITIALIZER instead of 0
Signed-off-by: falkTX <falktx@falktx.com>
2019-05-28 10:38:46 +02:00
falkTX 1557c4fddf
Merge branch 'develop' of github.com:jackaudio/jack2 into develop
Signed-off-by: falkTX <falktx@falktx.com>

Conflicts:
	common/JackEngine.cpp
	common/JackEngine.h
2019-05-27 23:37:39 +02:00
Matthias Geier 488081d162 DOC: Update docs for jack_get_properties() 2019-04-26 23:18:17 +02:00
Matthias Geier 28d26bdd10 DOC: Update docs for jack_get_all_properties() 2019-04-26 23:18:17 +02:00
Thomas Brand ad08b2bc06 Whitespace / NO-OP 2019-04-23 18:17:55 +02:00
Thomas Brand c5c1090904 Add check for aften_encode_frame() in wscript
aften v0.0.8 is latest released tarball.
https://downloads.sourceforge.net/aften/aften-0.0.8.tar.bz2
Travis builds for OSX use aften v0.0.8 (brew).

More recent aften code has introduced an additional parameter to aften_encode_frame().

The check in wscript compiles a small test program to see if the additional parameter is understood.
If additional parameter 'count' is available, set HAVE_AFTEN_NEW_API.

HAVE_AFTEN_NEW_API is used in common/JackAC3Encoder.cpp to call aften_encode_frame()
either with or without 'count' param.
2019-04-23 18:00:28 +02:00
Thomas Brand c82101af82 Add missing parameter to aften_encode_frame() call
Problem:
int res = aften_encode_frame(&fAftenContext, fAC3Buffer + SPDIF_HEADER_SIZE, fSampleBuffer);
Fails, because API is
AFTEN_API int aften_encode_frame(AftenContext *s, unsigned char *frame_buffer,const void *samples, int count)

The additional parameter 'count' was added to libaften function aften_encode_frame() here:
e1cbb66628 (diff-d4868af7d235a914aef2ec4f979fcb9fR87)

Solves https://github.com/jackaudio/jack2/issues/455
2019-04-16 14:09:54 +02:00
rncbc f5f7dc7e08 [metadata] Fix property key length to notification/callback requests. 2019-04-08 17:13:34 +01:00
Viktor Wilhelmsson 12cfd0e8b8 Fix memory leak of parameter constraints. 2019-03-26 15:46:20 +01:00
Viktor Wilhelmsson a465c2bd36 Remove GPL dependency from JackTools.
JackTools is a part of the LGPL licenced jacklib and should not pull in
GPL licensed code.
2019-03-26 14:03:19 +01:00
falkTX 5617286860
Merge branch 'master' into develop 2019-03-26 13:26:54 +01:00
Cédric Schieli 8232996921 Correct GPL licence to LGPL for files needed to build libjack (3) 2019-03-26 13:25:35 +01:00
Stephane Letz 56f760d986 Correct GPL licence to LGPL for files needed to build libjack (2). 2019-03-22 13:30:55 +01:00
falkTX cbe17f4210 Merge branch 'master' into develop 2019-03-22 12:33:53 +01:00
Stephane Letz e298b4409d Correct GPL licence to LGPL for header files needed to build libjack. 2019-03-22 12:26:54 +01:00
Filipe Coelho 59550f67ee
Fix client UUID gen, and some warnings (#440)
* Fix generation of client uuid

Signed-off-by: falkTX <falktx@falktx.com>

* Remove all client properties when removed; Cleanup a few things

Signed-off-by: falkTX <falktx@falktx.com>

* Make all uuid function arguments use jack_uuid_t type; Fix warnings

Signed-off-by: falkTX <falktx@falktx.com>

* Rework uuids to never be int, more cleanup

Signed-off-by: falkTX <falktx@falktx.com>
2019-03-18 08:33:50 +01:00
falkTX bf8e5b5ea9
Fix generation of client uuid
Signed-off-by: falkTX <falktx@falktx.com>
2019-03-17 19:01:11 +01:00
falkTX 99fe1cb8f7
Import metadata keys from jackey, cleanup and reorder definitions
Signed-off-by: falkTX <falktx@falktx.com>
2019-02-27 11:47:36 +01:00
Thomas Brand d63193b6eb Prevent undefined behavior, fix code-style. 2019-02-20 16:13:03 +01:00
Thomas Brand d4ef6800b4 Check return value of regcomp()
Only REG_EXTENDED regular expressions are understood.

Eg. foo_{1|2} is NOT understood.

This commit solves segfault when using invalid regular expressions.
See https://github.com/jackaudio/jack2/issues/433
2019-02-20 15:18:00 +01:00
Rui Nuno Capela 05bc08c64e memops-alsa_bad_sound-fix-1 (#426)
* Revert "oss_driver: Use float to S32 conversion if requested"

This reverts commit c5a0f5ea1c.

* Revert "alsa_in/out: Use float to S32 conversion if requested"

This reverts commit 148c8d8e6a.

* Revert "alsa_driver: Use float to S32 conversion if requested"

This reverts commit d017e1fffe.

* Revert "memops: Provide function for float to S32 conversion"

This reverts commit bb99e09b99.

* Revert "memops: Align S24LE and S32LE to float conversion"

This reverts commit b4ea23df6a.

* Revert "memops: Provide function for S32 to float conversion"

This reverts commit 244fc27e29.

* Revert "memops: Align float to S24LE and S32LE conversion"

This reverts commit 4455fe020c.

* Revert "memops: Remove not used conversion macros"

This reverts commit a82f3f2fb4.

* Revert "memops: Use right-aligned S24LE to float conversion"

This reverts commit e753254313.

* Revert "memops: Use right-aligned float to S24LE conversion"

This reverts commit 831163e516.
2019-02-08 22:22:53 +01:00
Thomas Brand a7f93c7eeb Allow JackMetadata::GetProperty(ies) to return single char values
Problem:

#set two properties for UUID 4294967296

$ jack_property -s 4294967296 "a" 1
$ jack_property -s 4294967296 b "2"

#-l lists them

$ jack_property -l
4294967296
key: b value: 2
key: a value: 1

#-l for UUID doesn't list them  <<<<<<

$ jack_property -l 4294967296
$ jack_property -l 4294967296 a
Value not found for a of 4294967296
$ jack_property -l 4294967296 b
Value not found for b of 4294967296

#it seems that 3 chars is the minimum length for value when querying for UUID

$ jack_property -s 4294967296 a 123
$ jack_property -l 4294967296
key: a value: 123
$ jack_property -l 4294967296 a
123

In example-clients/property.c:

/* list all properties for a given UUID */

                        if ((cnt = jack_get_properties (uuid, &description)) < 0) {
                                fprintf (stderr, "could not retrieve properties for %s\n", subject);
                                exit (1);
                        }

cnt is always 0 for values < 3 chars. Why?

In common/JackMetadata.cpp:

int JackMetadata::GetProperty(jack_uuid_t subject, const char* key, char** value, char** type)
int JackMetadata::GetProperties(jack_uuid_t subject, jack_description_t* desc)

This loop gets results:
while ((ret = cursor->get (cursor, &key, &data, DB_NEXT)) == 0) {

but are dropped because of this check:

/* result must have at least 2 chars plus 2 nulls to be valid
if (data.size < 4) {

This rule isn't understood. Explanations are welcome!
Reducing the check to 2 (1 char + null) will consider single char values.
This makes listing properties for a given UUID the same keys as when listing all UUIDs and keys.
No side-effects of lowering the value has been detected (yet).

Note: there is no problem getting "short" values in this method:
int JackMetadata::GetAllProperties(jack_description_t** descriptions)
(as used by jack_property -l without UUID)

jack_property output after change to (data.size < 2):

$ jack_property -s 4294967296 "a" 1
$ jack_property -s 4294967296 b "2"
$ jack_property -l
4294967296
key: b value: 2
key: a value: 1
$ jack_property -l 4294967296
key: b value: 2
key: a value: 1
$ jack_property -l 4294967296 a
1
$ jack_property -l 4294967296 b
2

Note: This change should be considered also for JACK1 (libjack/metadata.c)
to keep implementations in sync.
2019-02-07 12:31:36 +01:00
Thomas Brand 205e0d7b96 Use winsock2.h like everywhere else. 2019-02-02 18:23:53 +01:00
Thomas Brand 007220d0b1 remove double #define 2019-02-02 18:16:39 +01:00
Thomas Brand b744332c5d jack_midi_event_get(): Add note about SysEx messages
See https://github.com/jackaudio/jack2/issues/413
2019-01-30 16:13:59 +01:00
Thomas Brand 655626ac9d NO-OP / trailing whitespace in *.h files 2019-01-20 23:14:23 +01:00
Timo Wischer bb99e09b99 memops: Provide function for float to S32 conversion
Due to inlining and enabled optimization the compiler will not create
machine instructions for the if-clauses and left shift for
sample_move_dS_s32s() and sample_move_dS_s32().

Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00
Timo Wischer b4ea23df6a memops: Align S24LE and S32LE to float conversion
Due to the optimization of the compiler this commit does not introduce any
differences in the machine instructions.
Tested with GCC version 6.2.0 on ARM64 and x86_64.

Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00
Timo Wischer 244fc27e29 memops: Provide function for S32 to float conversion
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00
Timo Wischer 4455fe020c memops: Align float to S24LE and S32LE conversion
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00
Timo Wischer a82f3f2fb4 memops: Remove not used conversion macros
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2019-01-17 00:56:39 +01:00