aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* store possible device/card matches as pointersDave Reisner2013-01-031-8/+9
| | | | | Avoid invoking the copy constructors and storing new objects which can't be returned (as they're local variables).
* allow fuzzy matching on devicesDave Reisner2013-01-032-6/+30
|
* 80 columns!Dave Reisner2013-01-033-6/+12
|
* add zsh completionDaniel Wallace2013-01-032-0/+129
| | | | Updated but doesn't include card/profile completion
* README -> README.mdDave Reisner2013-01-032-3/+5
|
* allow overriding the compilerDave Reisner2013-01-031-1/+1
|
* we're c++ now.Dave Reisner2013-01-033-1028/+4
|
* fixup testsDave Reisner2013-01-031-2/+2
|
* Merge remote-tracking branch 'pwnymix/master'Dave Reisner2013-01-035-53/+1605
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * pwnymix/master: (25 commits) show description in list-short properly clamp values in Set{Balance,Volume} resolve the card choice as late as possible allow card lookup by index Cleanup manpage, reintroduce application commands section add manpage reorg usage output remove defunct enum implement -short variations of list verbs A dash of color... fix abort on set-profile after removing profile whitespace police remove string_to_device; PulseClient can do this now always defined behaviors for devices Derive the card from the targetted device ponymix: validate arg count before invoking function rename class Pulse to PulseClient makefile: CFLAGS -> CXXFLAGS eschew _unused_ attribute alias sane types to --device flags ... Conflicts: Makefile ponymix.1
| * show description in list-shortDave Reisner2013-01-031-2/+3
| |
| * properly clamp values in Set{Balance,Volume}Dave Reisner2013-01-031-8/+6
| |
| * resolve the card choice as late as possibleDave Reisner2013-01-031-24/+21
| | | | | | | | | | | | | | Avoid some needless churn of back and forth between a card name and Card*. We rarely actually need the card unless we're performing an operation on it, so delay it as long as possible. Add a convenience function to resolve the active card or die.
| * allow card lookup by indexDave Reisner2013-01-031-0/+3
| |
| * Cleanup manpage, reintroduce application commands sectionDave Reisner2013-01-032-5/+22
| | | | | | | | | | | | | | 99d86934399e9 implies that I lied. move and kill have special behavior since they only ever really operate on sink-inputs and source-outputs. Reflect this in Kill on the frontend, since it previously required the exact device type.
| * add manpageDave Reisner2013-01-021-0/+99
| | | | | | | | Yay, the makefile is no longer a lie!
| * reorg usage outputDave Reisner2013-01-021-11/+7
| |
| * remove defunct enumDave Reisner2013-01-021-28/+1
| |
| * implement -short variations of list verbsDave Reisner2013-01-021-60/+130
| |
| * A dash of color...Dave Reisner2013-01-021-6/+85
| |
| * fix abort on set-profile after removing profileDave Reisner2013-01-021-0/+4
| | | | | | | | | | | | ponymix set-profile off ponymix set-profile output:stereo-da+input:stereo-analog <kaboom>
| * whitespace policeDave Reisner2013-01-021-24/+24
| |
| * remove string_to_device; PulseClient can do this nowDave Reisner2013-01-021-21/+6
| |
| * always defined behaviors for devicesDave Reisner2013-01-021-0/+6
| |
| * Derive the card from the targetted deviceDave Reisner2013-01-023-8/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unless explicitly specified, target a card based on the selected device. Note that not all devices will be tied to a card. falconindy » put differently, if i have multiple cards, what determines which card is used by pulse for a given app? tanuk » In theory, the logic can be anything (it depends on what policy-implementing modules are loaded). By default, routing is mostly handled by module-stream-restore, which chooses the sink based on the user's previous routing choices. tanuk » If the user hasn't done any routing choices, the fallback logic is to select the current "default sink". tanuk » I don't recommend trying to guess the routing policy. falconindy » i guess my understanding of pulse internals is lacking falconindy » but that's rather enlightening falconindy » is there any way to figure out the connection between a sink and a card? tanuk » Yes... (One moment, I'll look up things.) falconindy » ah. uint32_t card falconindy » appears to be in pa_sink_info falconindy » so that ties the sink to the index of a card? tanuk » Yep. falconindy » awesome, that's good enough for what i need to do tanuk » Not all sinks are part of a card, though, but those that are will have the card index set. falconindy » also good to know
| * ponymix: validate arg count before invoking functionDave Reisner2013-01-023-131/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few changes make this fun and easy: - Merge the function array into the string to action lookup and return a Command instead of simply an enum. A Command is the function and the min/max arg count. - Implement an InRange method for the Range class. - Add a Dispatch function to convert the string to Command and validate the arguments. This leaves us in a position where the argc parameter to each method is never used, but maybe some day a command will be added that takes a range of args rather than a fixed number.
| * rename class Pulse to PulseClientDave Reisner2013-01-023-63/+63
| |
| * makefile: CFLAGS -> CXXFLAGSDave Reisner2013-01-011-4/+10
| |
| * eschew _unused_ attributeDave Reisner2013-01-011-18/+14
| |
| * alias sane types to --device flagsDave Reisner2013-01-011-9/+35
| |
| * maybe fix app mode?Dave Reisner2013-01-011-1/+16
| | | | | | | | | | | | | | A sources-output can only be moved to a new source, and a sink-input can only be moved to a new sink. So, derive the target type based on this. Also, reroute sink -> sink-input and source -> source-output to save some keystrokes.
| * action, not optionDave Reisner2013-01-011-3/+4
| |
| * oopsDave Reisner2013-01-011-4/+4
| |
| * fix null constructionsDave Reisner2013-01-011-6/+12
| |
| * initial commitDave Reisner2013-01-014-0/+1319
|
* WIP support for card profilesDave Reisner2012-12-301-19/+72
|
* fix another possible NULL strdupDave Reisner2012-12-241-2/+3
|
* avoid crash on sinks without names (loopbacks?)Dave Reisner2012-12-241-1/+1
|
* avoid segfault on empty application nameDave Reisner2012-12-051-2/+4
|
* fix totally backwards strstr matchingDave Reisner2012-10-051-6/+6
| | | | | | This never could have worked except on exact matches. The arguments to strstr were reversed, and barring that, interesting results were filtered OUT.
* update usage for --output/--inputDave Reisner2012-10-011-1/+3
|
* support searching across sinks/sourcesSimon Gomizelj2012-10-011-49/+72
| | | | | Pulseaudio likes to give long and verbose names to devices and doesn't let you specify applications by name.
* add --input/--output as an alternative flags.Simon Gomizelj2012-10-012-2/+4
| | | | | Input/output make more sense for applications, where the pulseaudio sink/source may feel backwards
* change application pretty print namesSimon Gomizelj2012-10-011-2/+2
| | | | | Its kinda counter intuitive to label application outputs as sinks and inputs as sources.
* fix whitespace in usage()Dave Reisner2012-09-291-4/+4
|
* Merge remote-tracking branch 'johnf/master'Dave Reisner2012-09-292-4/+4
|\ | | | | | | | | * johnf/master: clarify -o and -i usage
| * clarify -o and -i usageJonathan Frazier2012-09-292-4/+4
| |
* | denote that "defaults" is the default commandDave Reisner2012-09-271-1/+1
| |
* | use the full field initializer for argDave Reisner2012-09-181-1/+1
|/
* add check for mode to action_tSimon Gomizelj2012-09-181-19/+23
|
* collect state and arguments, restructureSimon Gomizelj2012-09-181-104/+128
| | | | | | | | Collect all state into struct runtime_t, all arguments into struct arg_t. This simplifies argument passing so we can split device loading into a helper function and restructure main into something much cleaner.