Commit graph

5010 commits

Author SHA1 Message Date
Colin Guthrie
1e2d236b99 device-manager: Update exports 2009-10-01 09:08:31 +01:00
Colin Guthrie
9e447978eb device-manager: Some efficiency and safety tweaks 2009-10-01 09:08:31 +01:00
Colin Guthrie
e47f385b09 device-manager: Allow the routing component to be turned on via a module argument as well as via protocol extn. 2009-10-01 09:08:31 +01:00
Colin Guthrie
4fb9dafaf8 device-manager: Remove unused variables 2009-10-01 09:08:31 +01:00
Colin Guthrie
1d04c353ea device-manager: Set the most appropriate sink/source when new streams are created 2009-10-01 09:08:30 +01:00
Colin Guthrie
74c1c27eaa device-manager: Add routing functions that are triggered when sinks/soruces are added/removed. 2009-10-01 09:08:30 +01:00
Colin Guthrie
678d8e963d device-manager: Add a function to get a list of the highest priority device indexes for each role. 2009-10-01 09:08:30 +01:00
Colin Guthrie
ca68105c8f device-manager: Remove unneeded logic for checking for and (un)loading module-stream-restore. We can co-exist 2009-10-01 09:08:30 +01:00
Colin Guthrie
ed8af7c8fd device-manager: Rough framework (slots etc.) for handling routing.
This is incomplete, it just adds the slots in question and assigns noops to them.
Some minor cleanup of types.

Due to the priority of the hooks, it seems we can actually coexist with module-stream restore so
the code to detect and unload it will be removed shortly.
2009-10-01 09:08:30 +01:00
Colin Guthrie
faae33d808 device-manager: debug and comments 2009-10-01 09:08:30 +01:00
Colin Guthrie
e589f38e22 device-manager: Fix the freeing of the datum on prefer/defer.
Also fix a log typo
2009-10-01 09:08:30 +01:00
Colin Guthrie
1802500967 device-manager: When a new device is encountered, initialise the priority list to an appropriate value 2009-10-01 09:08:30 +01:00
Colin Guthrie
a64f0f719f device-manager: Let subscribed clients know when something changes. 2009-10-01 09:08:29 +01:00
Colin Guthrie
f8ec8f382f device-manager: Change the write function to a rename function.
The structure itself will contain various bits of info so exposing this fully to the client is a bad idea.
By keeping to a rename operation we keep what we do store abstracted from the clients.

Also fix some doxy comments.
2009-10-01 09:08:29 +01:00
Colin Guthrie
aebe4787f2 device-manager: Provide a method for prefering/defering a device.
This allows clients to edit the priroity order. What is not yet in place is the initialisation of that priority list
when new devices are detected or the cleaning (remove holes) when devices are removed.

In order to keep the storage transparent I will likely remove the write functionality and replace it with a
simple rename method.

I also still need to expose the priority itself when reading the data.
2009-10-01 09:08:29 +01:00
Colin Guthrie
95f28393ab device-manager: Fix copy+paste code that looped over the tagstruct when not necessary 2009-10-01 09:08:29 +01:00
Colin Guthrie
103897a1e3 device-manager: Provide a way for clients to enable/disable role-based device-priority routing.
The routing logic itself does not yet exist, but the command currently will unload/load module-stream-restore as approriate.
(module-stream-restore would conflict with the role-based priority-routing).
2009-10-01 09:08:29 +01:00
Colin Guthrie
9357bdf4e7 device-manager: Update docs version -> 0.9.19 (predicted) 2009-10-01 09:08:29 +01:00
Colin Guthrie
464e1a8986 device-manager: Fix copy+paste leftover 2009-10-01 09:08:29 +01:00
Colin Guthrie
aa5d56ba75 device-manager: Only store and save details for non-monitor sources 2009-10-01 09:08:28 +01:00
Colin Guthrie
42b30e1aa2 stream-restore: Preventative initialistion to NULL
There is not technically a bug here due to the early return and the knowledge that one of the if blocks
will definitely be run, but this makes sure we don't call free on uninitialised data or do
anything else suitibly daft. Also helps when you copy the code and change it slightly and don't realise
you've left things open...
2009-10-01 09:08:28 +01:00
Colin Guthrie
64979385e0 device-restore: Fix the application of an entry to allow changing the name of devices.
This fixes a few bugs in the copy+pasted implementation of apply_entry()/get_name().
2009-10-01 09:08:28 +01:00
Colin Guthrie
40e97eb698 device-manager: Fix tagstruct description extraction (copy+paste blunder) 2009-10-01 09:08:28 +01:00
Colin Guthrie
70accbbd61 device-manager: Link native protocol library. 2009-10-01 09:08:28 +01:00
Colin Guthrie
0b3b037e22 device-manager: Export device-manager extension functions 2009-10-01 09:08:28 +01:00
Colin Guthrie
93c3c655e4 device-manager: Fix indentation 2009-10-01 09:08:28 +01:00
Colin Guthrie
37e82cec0a device-manager: Add an untested protocol extension.
This is effectively copied from the stream restore extension.
2009-10-01 09:08:28 +01:00
Colin Guthrie
bc869b5b28 device-manager: Add a new module to keep track of the names and descriptions of various sinks.
This will be used as the basis for a queryable system for past and present devices, initially for use in KDE.
Currently all this module does is save lists of sinks/sources and their descriptions, so it needs to
gain a protocol extension to make this queryable.

