Thanks for your answer! I guess it doesn't have high priority but anyway, the thing is this:
I'm really happy about [list store] but I think it can be way more expressive. My idea was to take the interface of [text] and [array] to add more methods.
First, I renamed [range( to [get( (but kept the old method around as an alias) because it's structurally very similar to [text get] and [array get].
Then I added a method [set <f> ...( which lets you overwrite atoms, just like [text set] and [array set]. the first float is the index, followed by the atoms you want to copy.
Then I added a general [insert <f> ...( method which lets you insert atoms, where the first float is the index, followed by the atoms you want to insert *before* that index. A large index lets you append atoms. I kept [prepend ...( and [append ...( as shortcuts for those two special cases.
Finally I added a [delete <f> <f>( method where the first float is the index to start deleting and the second float is the number of floats to delete.
---
These methods would turn [list store] into a powerful dynamically sized type-agnostic array - which we don't have in Pd yet! [text] comes closest, but it doesn't handle pointers and it bashes everything to binbufs which sometimes leads to unexpected or undesired behaviour.
Please find my version of x_list.c(which also includes the bug fix that you've already applied) and a messy test patch attached. I didn't have much time...
The methods works well with floats and symbols but there are mysterious bugs with pointers. Not only with my new method but also with your [range( method (which I didn't change). For example, sequencing a list of pointers creates 'consistency check failed' errors with [print] and sometimes there are crashes with segmentation faults.
Also, I'm wondering if memmove() and realloc() is really safe with arrays of t_listelem because a gpointer atom l_a inside t_listelem points to l_a. when the array changes location in memory, won't the pointer point to the wrong location?
I know there are more important things to do right now. Just have look when you have time.
Thanks!
Christof
Gesendet: Freitag, 21. Juli 2017 um 17:26 Uhr Von: "Miller Puckette" msp@ucsd.edu An: "Christof Ressi" christof.ressi@gmx.at Cc: "Dan Wilcox" danomatika@gmail.com, pd-dev@iem.at Betreff: Re: [PD-dev] 0.48.0 release status
Always open to bug reports (although swamped right now I'm afraid, will only get to things that are either urgent or easy :)
I've already fixed "list_store_range" following your earlier report, thanks.
Miller
On Fri, Jul 21, 2017 at 01:05:15PM +0200, Christof Ressi wrote:
I got some more feedback/code for [list store], apart from the list_store_range bug I've already reported on the list. Is there some time left for you guys to review it? I can send it in a couple of hours. I'm travelling right now.
Christof
Gesendet: Freitag, 21. Juli 2017 um 11:54 Uhr Von: "Dan Wilcox" danomatika@gmail.com An: pd-dev@iem.at Cc: "Miller Puckette" msp@ucsd.edu Betreff: [PD-dev] 0.48.0 release status
Ok all, at this point we've nailed most of the bugs and feedback so far. The latest PR is https://github.com/pure-data/pure-data/pull/123 https://github.com/pure-data/pure-data/pull/123
As far as I can tell, the only remaining things which could be done/included for the release are:
Small Stuff
- Remove midiin & sysexin Windows warnings in x_midi.c (& update help file)
(Optional) Big Stuff
- Adopt DejaVu Sans Mono a the default font -> this is in the dejavu branch https://github.com/pure-data/pure-data/pull/42 https://github.com/pure-data/pure-data/pull/42 This is mainly for mac & Linux, Windows support will need to be added later as mentioned in the discussion. It also fixes the bad Monaco rendering on retina screens at small font sizes.
- Update the icon -> see my pd-icon repo https://github.com/pure-data/pd-icon https://github.com/pure-data/pd-icon & the recent thread on the pd-list
There may be more things, but I think I'm done on my end for now. We could do one final test release after this, but hopefully the feedback bugs will all have been fixed.
Dan Wilcox @danomatika http://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev