I need to embed sound files that will be played when an event happens (for example, 30 seconds before a countdown timer expires, and when the timer does expire)
I have the countdown timer working, and displaying the countdown correctly using the progress indicator hack (have not had time to look at the incubator replacement).
Technique 6 of
Demonstration of Different Ways to Play a Sound from a Web Page happens to work with Chrome, whereas the others do not (for me, your mileage may vary). This would seem to indicate that the savage approach (an XHTML label) would be the most direct, since at first glance Embedded does not allow adding the attributes required for this to work.
Has anyone gone down this path and shed some light on Embedding techniques (and common pitfalls ?)
Sami created an MP3 audio player component a while back (when Vaadin was still called IT Mill Toolkit). I haven’t tried it myself but perhaps you might find this stuff useful.
http://www.screencast.com/t/5GML3TY5x is the test web application. This is where you can find how to use the soundplayer jar file that is included in WEB-INF/lib directory.
I looked at the project and modifications look straight-forward (that is once you know what to do, of course ).
What did you think about the 6.2 widget packaging (and the upgrade process) in general? Did the Eclipse plugin work alright, and did you encounter any major pitfalls along the way?
Btw: I can help with the svn if you like. I don’t know if it is best to have completely separate component for this due to this 6.2 packaging? Or maybe there is a way to create a component/widget code/jar that is compatible with both versions…
The obvious way is to maintain branches in the project, along with a build process that switches from branch to branch.
Currently, there is no build.xml for creating the jar with a proper Manifest. Maybe there should be a new kind of Vaadin project for widgetsets that would supply such a build.xml and document your convention for branches.
Pushing the various jars to Maven could be part of that build.xml, but I have not had time to investigate Maven fully (I used to use Ivy).
I have to click on the .gwt.xml file to get the plugin to notice, and the process is lengthy (70 seconds or so on a clunker laptop);
The last stumbling block was the Manifest: not clear what exactly is required in there, so I simply mimicked the existing.
No build.xml to create the jar with proper Manifest.MF
The howto exists, but is deep inside other technical material by Matti. Please extract to a wiki entry.
The messages that appear in the plugin are not described: in particular the fact that the class name for the widget should appear in the list of included widgets, and may appear anywhere in that list (i.e. the inheritance order is irrelevant). Also, the fact that if “picking up xxxxxx.jar” does not appear, then the Manifest.MF file is wrong/incomplete.
When I tried to integrate with my own project, I ran into the following
Same issue regarding gwt,xml
for projects that did not include a widgetset, there needs to be guidance on how to create the gwt,xml file
I had removed the widgetset init-param in my web.xml; had to put it back.
In the last two weeks, quite a few enhancements have been made to the experimental version of the Eclipse plugin.
These include
a Vaadin Directory Package export wizard, which creates a default manifest (automatically finding widgetsets in the project if no manifest exists) and allows editing its fields
widgetset compilation and refresh related fixes and improvements
widgetset compilation settings in project properties (compilation threads, …) - using two threads on a multi-core CPU can reduce widgetset compilation time by about 30%
new widgetsets (.gwt.xml) now include instructions on how to compile one permutation (=supported browser) only - useful when debugging, as this can reduce widgetset compilation time by about 60%
A widgetset can be created by clicking on the compile widgetset button, by adding a widgetset JAR to the project or by creating widgets.
Hope these help to make the process a little smoother.