[01:13] <Eickmeyer> Oh, those are cheap. 
[01:13] <Eickmeyer> OvenWerks: ^
[01:39] <OvenWerks> Not too bad anyway. most have a via chipset, I want the TI if I can get it.
[02:07] <OvenWerks> catia looks like it will soon be separate from cadence
[02:08] <OvenWerks> It would be nice to have a stand alone patch bay. starting Carla up just for patch bay it a bit much.
[02:09] <wonko> Eh, it doesn't bother me too much
[02:09] <wonko> but I wouldn't argue against it either
[02:10] <OvenWerks> wonko:  you missed the first line :)
[02:11] <OvenWerks> 19:07 < OvenWerks> catia looks like it will soon be separate from cadence
[02:11] <wonko> I don't think I've ever used catia?
[02:11] <wonko> I don't remember, it's been more than a week
[02:11] <wonko> :-D
[02:12] <wonko> yeah, I used Claudia and Cadence
[02:12] <wonko> Claudia is basically just Catia + session
[02:14] <OvenWerks> old unmaintained session
[02:14] <wonko> hey, I had no idea what I was doing. :)
[02:15] <OvenWerks> I don't think anyone wanys to revive ladish
[02:15] <Eickmeyer> Ladish can rot in a dark place. It's very buggy. 
[02:28] <OvenWerks> Try write only memory...
[18:58] <wonko> OvenWerks: Quick question. Is there a reason you didn't use something like configparser for the config file?
[19:01] <OvenWerks> wonko cause I have never heard of it?
[19:01] <OvenWerks>  :)
[19:02] <wonko> Can I switch to that instead? :)
[19:02] <OvenWerks> config and reconfig should get merged and probably configstart should deal with only some params changed
[19:02] <wonko> I'm trying to clean up that nightmare known as the config stuff in this code.
[19:04] <OvenWerks> so long as no breakage happens
[19:04] <OvenWerks> is it an easy incude?
[19:05] <OvenWerks> (ie make sure /debian/control has the right include
[19:05] <wonko> yeah, I've been trying to just re-use your code but it's getting kinda gunky to do so. I'm going to see if I can do it cleaner with configparser
[19:05] <wonko> it's python standard library
[19:06] <wonko> I will have to support legacy though
[19:06] <wonko> but I'll get it writing out to your new location (and reading it back in if it exists) using configparser
[19:09] <wonko> is launchpad borked?
[19:09] <wonko> wonko@deepthought:~/Documents/projects/ubuntustudio-controls (master)*$ git pull
[19:09] <wonko> fatal: unable to access 'https://git.launchpad.net/ubuntustudio-controls/': The requested URL returned error: 503
[19:16] <wonko> OvenWerks: Is there a reason the SysInfo class exists to your knowledge? It's bad for in python to make a class of what are standalone static methods.
[19:19] <wonko> s/bad for/bad form/
[19:30]  * OvenWerks is not on his dev computer right now and so is not sure.
[19:37] <wonko> doesn't need to be answered right away. I'm going to close my eyes and try to not look at all the wrongness and focus on config for now. :-D
[19:42] <OvenWerks> wonko: one thing to remember is that this started out as python 2 and some things maybe the way they are for that reason... or because I found python 2 docs to refer to.
[19:42] <wonko> I'll try to be nice. :)
[20:05] <Eickmeyer> wonko: Can you link me to your launchpad profile so I can add you to the ubuntustudio-dev group? 
[20:05] <Eickmeyer> I consider you an official part of the team now.
[20:05] <Eickmeyer> It'll allow you to push commits.
[20:08] <OvenWerks> wonko: almost everything above the class ubuntustudiocontrols predates my messing around with it.
[20:09] <OvenWerks> So class SysInfo is from an olde version that only installed /etc/security/limits.d/audio.conf (Ithink it is) and made sure th euser was in the audio group. I have never written anything similar since.
[20:09] <wonko> Ok, I'll make those just standalone static methods then
[20:09] <OvenWerks> no problem.
[20:10] <wonko> Eickmeyer: https://launchpad.net/~bhechinger
[20:10] <wonko> and thanks. I appreciate the trust. :)
[20:12] <OvenWerks> wonko: autojack is mine as a rewrite from the bash script I used before on my family's computers
[20:12] <OvenWerks> I will wait till you have made changes before I continue
[20:12] <wonko> I haven't looked at that one yet. I'll let you know how it is when I get to it. :)
[20:13] <OvenWerks> autojack is where the good stuff happens. controls just sets up the config file and signals to autojack to use the new config.
[20:16] <Eickmeyer> wonko: Welcome to the team. :)
[20:16] <wonko> Eickmeyer: Thanks!
[20:16] <Eickmeyer> I figured since you and OvenWerks are working so hard and collaborating on Controls, that we just make it official.
[20:44] <wonko> I certainly appreciate it.
[20:44] <wonko> XDEV is a pain. :)
[21:17] <wonko> OvenWerks: https://paste.ubuntu.com/p/jKscvsdjK5/
[21:17] <wonko> The new save file format
[21:17] <wonko> Looks suspciously like the old format. :)
[21:22] <wonko> Eickmeyer: What's the trick to authenticating to do a git push?
[21:25] <wonko> oh, wait
[21:25] <wonko> you can't push via https?
[21:29] <OvenWerks> Whats the default for? Just automaticly generated?
[21:30] <wonko> configparser supports multiple sections
[21:30] <wonko> it needs at least one, which is default
[21:30] <wonko> in this case because I didn't think it needed a different name
[21:31] <wonko> later on we can break the config file up logically if we see fit
[21:31] <wonko> branch configparser pushed up with the changes to controle
[21:31] <wonko> controls
[21:31] <wonko> need to do autojack next
[21:32] <wonko> Are there plans to deprecate the old config file at some point? That would be nice. We could axe a bunch of ugly code. :)
[21:34] <OvenWerks> so you mean the old location?
[21:34] <wonko> yeah
[21:34] <OvenWerks> not before the 18.04 LTS has died.
[21:34] <wonko> https://git.launchpad.net/ubuntustudio-controls/tree/usr/bin/ubuntustudio-controls?h=configparser#n199
[21:35] <wonko> that big if/elif block is replaced by: self.config.read(c_file)
[21:35] <wonko> much easier on the eyes. :)
[21:35] <OvenWerks> I would expect that.
[21:35] <wonko> when's EOS for 18.04?
[21:36] <OvenWerks> Eickmeyer: ^^??
[21:37] <Eickmeyer> EOL for 18.04 is April 2021 for flavors, 2023 for regular Ubuntu support.
[21:37] <OvenWerks> in autojack it needs to be different. We need to fist save the old config parameters then read in the new ones and check what has changed.
[21:38] <Eickmeyer> Easy way to check: !18.04
[21:38] <Eickmeyer> !bionic
[21:38] <Eickmeyer> Hmmm.... I know there's a command for this.
[21:38] <Eickmeyer> !18.04
[21:38] <Eickmeyer>  ¯\_(ツ)_/¯
[21:38] <OvenWerks> wonko: there are some things where a config change does not have to restart jack
[21:38] <wonko> OvenWerks: Yeah, I noticed that. I'll make sure to maintain that.
[21:39] <wonko> what does autojack do? watch the config file for changes?
[21:39] <wonko> I can just read the code too. :)
[21:39] <OvenWerks> no it has a callback from dbus... well 5 or 6 of them
[21:40] <OvenWerks> so even if there is no config file change it can restart the world or things like that. the dbus set up is right at the bottom at startup.
[21:40] <wonko> So autojack doesn't write the config file ever, riight?
[21:41] <OvenWerks> never
[21:41] <OvenWerks> it only reads
[21:41] <wonko> can it be safely assumed controls has run first to make sure the new config file exists?
[21:41] <wonko> or is that an unsafe assumption?
[21:41] <OvenWerks> no
[21:41] <wonko> bleh, ok
[21:41] <OvenWerks> if a person upgrades, it will have run first
[21:42] <wonko> I'll put the config migration code in there as well then
[21:42] <OvenWerks> or even first run.. because it autostarts at session start
[21:42] <wonko> ok, April 2021 can't come fast enough. :)
[21:42] <wonko> anyway, time for me to toodle off for the day. I'll pick this back up tomorrow morning.
[21:43] <wonko> I should have all the changes ready for you then
[21:43] <OvenWerks> So it has to A) have defaults, B) read old stuff,
[21:43] <wonko> yeah, i'll definitely do that
[21:43] <OvenWerks> and C) convert the old to new
[21:44] <OvenWerks> wonko the first time controls runs, if it finds and old audojack it kills it.
[21:45] <wonko> ok, so both need to read old and convert (or create new if it doesn't exist)
[21:45] <OvenWerks> wonko: controls pings autojack and if it doesn't get an answer that includes the right version, it sends a quit message and starts a new one
[21:45] <OvenWerks> autojack just reads but converts to new variables
[21:46] <wonko> How atomic is the autojack/controls interaction? Meaning, whichever one runs first will definitely have had time to write the new config file if needed before the other tries to read?
[21:46] <OvenWerks> both jsut read old formats if they exist
[21:47] <wonko> right, but only if the new file doesn't exist yet
[21:47] <OvenWerks> yes.
[21:48] <OvenWerks> controls removes the old one before writing... should make sure it is just before writing or just after I guess
[21:48] <wonko> so my concern is the situation where the new file doesn't exist yet and needs to be converted from old. Will whichever program that starts up first definitely have written the new version before the other one starts up and reads?
[21:48] <OvenWerks> autojack run at session start
[21:48] <wonko> I just worry about those two colliding
[21:48] <OvenWerks> so it always runs first
[21:48] <wonko> anyway, being paged for dinner, talk later
[21:48] <OvenWerks> ok
[22:21] <wonko> I had a thought while eating. Wouldn't it make more sense to have the config file conversion as part of the deb package post script instead of relying on the apps to handle it?
[22:23] <OvenWerks> It is generally frowned on to mess with files within the user's directory.
[22:24] <OvenWerks> (during an install or removal
[22:26] <OvenWerks> wonko: to me saving a few lines of code is not such a big deal.
[22:31] <OvenWerks> A few if statements can solve a lot stuff
[22:41] <wonko> Oh right, user dirs
[22:41] <wonko> Duh, that wouldn't work anyway