Misc fixes; Hershey fonts support; Static display frames support#17
Open
kamalmostafa wants to merge 16 commits intomarcan:masterfrom
Open
Misc fixes; Hershey fonts support; Static display frames support#17kamalmostafa wants to merge 16 commits intomarcan:masterfrom
kamalmostafa wants to merge 16 commits intomarcan:masterfrom
Conversation
Contributor
Author
Allow qplayvid to continue to build with pre-version 56 ffmpeg (libav) APIs. Fixes regression introduced by: 3fd071e Update qplayvid to newer ffmpeg APIs Signed-off-by: Kamal Mostafa <kamal@whence.com>
Allow the build to complete (without playvid and qplayvid) on pre-libav9 distros which do not provide libavresample. Signed-off-by: Kamal Mostafa <kamal@whence.com>
... for everything except the python stuff. Signed-off-by: Kamal Mostafa <kamal@whence.com>
... same as the rest of font routines do. Signed-off-by: Kamal Mostafa <kamal@whence.com>
This framework allows for the implementation of different font types including dynamically loaded fonts. Fonts are allocated and loaded via e.g.: Font *font = olGetFont(OL_FONT_SOMETHING, "somefontname"); Only OL_FONT_DEFAULT is currently implemented, hence: olGetFont(OL_FONT_DEFAULT, "unused") is equivalent to: olGetDefaultFont() olFreeFont(font) should be called to free fonts returned by olGetFont(), though freeing the default font is unnecessary (but harmless). No functional change (until some future type is implemented). Signed-off-by: Kamal Mostafa <kamal@whence.com>
No functional change. Signed-off-by: Kamal Mostafa <kamal@whence.com>
No functional change. Signed-off-by: Kamal Mostafa <kamal@whence.com>
If the libhersheyfont library is installed, build with support for
Hershey vector fonts. Adds new olFontType OL_HERSHEY_FONT, e.g.:
Font *olGetFont(OL_HERSHEY_FONT, fontname);
...
olFreeFont(font);
Signed-off-by: Kamal Mostafa <kamal@whence.com>
Demo app for the font engine -- supports the 'default' font and Hershey fonts. Signed-off-by: Kamal Mostafa <kamal@whence.com>
Signed-off-by: Kamal Mostafa <kamal@whence.com>
Handy developer debugging aid; No functional change. Signed-off-by: Kamal Mostafa <kamal@whence.com>
Signed-off-by: Kamal Mostafa <kamal@whence.com>
…eded Allows rendering of a single static frame, i.e. just one call to olRender() instead of an olRender()-loop. Allows for olRender() of empty frames containing no objects. Signed-off-by: Kamal Mostafa <kamal@whence.com>
Improve the handling of "duplicate" frames to allow them to be used
intentionally as successive static display frames, i.e. with arbitrary
asynchronous calls to olRender() instead of an olRender()-loop.
Before this change, each duplicate/static frame included an undesirable
laser-off traversal back to the last-rendered point of the previous frame,
since that traversal gets pre-rendered into the first object. This change
fixes the undesirable traversal.
Implementation notes:
- Keep track of the first "real" point and the first "wait" point of the
first object in each frame (i.e. not including the laser-off traversal
from the previous frame's last-rendered point).
- Whenever the process() callback notes that no new frame is available and
is therefore about to re-output a "duplicate" frame, it now:
- Computes and outputs a new laser-off traversal from last output
point to the recorded first real or wait point of the frame (taking
into account whether a wait is still needed).
- Skips past (does not output) the old pre-rendered laser-off traversal.
- disables the audio-passthrough channel output for the duplicate frame.
Signed-off-by: Kamal Mostafa <kamal@whence.com>
Signed-off-by: Kamal Mostafa <kamal@whence.com>
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hershey fonts support:
http://www.whence.com/hershey-fonts
https://github.com/kamalmostafa/hershey-fonts
Note: the simplest Hershey font ("futural") traces considerably faster than the OpenLase built-in default font.
https://www.youtube.com/watch?v=8y04_yhh-ZM
Static display frames support:
http://www.youtube.com/watch?v=oo7A1fPmPiE
https://github.com/kamalmostafa/ucblogo