Thread overview
Library request thread
Oct 22, 2014
ponce
Oct 22, 2014
Rikki Cattermole
Oct 22, 2014
ponce
Oct 22, 2014
Rikki Cattermole
Oct 22, 2014
Adam D. Ruppe
Oct 22, 2014
ponce
Oct 22, 2014
Jacob Carlborg
Oct 22, 2014
ponce
October 22, 2014
I feel like we need a NG thread for D users to come and ask for new libraries/bindings.

Express your needs! Here are mines.

1. A windowing library to replace some of SDL usage. Some programs like audio plugins are usually done without any dependent dynamic library. It could also make one less dependency on many small programs. I would expect it to be based on Win32/X11/Cocoa.

2. A binary serialization library that support versions of data schemes. Would allow to load previous versions of data when the scheme has changed and fields have been added/removed.
October 22, 2014
On 22/10/2014 9:13 p.m., ponce wrote:
> I feel like we need a NG thread for D users to come and ask for new
> libraries/bindings.
>
> Express your needs! Here are mines.
>
> 1. A windowing library to replace some of SDL usage. Some programs like
> audio plugins are usually done without any dependent dynamic library. It
> could also make one less dependency on many small programs. I would
> expect it to be based on Win32/X11/Cocoa.

I'm playing round (on and off) with DWC [0]. Think e.g. GLFW but only for window / opengl context creation with a feature set identical on all platforms.

If anybody has an example of custom event loop for Cocoa that runs only one iteration (so I can control per iteration for a frame) please let me know.

Now to expand on what I would like:
1. Media libraries such as png/tiff/jpeg abstracted out into image which would be our go to image library. With conversion support.
Including for 3d models, video files.
This could be AMAZING for D to have everything integrated for these libs. Supporting mapping an image to a 3d model that is both freely editable in code is just *drools*.
2. Wrappers around opengl functions so e.g. taking arrays instead of pointers and lengths.
I have already got a bit of code on this with DOOGLE.


[0] https://github.com/rikkimax/DWC
October 22, 2014
On Wednesday, 22 October 2014 at 08:25:25 UTC, Rikki Cattermole wrote:
> On 22/10/2014 9:13 p.m., ponce wrote:
>> I feel like we need a NG thread for D users to come and ask for new
>> libraries/bindings.
>>
>> Express your needs! Here are mines.
>>
>> 1. A windowing library to replace some of SDL usage. Some programs like
>> audio plugins are usually done without any dependent dynamic library. It
>> could also make one less dependency on many small programs. I would
>> expect it to be based on Win32/X11/Cocoa.
>
> I'm playing round (on and off) with DWC [0]. Think e.g. GLFW but only for window / opengl context creation with a feature set identical on all platforms.
>

Interesting, it looks like it could fit the bill.

> Now to expand on what I would like:
> 1. Media libraries such as png/tiff/jpeg abstracted out into image which would be our go to image library. With conversion support.

https://github.com/callumenator/imaged has image encoders, seems like the most promising image library to me.

> Including for 3d models, video files.
> This could be AMAZING for D to have everything integrated for these libs. Supporting mapping an image to a 3d model that is both freely editable in code is just *drools*.

Abstractions for video files / images and 3D models are wildly different though.


October 22, 2014
On 22/10/2014 10:07 p.m., ponce wrote:
> On Wednesday, 22 October 2014 at 08:25:25 UTC, Rikki Cattermole wrote:
>> On 22/10/2014 9:13 p.m., ponce wrote:
>>> I feel like we need a NG thread for D users to come and ask for new
>>> libraries/bindings.
>>>
>>> Express your needs! Here are mines.
>>>
>>> 1. A windowing library to replace some of SDL usage. Some programs like
>>> audio plugins are usually done without any dependent dynamic library. It
>>> could also make one less dependency on many small programs. I would
>>> expect it to be based on Win32/X11/Cocoa.
>>
>> I'm playing round (on and off) with DWC [0]. Think e.g. GLFW but only
>> for window / opengl context creation with a feature set identical on
>> all platforms.
>>
>
> Interesting, it looks like it could fit the bill.

My original goal is to just say stuff it, we may not agree about GUI toolkits as a community but we should at the very least be able to agree on how to create a window.
One library where we can put all our focus into for this one small goal. But with big consequences.

>> Now to expand on what I would like:
>> 1. Media libraries such as png/tiff/jpeg abstracted out into image
>> which would be our go to image library. With conversion support.
>
> https://github.com/callumenator/imaged has image encoders, seems like
> the most promising image library to me.
>
>> Including for 3d models, video files.
>> This could be AMAZING for D to have everything integrated for these
>> libs. Supporting mapping an image to a 3d model that is both freely
>> editable in code is just *drools*.
>
> Abstractions for video files / images and 3D models are wildly different
> though.

Yes but I wasn't meaning one abstraction fits all. Just where it makes sense e.g. one for image, one for video.

October 22, 2014
On Wednesday, 22 October 2014 at 08:13:20 UTC, ponce wrote:
> 1. A windowing library to replace some of SDL usage.

My simpledisplay.d is aimed to do some of this.
https://github.com/adamdruppe/arsd

It also depends on my color.d, but none of the other files. It also doesn't depend on Phobos, which is nice for doing quick drawing stuff with smaller executables - about 200 KB hello world gui on Windows.

The png.d and bmp.d in there can do some interop with those file formats too, making an image viewer is pretty easy to do with all them.

Uses Win32 GDI and Xlib for the backend. The Cocoa code is totally unmaintained and won't work, but you can run X on Mac too.

this example from my book shows how you can do some stuff with it: http://arsdnet.net/dcode/book/chapter_12/09/

and open gl 1.1 stuff with it: http://arsdnet.net/dcode/book/chapter_12/10/

And the file minigui.d in my repo shows some basic widget interaction too, like creating buttons on Windows.
October 22, 2014
On 2014-10-22 10:13, ponce wrote:

> 2. A binary serialization library that support versions of data schemes.
> Would allow to load previous versions of data when the scheme has
> changed and fields have been added/removed.

Sounds like Protocol Buffers [1], D implementations: [2] [3].

[1] http://code.google.com/p/protobuf/
[2] http://code.dlang.org/packages/dproto
[3] https://github.com/opticron/ProtocolBuffer

-- 
/Jacob Carlborg
October 22, 2014
On Wednesday, 22 October 2014 at 19:49:48 UTC, Jacob Carlborg wrote:
> On 2014-10-22 10:13, ponce wrote:
>
>> 2. A binary serialization library that support versions of data schemes.
>> Would allow to load previous versions of data when the scheme has
>> changed and fields have been added/removed.
>
> Sounds like Protocol Buffers [1], D implementations: [2] [3].
>
> [1] http://code.google.com/p/protobuf/
> [2] http://code.dlang.org/packages/dproto
> [3] https://github.com/opticron/ProtocolBuffer

Thanks, I didn't knew Protocol Buffers could do it.
October 22, 2014
On Wednesday, 22 October 2014 at 15:11:39 UTC, Adam D. Ruppe wrote:
> On Wednesday, 22 October 2014 at 08:13:20 UTC, ponce wrote:
>> 1. A windowing library to replace some of SDL usage.
>
> My simpledisplay.d is aimed to do some of this.
> https://github.com/adamdruppe/arsd
>
> It also depends on my color.d, but none of the other files. It also doesn't depend on Phobos, which is nice for doing quick drawing stuff with smaller executables - about 200 KB hello world gui on Windows.

A lot of interesting things in arsd indeed but I wish it was separated in DUB sub-packages so that we can build upon with peace of mind. Automatic updates spoiled me.