As things stand it will save the device descriptions of all sinks and restore them if they differ from whats on record.
2009-10-01 09:08:27 +01:00
Jason Newton
3053badf06 module-equalizer-sink: resync with ladspa parent sink 2009-09-29 23:50:54 -07:00
Jason Newton
263b683437 module-equalizer-sink: fix improper usage of pa_modargs_get_value_boolean for u->set_default 2009-09-29 23:50:54 -07:00
Jason Newton
f5ceed8151 module-equalizer-sink: added server side persistance of profile names 2009-09-29 23:50:54 -07:00
Jason Newton
b028e4e917 module-equalizer-sink: per-channel filtering support + profiles, easier default configuration 2009-09-29 23:50:54 -07:00
Jason Newton
2f6fd32cc5 module-equalizer-sink: fixed a bug w/ new zero-latency input scheme (that was an interesting/cool bug!) 2009-09-29 23:50:54 -07:00
Jason Newton
735c8ab6fb module-equalizer-sink: added support for preamp 2009-09-29 23:50:54 -07:00
Jason Newton
cd54ecdc8c module-equalizer-sink: drop old macros for new library based ones 2009-09-29 23:50:54 -07:00
Jason Newton
ab0e20ab2c module-equalizer-sink: fixed timeval initialization 2009-09-29 23:50:54 -07:00
Jason Newton
7bd7ce6dec module-equalizer-sink.c: swapped order of attach_within_thread and set_max_request within sink_input_attach_cb 2009-09-29 23:50:54 -07:00
Jason Newton
07cd6a4c3d module-equalizer-sink.c
i->sink -> i in pa_get_sink_max_request*
2009-09-29 23:50:53 -07:00
Jason Newton
1c1a812b32 module-equalizer-sink
exchanged improper usage of memblockq_peek'd memchunk for silence block
    dropped unneeded function prototypes
    changed mround to be slightly more elegant
    __restrict__ -> restrict for c99
    removed unneeded pa_aupdate_swap calls
    first_iteration -> pa_bool_t
    cleaned up some usage of pa_malloc0 where pa_new0 was more appropriate
    cruft removal, whitespace fixes and reordering of variables
2009-09-29 23:50:53 -07:00
Jason Newton
0e6711ddd0 module-equalizer-sink:
merging in upstream changes
    whitespace fix and fix for first iteration un-windowing
2009-09-29 23:50:53 -07:00
Jason Newton
38d608ad5a module-equalizer-sink:
reworked processing so we don't have input->output delay of R samples
2009-09-29 23:50:53 -07:00
Jason Newton
8c2f9763df module-equalizer-sink:
fix for peek returning a null memblock
    pa_log -> pa_log_debug for fft size
    updated module description
    fixed a comment in dbus error for incorrect x positions
2009-09-29 23:50:53 -07:00
Jason Newton
684ad6ddb7 module-equalizer-sink:
proper fix for pa_xmalloc(0) given that 0 is illegal
    fix coefficients in case there's no resume state
    loadprofile now signals filterchanged
2009-09-29 23:50:53 -07:00
Jason Newton
1e3c7d326f module-equalizer-sink:
dbus:
        eliminated some redundant code in dbus handlers/getall
        switched filter back to being a property
        signals for changed profiles, added/removed sinks, filter updates and sink reconfigurations
    fixed timing routines
2009-09-29 23:50:53 -07:00
Jason Newton
4231ac444f module-equalizer-sink: reverted buffering logic back to how the ladspa sink did it 2009-09-29 23:50:53 -07:00
Jason Newton
857eea0621 module-equalizer-sink:
add lennard's fix for piggy-back sinks in pop_cb
    fixed some tsched issues
2009-09-29 23:50:53 -07:00
Jason Newton
144f1c4f31 module-equalizer-sink:
dbus properties and manager so that multiple sinks can be loaded and mixers can be equalizer-sink aware
    functionality to seed new filters quickly (rteq guis)
    profile support
    extra checking in client->server dbus messages
2009-09-29 23:50:53 -07:00
Jason Newton
66a6cc693b module-equalizer-sink:
added support for suspend/resume of filter coefficients
    unregister the correct dbus interface.
    made equalizer state file sink index dependent
    expanded dbus properties
    whitespace
2009-09-29 23:50:53 -07:00
Jason Newton
8934c314f6 module-equalizer-sink:
added dbus support
    removed cruft from inherited from ladspa module and improved clarity
    switched dsp processing to reference implementation until project is more mature
    tsched=0 seems to help with the micro-dropouts/crackling! oh my!
    reformatting/spaces
2009-09-29 23:50:53 -07:00
Jason Newton
c7fcc9cc01 module-equalizer-sink:
removed liboil
    added sse2 optimized dsp logic implementation
    cleaned up a bit
2009-09-29 23:50:53 -07:00