4 ms·
A quick glance at the source reveals a thing of beauty. Definitely a good reference for anyone looking for inspiration from a well-managed C++ project.
by acron0 11y ago
A quick glance at the source reveals a thing of beauty. Definitely a good reference for anyone looking for inspiration from a well-managed C++ project.
- tony 11y agoYup. The codebase is extremely intuitive. For those who need a link the GitHub is at https://github.com/aseprite/aseprite https://github.com/aseprite/aseprite. For those wondering how it's possible for it to look consistent across platforms and maintain that crisp, retro look, its' running Allegro 4 [1]. Libraries like SDL, Allegro, SFML, etc. are normally associated with games, but there are cases where it can used for creative tools as well. Schism Tracker [2], an open source recreation of Impulse Tracker [3] uses SDL to deliver a cross-platform app. Like Aseprite, it also can be part of one's tool belt for making an awesome retro game, since tools like that are great for chiptune/8 bit/16 bit beats [4]. On a related note, the creator of Impulse Tracker, Jeffrey Lim also released the full source code 2 years ago [5]. [1] https://wiki.allegro.cc/index.php?title=Allegro_4 https://wiki.allegro.cc/index.php?title=Allegro_4 [2] http://schismtracker.org/wiki/Schism%20Tracker http://schismtracker.org/wiki/Schism%20Tracker [3] https://en.wikipedia.org/wiki/Impulse_Tracker https://en.wikipedia.org/wiki/Impulse_Tracker [4] (example) https://www.youtube.com/watch?v=Zp3VNsQmTGM https://www.youtube.com/watch?v=Zp3VNsQmTGM [5] http://roartindon.blogspot.com/2014/02/20-years-of-impulse-tracker.html http://roartindon.blogspot.com/2014/02/20-years-of-impulse-t...
- yoklov 11y agoNot that I've used Asesprite, and since its completely possible to avoid this I might be just spreading FUD or something, but one reason to avoid using something like SDL, Allegro, SFML, GLFW, etc, for a desktop application is that the style you typically use to write those (update at 30 or 60fps always) has very poor power consumption. When you don't care about this, it opens up a lot of possibilities for making your life easier though. Immediate mode UIs are an easy way of getting what is basically a poor man's reactive data binding, and while they don't necessitate this style, they work best with it (and avoiding it with them can be a little tricky). But again, never used Aesprite so I can't say if it does this. My suspicion would be that it doesn't! It's worth keeping in mind as a tool though.
- zamalek 11y ago> update at 30 or 60fps always Actually neither OpenGL nor DirectX force you to do this - it's just what game loops set out to do. There isn't anything stopping you from calling Present as infrequently as you want (i.e. when something changes). What you are saying might hold truth because most people don't think about power consumption and could thus end up using a normal game loop for their UI app.
- tony 11y agoAseprite. Way lighter than Photoshop CC or Blender. http://imgur.com/VIKM2Wj http://imgur.com/VIKM2Wj - I have Asepite open with two huge Vladstudio wallpapers and Photoshop and Blender just idling (nothing open). Photoshop CC and Blender register a higher energy impact in OS X. New features get added all the time. If you do try Aseprite and find any problem with it, definitely file an issue. I haven't seen any feedback on power consumption, I imagine due to it being relatively smaller in footprint to other apps graphic artists use. There's probably a lot potential to make it better. I acknowledge your point regarding using those libraries also. In the context of Aseprite and Schism Tracker, the aesthetic plays an important role. Aseprite is for pixel art and its' interface is deliberately done so, Schism Tracker wants to recreate the old DOS app Impulse Tracker. Customizing that to work cross-platform with a widget toolkit probably wouldn't pan out or be nearly as flexible.
- graspee 11y agoTry compiling the source and then tell me you still think it's a thing of beauty and well-managed.