/srv/irclogs.ubuntu.com/2019/10/15/#ubuntustudio-devel.txt

wonkoIs there a way to send a dbus message that'll trigger msg_cb_new? There appears to be a bug in it, but it's hard to check because I need to wait for it to happen13:21
wonkoOh, I think I got it13:37
wonkoJACK was getting set to False and not starting13:37
wonkoso tweaked that and now it's good13:38
wonkoIt's all pushed up13:38
wonkoand as far as I can currently tell (unless an error pops up while it's running) it should be good to go.13:38
wonkohttps://code.launchpad.net/~ubuntustudio-dev/ubuntustudio-controls/+git/ubuntustudio-controls/+merge/37414313:40
wonkoWe can start tracking stuff here13:41
OvenWerkswonko: I didn't get a chance to pull it yesterday, will do so now.15:12
wonkoNo worries15:27
wonkoMerge request in15:27
wonkoThink I got everything sorted15:27
OvenWerksautojack line 304 looks wrong.15:29
wonkoOk, I'll take a look when I get home in a few15:32
OvenWerksI will look further too.15:32
OvenWerksI am not sure if it is a mistake from before.15:32
OvenWerksOk I know what and why that line does what it does...15:42
OvenWerksIt compares the PID using the capture device to the PID using playback device and if they are the same... then jack owns it.15:43
OvenWerksThis may not be strictly true and it may be better in the long run to actually check if that PID belongs to jackdbus.15:45
OvenWerksIn this context it probably doesn't matter or is a good test anyway. If some other program is using it other than jack... we should probably leave it alone rather than killing the pid (someone's project?) and starting zita-ajbridge :)15:48
wonkoYeah, that's not a line I touched so I'm claiming not my problem> :)16:14
OvenWerksI have found some other things... likely my own logic and have made some changes. I am now looking through connect_pa and wondering where my head was that day...16:30
OvenWerksbut there were some places where we were not replacing the old config with the new soon enough :P so I have fixed that.16:32
OvenWerksThe layout of device is in notes.txt in the main directory, but is not clear enough for someone else to understand well and I am thinking it should be right in the autojack file.16:34
wonkoLet's not get too ahead of ourselves16:58
wonkois a re-write something to be seriously considered?16:59
wonkoif so we should definitely plan that out16:59
OvenWerksI would like a c++ like struct for each device so I could do device.name device.is_usb device.sub_no device.sub(1).name device.sub(1).has_play etc.17:11
OvenWerksI supose I could have global name = 0 global is_usb =1 etc :P17:11
OvenWerksbut an object would be much nicer and much more readable.17:12
OvenWerkseven enums would be better... lets rewrite in c++ :)17:13
OvenWerkswe could use waf to build it... Eickmeyer would like that :)17:13
wonkoI'm down for C++ or Go or whatever. I really dislike Python. :)17:19
OvenWerkspackaging anything that needs compiling is at a whole other level. it means learning autobuild or something so it can be multi arch.17:21
OvenWerksIt would mean we can use fltk instead of gtk.... which does mean not having to worry about gtk 4 when it shows up.17:22
OvenWerksThat is how we lost GCDMaster.17:22
wonkoI do DevOps for a living. autobuild is my thing. :)17:22
wonkoOf course I'd have to learn whatever janky shit Launchpad uses, but that shouldn't be so bad.17:23
OvenWerksThe other part of c++ vs python is that are likely to be people around who can maintain python in the Studio dev group, c++ is less certain17:24
wonkoI do totally get that point. I just don't like it. It seems like an artifical limitation17:25
wonko"Write it in whatever language you like, as long as it's Python"17:25
wonkosounds Ford-ish. :)17:25
OvenWerkswonko: in some ways I would like to make controls more generic to work outside of ubuntu as well, but I have looked at what Cadence had to do to make it generic... more if statements than I want to think about.17:26
wonkoThe joys of cross-distro17:27
OvenWerkswonko: any time one deals with system stuff it gets that way.17:27
wonkoYeah, but it's worse in the Linux world than anywhere else.17:28
OvenWerksis there anything else?17:28
wonkoThat people use on their desktops other than Windows, OSX or Linux? Yes.17:28
wonkoLarge market share? Nope.17:28
OvenWerkswindows is just that example you get with the computer so it looks like it works, its meant to be removed before the computer is actually used.17:29
wonkohahahahahaha. That++17:30
OvenWerksOSX? out of my price range, maybe corperations can afford that stuff, not me.17:31
wonkoBut the point I was making is, to be truly cross-compatible (ignoring windows for the time being) you have to port to 3 or 4 versions of unix and like 47 versions of linux.17:31
OvenWerksyup.17:32
wonkoIt's frustrating to me because what is the point? Why muddy the waters just because you think things belong somewhere else?17:33
wonkoAnyway, enough of that. :)17:33
OvenWerkswell there is systemd and initv, upstart has gone.17:34
wonkoWhich is unfortunate17:34
wonkoI liked it a lot better than systemd17:34
OvenWerkssystemd is pretty standard these days17:34
wonkothat doesn't make it not horrible17:34
OvenWerksanyone who uses an init v system is not going to use controls anyway, cause they have their own script in sh (not bash)17:35
wonkoheh17:35
OvenWerks(its called slackware)17:35
OvenWerksAnyway, for now I am going to make things work. connect_pa() looks wrong to me. I think it has been working because my system is sane with my thinking.17:38
wonkoco-worker tried to get me to run slackware a couple years ago. Two days of that was enough for me.17:40
OvenWerksThe configparser branch is a mess... I may compress it.17:40
OvenWerks(once it is working)17:40
* OvenWerks ran slackware for over 10 years from 1995 till mid 2000s17:41
wonkoyeah, I recommend rebasing it down to a single commit17:44
wonkoOld me would have loved slackware. New me has better things to do with his time.17:45
wonkoI was on Solaris back then. :)17:45
OvenWerksI still like a lot about fvwm17:45
wonkoI'm an OpenLook kinda guy17:46
wonkoAlthough I did use fvwm for a long while after switching away from Solaris17:47
wonkoAnyway, no more talking until you've reviewed and approved the merge request. :)17:48
OvenWerksMy main thing is A) the window with focus should be obvious... like a whole different contrasting colour. B) the window handles should be easy to find and grab17:48
wonkoI'm all for A. I never know which window is active in xfce. :)17:49
OvenWerksThat is the first thing I change.17:49
OvenWerksgnome is worse... they take away the title bar.17:50
wonkoI stuck with gnome for a while when installing 18.0417:50
wonkobut then I remembered xfce was better. :)17:50
wonkoWhile you do that I'm going to beat my face into kubernetes17:51
OvenWerkswonko, Eickmeyer: with regard to policy for controls, right now whichever device the user chooses for pulse to connect it's outputs to is used as the input to connect to pulse as well. I am thinking that probably this shouold not be true.18:26
EickmeyerOvenWerks: Agreed. It's an OK default, but to have an option to connect the outputs to a different device as inputs isn't a bad idea.18:27
OvenWerksThe gui lists it as output device so the user would not expect inputs to follow.18:28
OvenWerksI thnk for now I will set input to system capture18:28
OvenWerksEickmeyer: but yes in future they will be totally separate... I can't change that now though because the config option is not there yet :)18:29
OvenWerksThe main reason for letting the outputs be settable is that the user probably has only one set of physical outputs connected to amp and speakers. So the sound shouold always go there from pulse regardless of what else is set up18:31
OvenWerksSo if the user selects their usb mic as system, the output can remain through internal speakers/phones18:32
OvenWerkswonko: I have looked through the code and made some changes (mostly to my own code) but I can't test it just now as I am not at the right computer.18:49
EickmeyerOvenWerks: Understood.18:50
OvenWerksIt will be probably another 3 hours before I can do that after the Yf leaves for work.18:50
wonkoYf?19:37
wonkoNo worries, I've got things to do. Like my job and stuff. 🤣19:38
OvenWerkssomething with xdev is not working22:06
OvenWerkschanging other internal devices and hitting apply (reconfig) does not change that. But if I then change the usb bridge setting and reconfig, then the xdev setting is picked up and of course restart jack works too.22:08
OvenWerksHmm line 312 in autojack22:13
OvenWerksFixed.22:18
OvenWerksewyuck...22:42
OvenWerksmy logic is weird22:43
wonkoYes22:43
wonko:-P22:43
OvenWerkswonko: in config chnage we really should be doing oldconfig as a save of the old and writing the new config to config.22:44
OvenWerksin reconfig22:45
OvenWerksthat is22:45
wonkoYeah, I wanted to do that but I felt it better to leave it alone for now22:45
wonkoYou should be able to do oldconfig = config and then instantiate a new config.22:46
OvenWerkscan we do a oldconfig = config, get config?22:46
OvenWerksHow hard is it to copy the whole config?22:46
OvenWerkswonko: either i need to change it now or I have to make a bunch of old_param things to make it work.22:47
OvenWerksif I add the first internal audio device as an XDEV it works, but if I add any other it doesn't22:48
wonkoWe should be able to but I'll need to look at the code.22:49
wonkoXdev is probably wonky as hell if I'm guessing right 22:49
wonkoThis is where it would be nice if the config file supported complex data so we could just store a list instead of this back and forth to a string nonsense22:50
OvenWerksActually it is the pulse_in/out as well22:51
OvenWerksor it will be.22:51
OvenWerksThe problem is that I have to have both the old and new, but at the same time have set the main to the new.22:52
OvenWerksbecause we call other bits that read config.22:52
OvenWerkswonko: does the config handle more than one line with the same name? like:22:54
OvenWerksxdev=0,0,022:54
OvenWerksxdev=2,1,022:54
OvenWerksor will it just save the last one?22:55
wonkoI don't believe it does that nicely22:55
wonkoNever tried. :-)22:55
OvenWerksprobably just save the last one.22:55
OvenWerksI figured it out22:55
wonkoI know you hate the idea but what about json or yaml for the config file? Would make us spend less time chasing our tails.22:56
OvenWerkswe could split it each time...22:56
OvenWerksor not use the config parser...22:56
OvenWerksThe proper way is probably to split it each time we use it.22:57
wonkoI had considered switch to that23:00
wonkoAll let's do it23:00
wonkoSo*23:00
OvenWerksI really have too much time helping people fix tings already without have them send me a config file in paste that is a pain to read.23:00
OvenWerksbut if I can old_dev_config = dev_config and still read all the params that would work fine.23:02
OvenWerksThat would get rid of all the param=newparam as well23:03
OvenWerksoldconfig = config doesn't seem to work23:11
wonkoThis is where python gets weird for me23:13
wonkoThat's an object so is that a pointer or a copy?23:14
OvenWerksit probably needs to be a copy23:14
wonkohttps://docs.python.org/3/library/copy.html23:16
wonkoYou'll be wanting that then23:16
wonkoOr a real language. Your choice. :-P23:17
OvenWerksI hate python docs.. allmost every one of them does not have just a few examples of anything.23:18
wonkoOr they have examples that make no sense23:19
wonkoAnd no explanation as to what is going on23:19
OvenWerksnope, those don't work either (copy deepcopy)23:23
OvenWerksthose work for lists, not objects23:24
OvenWerkswonko: https://stackoverflow.com/questions/23416370/manually-building-a-deep-copy-of-a-configparser-in-python-2-723:26
OvenWerksall the answers say the same thing, save the original config as a string then read that string in as if it was a file to the copy...23:27
wonkoOh FFS23:29
OvenWerksAnd... they are python2 so look up what I do to do the same in 323:32

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!