Presumably due to the change in how pen strokes were saved to file (commit
8ed2e24), pen strokes with pressure levels were badly saved. They were
converted to lines instead of polygons, meaning that every time a page
was saved or duplicated, the lines would look worse and worse -- and
artefacts would appear.
This should now be fixed.
- Linked necessary Windows SDK libraries
- Solved compilation errors upon including `wmsdk.h` or other Windows
SDK headers (`interface` keyword wasn't recognized)
Page DPI is now saved as the DPI that was read when opening the file.
While not a perfectly fool-proof fix, it will at least allow files to be
migrated between OB 1.02 and 1.10.
Previously, duplication did not copy the transformation matrices of group
members correctly. This made grouped objects move away when saving and
re-opening a document.
This should now be fixed.
- Added an overload for setMatrix in UBGraphicsMediaItem, to propagate
matrix changes to the child videoItem
- Upon loading a video, the child videoItem is now added correctly, and
set to the right position
Simply added copying of zValue to the deep copy functions. As tested on
OSX, this does pose any problems when duplicating an item on-page (i.e
generating a new item with a zValue equal to its original).
The lines removed in this commit led to (presumably) unintended
behavior: when saving a document, pen strokes were saved not as a group,
but just as their constituent polygons.
This meant that the following block of code, that handles saving pen
strokes correctly, was never executed.
This doesn't fix the z-Value issue (#12), but it seems to be a step in the right
direction.
- Corrected and cleaned up rotation calculation
- Fixed button position/size issues (clickable area didn't correspond to the button image)
- Fixed tool flashing during resizing
- (new feature) Buttons now scale proportionally to the protractor when it is resized
- Everything is now drawn by default at a scale of 1 instead of 1.5
- Pen width set to 0 (i.e always 1 pixel thick regardless of zoom), to keep the old look & feel
- Scaled the marker tool image (.svg) to look like it did before without scaling it in code
- Removed debug messages
Tested on OS X, works fine.
Caused by one occurence of "uniboardtool" having been replaced by
"OpenboardTool" instead of "openboardtool".
For consistency's sake, this was changed to openboardtool, but these URL
/ application name changes require a clean-up (all occurences of
"uniboardtool" are commented out; these should either be removed, or the
changes reverted)
The project didn't compile on Windows.. list of modifications:
- Added essential changes that hadn't been committed / pushed (Qt4->Qt5
changes; other misc. changes by Abdel)
- Temporarily disabled podcasts, as the modules don't compile with Qt5.2/
5.5
Currently, the application compiles on Windows, with MSVC2010 32-bit
QVideoWidget had to be abandoned in favour of QGraphicsVideoItem. This
is because UBGraphicsMediaItem, i.e the class representing a media
(audio or video) object on the board, is a QGraphicsProxyWidget, and is
used to embed a QWidget into the Scene.
With Phonon's video widget, it was possible to embed the video widget in
this ProxyWidget. This is no longer possible (except on Windows, for
some reason), so this commit is a workaround, to use a
QGraphicsVideoItem instead of a QVideoWidget while modifying the rest
of the class hierarchy as little as possible.
Ultimately, a cleaner solution (not making UBGraphicsMediaItem inherit
QGraphicsProxyWidget, for example) may be desirable.
The threading logic was changed somewhat. UBQuickTimeFile's run()
function no longer handles enqueuing the video/audio samples in a while
loop. Instead, it runs once, and uses Apple's Dispatch Queues to handle
enqueuing samples.
One dispatch queue was thus added for each input to the AssetWriter.
Each input is associated to one queue, and the requestMediaDataWhenReady
function insures that the inputs go and fetch any available samples when
they are able to write them.
As tested (for short podcasts, repeatedly), this solves all the problems
encountered earlier, such as the program hanging due to one input not
being ready, or corrupt files due (presumably) to missing samples.