Hi there,
The filter isn’t going to be very helpful in this situation as it simply returns a long string, like so:
<ul class="ddownloads_list"><li><a href="">download1</a></li><li><a href="">download2</a></li></ul>
While you may be able to explode the different chunks into an array it really doesn’t make sense to use this approach. A better way would be to use the WP_Query class, which is actually how the shortcodes are generated. As downloads are post types a simple query would retrieve all downloads in date order. You then just need to loop over the results and add the appropriate HTML markup, with a few if statements.
$downloads_list = new WP_Query( array( 'post_type' => 'dedo_download', 'post_status' => 'publish', 'order' => 'DESC', 'orderby' => 'date' ) );
That should give you enough insight to get started. Any questions, let me know.
Ashley