Search
Thursday, 14th of February 2019, 4:27:31 UTC
9:31:26
phoe
Shinmera: https://github.com/phoe-trash/qtools-ui/commit/69119c3392e21ad8f3cf5623bd91e020dde35b9b
9:31:27
Colleen
github.com/phoe-trash/qtool... Website (HTML), Title: Use DOCUMENTATION-UTILS · phoe-trash/qtools-ui@69119c3 · GitHub
9:32:04
phoe
If that's a yay, then I'll begin adding docstrings for everything else
9:38:51
Shinmera
Typically I prefer having every documentation form with the qualified type (so function, where missing)
9:41:57
Shinmera
err documentation expression :v
9:47:02
phoe
How should I use newlines inside define-docs forms?
9:47:05
phoe
because right now they are inconsistent
9:47:12
phoe
(boy, I'll add a lot of cl:function)
9:50:18
phoe
https://github.com/phoe-trash/qtools-ui/commit/dbc1529
9:50:18
Colleen
github.com/phoe-trash/qtool... Website (HTML), Title: Add explicit cl:function in define-docs · phoe-trash/qtools-ui@dbc1529 · GitHub
9:54:14
Shinmera
Wrap them at a consistent length, whether that's 80 or 100 I don't particularly care
9:54:30
Shinmera
and only dunces add the cl:function manually. Use a regex!
9:55:09
Shinmera
Alternatively I've been thinking about making Staple wrap things in pres too, so that I can just write text blocks without having to manually wrap at all
9:55:31
phoe
Shinmera: no no, I don't mean wrapping lines
9:55:36
phoe
I mean newlines inside the define-docs forms
9:56:13
phoe
there are newlines that are not between toplevel forns
9:57:27
Shinmera
the format is always "summary line that can exceed wrapping length\n\nlong description with multiple paragraphs\n\nSee xrefs, one line at a time
9:57:32
Shinmera
Is that what you mean?
10:01:53
phoe
https://cdn.discordapp.com/attachments/297478485000192010/545545184902119434/Screenshot_from_2019-02-14_11-01-00.png
10:01:53
Colleen
cdn.discordapp.com/attachme... Image (PNG)
10:02:50
phoe
there is no newline between (type rgb-color-slider ...) and (type hsv-color-slider ...)
10:02:58
Shinmera
Yeah always a newline between expressions
10:03:01
phoe
while there are newlines between others
10:04:31
Shinmera
If you want you could depend on multilang-documentation-utils and also translate the docstrings into polish :v
10:17:26
Shinmera
I think I need to complicate libmixed's design and change it around a lot
10:17:55
Shinmera
because this resampling business, and other potential plugins as well, require me to allow changing the sample count on the fly
10:18:10
Shinmera
but doing so is pretty complicated
10:18:35
Shinmera
mostly since the graph is a DAG, I can't just propagate the sample count as a maximum downwards in the graph
10:18:47
Shinmera
join points would have conflicting sample counts
10:18:59
Shinmera
so it needs to be propagated upwards somehow in an additional pass
10:19:07
Shinmera
before the actual mixing pass
10:19:18
Shinmera
or at least that's the only thing I can think of at the moment
10:19:57
Shinmera
problem is though, no matter what, currently libmixed lacks the infrastructure for this dependence information. You build the graph implicitly through shared buffers
10:20:20
Shinmera
so there's no way for it to do this pre-pass
10:20:30
Shinmera
wish I knew a good solution
10:21:21
Shinmera
also, the resampling only knows the updated sample count /after/ performing the resampling
10:21:50
Shinmera
the alternate would be to complicate buffer logic a lot and turn them into ring buffers
10:22:22
Shinmera
so that you can only read/fill parts of a buffer
10:22:49
Shinmera
problem with that approach, aside from complicating buffer access, is that now the buffers can never be shared
10:23:47
Shinmera
or at least I don't think they could be for any segments that have varying sample counts
10:25:32
Shinmera
wait, no, they could never be shared, since now even segments that don't change sample count themselves effectively become ones that do, due to the change becoming infectious
10:55:49
phoe
one more thing, https://cdn.discordapp.com/attachments/297478485000192010/545558738619203604/Screenshot_from_2019-02-14_11-03-29.png
10:55:49
Colleen
cdn.discordapp.com/attachme... Image (PNG)
10:55:59
phoe
Should I add slashes on empty string lines?
10:56:34
phoe
That is to avoid Ctrl+ArrowDown/ArrowUp landing into the middle of newlines
12:55:06
phoe
Shinmera: I think I've done it
12:55:13
phoe
take a look at phoe-trash/qtools-ui
12:55:21
Shinmera
You've done diggly done it?
12:55:23
phoe
if that's okay, then I'll start adding other docstrings
12:56:25
Shinmera
This does not look right. https://github.com/phoe-trash/qtools-ui/blob/master/documentation.lisp#L73
12:56:25
Colleen
github.com/phoe-trash/qtool... Website (HTML), Title: qtools-ui/documentation.lisp at master · phoe-trash/qtools-ui · GitHub
12:56:57
Shinmera
summary line should not be wrapped, and should have an empty line to the description block
12:57:12
Shinmera
some problem with others
12:58:52
phoe
should not be wrapped, okay
12:59:25
Shinmera
this is a very long summary line and goes on for quite a while potentially
12:59:34
Shinmera
and here's the description, which is
12:59:41
Shinmera
wrapped at some length, probably 80
12:59:44
Shinmera
or something like that
13:00:53
Shinmera
The reason the summary should not be wrapped is due to some docstring previewers cutting off after the first line.
13:00:58
phoe
How do I tell summary from non-summary
13:01:11
phoe
Is it always the first sentence?
13:01:40
phoe
Or do I need to go deep and actually understand what's written in each case?
13:01:51
Shinmera
Let me have a look through
13:02:00
Shinmera
jeez, why was I so inconsistent with this shit in this project
13:02:03
Shinmera
usually I do far better
13:02:16
Shinmera
Sorry to have you go through this mess
13:02:46
Shinmera
Seems to be always the first sentence in this
13:03:24
phoe
In case I figure out that something's inconsistent in style or meaning or whatever, I'll go ahead and (try to) fix it
13:03:37
phoe
In the worst case, I'll leave more mess for you to review during PRs
13:05:05
Shinmera
I'd rather you have less work
13:08:07
phoe
OK - then I think it would be good for me to make a small PR right now
13:08:21
phoe
I'll try to document everything as I go afterwards
13:19:05
phoe
OK - I think I can make a PR now
13:20:11
phoe
https://github.com/Shinmera/qtools-ui/pull/8
13:20:12
Colleen
github.com/Shinmera/qtools-... Website (HTML), Title: Better docs by phoe · Pull Request #8 · Shinmera/qtools-ui · GitHub
13:39:42
phoe
commit 88492e2 on my fork probably does what you want
13:40:00
phoe
in docstrings, newlines are added to separate first line from the body, and bodies are hard-wrapped at 80chars
13:46:32
Shinmera
Meanwhile I'm paralysed again because I don't know what to do with libmixed.
14:00:03
Shinmera
I described the issue not long ago
14:00:22
Shinmera
https://irclog.tymoon.eu/freenode/%23shirakumo?around=1550139435#1550139435
14:00:22
Colleen
irclog.tymoon.eu/freenode/%... Website (XHTML), Title: freenode/#shirakumo - IRC Chatlog
14:30:31
phoe
Shinmera: qtools-ui's package.lisp exports all symbols, even for its parts that are not loaded
14:31:20
phoe
I wonder if that can be made any better
14:35:23
phoe
for define-hot-patching, I dislike the fact that the defined functions have lambda lists (&REST REST)
14:35:50
phoe
even though they could have proper lambda lists with meaningful argnames
14:36:08
Shinmera
then you'd have to manually reconstruct the arguments on call
14:36:22
Shinmera
since you can't do &rest foo required
14:37:18
phoe
that's not too pleasant from the user point of view since they won't get slime to show the function lambda list for them
14:37:49
phoe
we could use form-fiddle one day perhaps and get this into a better shape
14:38:03
Shinmera
lambda-fiddle, you mean
14:38:57
Shinmera
though it doesn't have a function to reconstruct arguments by a lambda list
14:39:14
phoe
what's the detach function you use in to-byte-array?
14:39:24
phoe
well, it could perhaps utilize that functionality
14:40:22
Shinmera
detach is an undocumented call that causes the qbytearray to copy itself
14:40:28
Shinmera
since otherwise it's typically shared
14:40:47
Shinmera
which we can't do if we delete the lisp foreign array again
14:41:15
Shinmera
had a hellova time finding that
14:52:43
phoe
FROM-BYTE-ARRAY and TO-BYTE-ARRAY convert between Lisp vectors and QByteArrays, correct?
14:59:39
phoe
In FROM-BYTE-ARRAY, you do not use any keyword arguments
14:59:52
phoe
this means that you will be creating a simple-vector instead of a ub8 vector
15:00:00
phoe
and I do not think you want this
15:00:15
phoe
see https://bugs.launchpad.net/cffi/+bug/1740800
15:00:15
Colleen
bugs.launchpad.net/cffi/+bu... Website (HTML), Title: Bug #1740800 “Please add FOREIGN-ARRAY-TO-LISP-SPECIALIZED” : Bugs : CFFI
15:00:44
Shinmera
man cffi's API is a mess sometimes
15:00:47
phoe
should I add :element-type '(unsigned-byte 8)?
15:01:05
phoe
(I was actually the person who requested that in CFFI)
15:01:33
phoe
Should TO-BYTE-ARRAY only accept ub8 vectors?
15:02:07
Shinmera
It's going to error in CFFI on wrong data
15:02:11
Shinmera
so nothing to do there in my opinion
15:03:08
Shinmera
which I actually don't think is portable to a lot, and not according to CFFI unless the vector is specially allocated
15:03:22
phoe
the vector must be allocated as ub8 vector
15:03:39
phoe
also, CFFI will accept things as weird as (unsigned-byte 2)
15:03:53
Shinmera
cffi has an extra wrapper call that you should use to create arrays usable with w-p-t-v-d
15:04:07
Shinmera
on SBCL it works with any ub8 vector
15:04:14
Shinmera
dunno about CCL and ECL
15:04:35
phoe
make-shareable-byte-vector
15:05:58
phoe
ccl and ecl have the same behavior
15:06:04
phoe
only LW and ACL have some weirdness there
15:06:14
Shinmera
those are unsupported so whatever
15:06:20
Shinmera
just document needs to be a ub8 vector
15:07:46
phoe
document? or check-type (vector ub8)?
Thursday, 14th of February 2019, 16:27:31 UTC