You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Furthermore, all `AddXXX()` methods have overloads that allows you to specify custom parameters or provide manually created object. The latter is useful if you want to use your own subclass instead of default implementation.
273
+
Furthermore, all `AddXXX()` methods have overloads that allow you to specify custom parameters or provide manually created object. The latter is useful if you want to use your own subclass.
274
274
275
275
### Tracing
276
276
277
-
Disable tracing to syslog:
277
+
By default, the library traces all operations to syslog. To disable it, construct tracer with Noop mode:
278
278
279
279
```cpp
280
280
auto tracer = std::make_shared<aspl::Tracer>(aspl::Tracer::Mode::Noop);
@@ -283,7 +283,7 @@ auto context = std::make_shared<aspl::Context>(tracer);
283
283
// pass context to all objects
284
284
```
285
285
286
-
Provide custom tracer:
286
+
You can provide custom tracer implementation:
287
287
288
288
```cpp
289
289
classMyTracer : publicaspl::Tracer
@@ -297,6 +297,8 @@ protected:
297
297
298
298
auto tracer = std::make_shared<MyTracer>();
299
299
auto context = std::make_shared<aspl::Context>(tracer);
300
+
301
+
// pass context to all objects
300
302
```
301
303
302
304
## Object model
@@ -449,11 +451,11 @@ Currently unsupported control object types:
449
451
* AudioSoloControl
450
452
* AudioTalkbackControl
451
453
452
-
If you need one of these, you can either implement it on your side, or submit a patch.
454
+
If you need one of these, you can either implement it on your side, or submit a pull request.
453
455
454
456
To implement a new object type on your side, you need to derive Object class and manually implement dynamic dispatch methods (HasProperty, IsPropertySettable, etc.).
455
457
456
-
To prepare a patch that adds support for a new object type, you also need to derive Object class, but instead of implementing dynamic dispatch by hand, provide a JSON file with properties description. The internal code generation framework (see below) will do the rest of the job.
458
+
To prepare a patch that adds support for a new object type, you also need to derive Object class, but instead of implementing dynamic dispatch by hand, provide a JSON file with properties description. The internal code generation framework (see below) will do the rest of the job for you.
457
459
458
460
## Apple documentation
459
461
@@ -534,4 +536,4 @@ The library is licensed under [MIT](LICENSE).
534
536
535
537
This library is mostly written from scratch, but is inspired by and borrows some pieces from "SimpleAudio" and "NullAudio" plugins from [newer](https://developer.apple.com/documentation/coreaudio/building_an_audio_server_plug-in_and_driver_extension) and [older](https://github.com/HelmutJ/CocoaSampleCode/tree/master/UserLandDriverReference) Apple documentation.
536
538
537
-
Apple examples are licensed under [MIT](LICENSE.apple2020) and [Apple MIT](LICENSE.apple2012) licenses.
539
+
Apple examples are licensed under ["MIT"](LICENSE.apple2020) and ["Apple MIT"](LICENSE.apple2012) licenses.
0 commit comments