Progress this week:
API Changes:
1. Added the CharacterSet convenience class for creating sorted lists of
character codes for generating font definitions.
2. Added a new method to the SoundDecoder interface to specify the
number of frames when generating a streaming sound. This should be
useful when adding soundtrack to Movies where the soundtrack is longer
than the movie and so avoids having to read the entire sound before
generating the necessary objects.
3. Moved the methods in Place2.Builder and Place3.Builder back to being
static methods on the parent class since the Builder classes were not
full Builders and using as static methods is easier.
4. Added convenience methods to Bounds to generate a new bounds
increased by a padding amount.
Code Changes:
1. Added character encoding to Context to simplify SWFEncodable
interface and simplify unit test classes.
2. Added TrueTypeGlyph to support decoding glyph information from
TrueType fonts.
Testing:
1. Acceptance tests for the sound decoder classes for playing MP3 files
as streaming sounds are passing.
2. Acceptance tests for generating fonts displaying text using
AWTDecoder and TTFDecoder now pass.
3. Acceptance tests for displaying PNG images using
BufferedImageDecoder now pass but with a few issues with colour.
4. Added a test reports to quickly allow the results from the
integration tests.
5. Reogranised tests and test resources to allow failsafe plugin to run
integration tests and provide better integration with Maven.
Documentation:
1. Cleaned up most of the javadoc problems reported by CheckStyle -
leaving only undocumented methods and fields to add.
Planned for next week:
More debugging and a decision on whether to have an alpha release of the
code.
Overall Progress:
Transform now fully supports Flash 10.
Now passing tests to decode, encode and copy 300 real-world Flash 8 and
Flash 9 files.
AWTDecoder is able to render text using Java AWT Fonts.
TTFDecoder is able to render text using TrueType Fonts.
BMPDecoder is passing all acceptance tests for Window BMP images.
JPGDecoder is passing all acceptance tests for JPEG images.
PNGDecoder is passing all acceptance tests for JPEG images.
BufferedImageDecoder is mostly passing acceptance tests for PNGimages.
WAVDecoder is passing tests for generating event and streaming sounds.
MP3Decoder is passing tests for generating event and streaming sounds.
Canvas is passing tests for drawing shapes.
Open Tickets:
#30 - Upgrade coder classes to support streams directly.
#43 - Sound decoders do not report incorrect sample rates.
#49 - Add Event which merges (and replaces) MovieClipEvent and ButtonEvent.
#125 - Add support for decoding files with hidden actionscript.
#121 - Update Maven assembly to generate jars for sources and docs.
#122 - Register and deploy to a central Maven repository.
#126 - Group reads and write of bit fields into byte accesses.
General Tasks Still ToDo:
Assess test coverage.
Fix problems reported by PMD.
Complete suite of Unit Tests.
Remove all the magic numbers reported by CheckStyle
Add javadoc comments for all methods and fields.
Review the javadoc comments.
|