Piotr Szachewicz [Thu, 17 May 2012 10:50:01 +0000 (12:50 +0200)]
Language selection dialog isn't showed on first startup.
The user could get very upset after choosing polish from
the language selection dialog and having the GUI displayed all in
english. It is better not to show this dialog at all until we
have Svarog translated into polish.
Piotr Szachewicz [Thu, 17 May 2012 10:37:32 +0000 (12:37 +0200)]
Refactoring of the EmbeddedFileChooserFavorites.
Piotr Szachewicz [Thu, 17 May 2012 09:12:42 +0000 (11:12 +0200)]
Made the previous,next&finish buttons larger in the wizard dialog.
This makes them easier to see.
Piotr Szachewicz [Thu, 17 May 2012 08:48:02 +0000 (10:48 +0200)]
Added a JLabel next to the registerSignalMLCodecButton.
This is so that all controls in the other settings
panel look the same.
Piotr Szachewicz [Thu, 17 May 2012 08:14:12 +0000 (10:14 +0200)]
Moved the editGainAndOffsetButton to the ChannelSelectPanel.
The interface looks better and simpler like that.
Piotr Szachewicz [Tue, 15 May 2012 13:31:02 +0000 (15:31 +0200)]
Implemented presets for the first tab of openSignalDialog.
This works only for new experiments - it has no
sense for other signal source options.
Zbigniew Jędrzejewski-Szmek [Thu, 17 May 2012 10:06:07 +0000 (12:06 +0200)]
izpack: remove left-over FFT plugin description
Zbigniew Jędrzejewski-Szmek [Thu, 17 May 2012 09:54:48 +0000 (11:54 +0200)]
pom: fix relative path in izpack/pom.xml
Zbigniew Jędrzejewski-Szmek [Sun, 13 May 2012 09:52:38 +0000 (11:52 +0200)]
Print URLs for JAR files used for plugins
Zbigniew Jędrzejewski-Szmek [Sat, 12 May 2012 22:43:03 +0000 (00:43 +0200)]
Simplify constructors in PresetControlsPanel
Zbigniew Jędrzejewski-Szmek [Sat, 12 May 2012 21:44:05 +0000 (23:44 +0200)]
Merge branch 'stager'
* stager:
Fixed artifact plugin failures caused by changes in the plugin API
Fixed Artifact crashes caused by missing channels
Restored Artifact dialog message lost in i18n process
Method for accessing resources from .jar files is changed
Replaced string channel names with enum values
Removed unused field in FastMultichannelSampleSource.java
Fixed occasional crash that could occur when loading some old preset data
Fixed Artifact behaviour in cases when signal data is not read from signal document file
Cleaned up unused imports
Cleaned up unused imports
Fixed a typo in package name
Removed references to MessageSourceResolvables
Removed unused imports
Updated Stager pom file
Stager directory rebased
Replaced occurences of ViewerFileChooser with FileChooser interface
Added config file for Stager
Added Stager-specific view components (removed in
c0e1ad0101dc9237762024b565206c75a29dba2c)
Base class for preset dialogs added
Initial (dummy and unusable) UI for Stager
Added gitignore for Stager i18n resource directory
Style cleanup
Changed artifact result inheritance
Import cleanup
Code that handles working dir selection is moved to separate file
Fixed indentation
Fixed working dir selection for Stager plugin
Fixed main Stager method dialog
Fixed scoring criteria combo box in Stager method dialog
Fixed signal file box in Stager method dialog
Removed unused fields in Artifact data
Changed a label in Artifact progress dialog
Moved fast signal reader
Minor style fix
Import cleanup
Moved Stager defaults to a separate file
Changed signal reader in Stager
Reorganized Stager data
Plugged in Stager logic
Tweaked estimated number of steps in PluginComputationMgr
Added some serial ids
Stager version bumped up
Extended ExportedSignalSelection interface
Changed the result type of getSetOfTags method in ExportedTagDocument
TagStatistic should use ExportedTags and ExportedTagStyles (instead of Tags and TagStyles)
Changed SleepTagName so it uses the Exported* types
Refactored NewStagerParameters (and dependent classes)
Fixed a possible crash in PluginTagWriter
Fixed a label in Artifact method progress dialog
NewStagerTagWriter returns a newly created file
Extracted a base class for Stager step results
Extended tracker interface in PluginComputationMgr
Corrected NewArtifactResult inheritance
Result dialog in Stager should now open correctly
Fixed codec path
Threshold values in Stager config dialog are set correctly
Reworked progress bar update mechanism Progress bar for Stager plugin should be working now
Fixed defunct progress bar updater
Initial plugin defaults implementation
Fixed preset manager integration in Stager
Fixed setting defaults for advanced parameters in Stager plugin
Added default values for REM deflection threshold
stager: remove Java 7 constructs
pom: include Stager plugin in the default compilation
Reindent to HT=4 SP
Rename variable to match situation in master branch
Following fixups were applied:
FileChooser which is exported was substituted for ViewerFileChooser in various places
log4j.Logger was added in NewStagerComputationMgr
Util.getPrettyFormatString now lives in FormatUtils
Conflicts:
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/NewArtifactPlugin.java
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/data/NewArtifactApplicationData.java
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/data/mgr/NewArtifactMgrStepData.java
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/logic/algorithm/BlinkingArtifactAlgorithm.java
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/logic/algorithm/ECGArtifactAlgorithm.java
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/logic/algorithm/EyeMoveArtifactAlgorithm.java
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/logic/algorithm/NewArtifactAlgorithmBase.java
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/logic/mgr/NewArtifactComputationMgr.java
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/logic/mgr/NewArtifactMgrPreprocessStep.java
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/logic/mgr/NewArtifactMgrTagStep.java
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/method/NewArtifactMethodConfigurer.java
plugins/Artifact/src/main/java/org/signalml/plugin/newartifact/ui/NewArtifactToolConfigDialog.java
plugins/Artifact/src/main/resources/org/signalml/plugin/newartifact/resource/config.xml
plugins/PluginToolCommon/src/main/java/org/signalml/plugin/io/PluginSampleSourceAdapter.java
plugins/PluginToolCommon/src/main/java/org/signalml/plugin/method/logic/PluginComputationMgr.java
plugins/PluginToolCommon/src/main/java/org/signalml/plugin/tool/PluginResourceRepository.java
plugins/Stager/pom.xml
plugins/Stager/src/main/java/org/signalml/plugin/newstager/data/logic/NewStagerMgrData.java
plugins/Stager/src/main/java/org/signalml/plugin/newstager/data/logic/NewStagerMgrStepData.java
plugins/Stager/src/main/java/org/signalml/plugin/newstager/io/NewStagerFastBookV5AtomReader.java
plugins/Stager/src/main/java/org/signalml/plugin/newstager/io/NewStagerTagWriter.java
plugins/Stager/src/main/java/org/signalml/plugin/newstager/logic/artifact/NewStagerArtifactAnalysisAlgorithmBase.java
plugins/Stager/src/main/java/org/signalml/plugin/newstager/logic/artifact/NewStagerArtifactMontageAlgorithm.java
plugins/Stager/src/main/java/org/signalml/plugin/newstager/logic/artifact/NewStagerStatAlgorithm.java
plugins/Stager/src/main/java/org/signalml/plugin/newstager/logic/mgr/NewStagerBookProcessStep.java
plugins/Stager/src/main/java/org/signalml/plugin/newstager/logic/mgr/NewStagerSignalStatsStep.java
plugins/Stager/src/main/java/org/signalml/plugin/newstager/logic/mgr/NewStagerTagWriteStep.java
plugins/Stager/src/main/java/org/signalml/plugin/newstager/mock/NewStagerMain.java
plugins/Stager/src/org/signalml/plugin/newstager/data/NewStagerConstants.java
plugins/Stager/src/org/signalml/plugin/newstager/logic/mgr/NewStagerComputationMgr.java
svarog/src/main/java/org/signalml/app/config/ApplicationConfiguration.java
svarog/src/main/java/org/signalml/app/config/ConfigurationDefaults.java
svarog/src/main/java/org/signalml/app/document/TagDocument.java
svarog/src/main/java/org/signalml/app/view/components/dialogs/AbstractPresetDialog.java
svarog/src/main/java/org/signalml/app/view/components/dialogs/OptionPane.java
svarog/src/main/java/org/signalml/domain/tag/SleepTagName.java
svarog/src/main/java/org/signalml/domain/tag/TagComparisonResult.java
svarog/src/main/java/org/signalml/domain/tag/TagStatistic.java
svarog/src/main/java/org/signalml/plugin/export/signal/ExportedTagDocument.java
svarog/src/main/java/org/signalml/plugin/export/signal/SignalSelection.java
svarog/src/main/java/org/signalml/plugin/export/view/FileChooser.java
svarog/src/main/resources/org/signalml/app/config/signalml_defaults.properties
Zbigniew Jędrzejewski-Szmek [Sat, 12 May 2012 07:49:37 +0000 (09:49 +0200)]
Rename variable to match situation in master branch
Zbigniew Jędrzejewski-Szmek [Fri, 11 May 2012 19:05:27 +0000 (21:05 +0200)]
Reindent to HT=4 SP
Zbigniew Jędrzejewski-Szmek [Fri, 11 May 2012 16:03:57 +0000 (18:03 +0200)]
Check if JAR can be loaded before accepting plugin description
Plugin descriptions were loaded, and only then it was check if the JAR
files can be found where expected. This meant that:
- a description pointing to a non-existent JAR would override
a second description which was found later and could potentially
work
- the URL to JAR was not set, causing problems later
2012-05-11 16:58:45,536 DEBUG [org.signalml.plugin.loader.PluginLoaderHi] - Loading plugin Sleep Staging (class org.signalml.plugin.newstager.NewStagerPlugin)
2012-05-11 16:58:45,537 ERROR [org.signalml.plugin.loader.PluginLoaderHi] - Failed to load plugin Sleep Staging from null
java.lang.NullPointerException
at sun.misc.URLClassPath$3.run(URLClassPath.java:340)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath.getLoader(URLClassPath.java:337)
at sun.misc.URLClassPath.getLoader(URLClassPath.java:314)
at sun.misc.URLClassPath.getResource(URLClassPath.java:184)
at java.net.URLClassLoader$1.run(URLClassLoader.java:209)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at org.signalml.plugin.loader.PluginLoaderLo.findClass(PluginLoaderLo.java:85)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.signalml.plugin.loader.PluginLoaderHi.loadPlugin(PluginLoaderHi.java:430)
at org.signalml.plugin.loader.PluginLoaderHi.loadPlugins(PluginLoaderHi.java:411)
at org.signalml.app.SvarogApplication._run(SvarogApplication.java:421)
at org.signalml.app.SvarogApplication.run(SvarogApplication.java:303)
Zbigniew Jędrzejewski-Szmek [Fri, 11 May 2012 14:47:40 +0000 (16:47 +0200)]
Merge branch 'fix-logging-file-location'
* fix-logging-file-location:
Set svarog.home property to user configured svarog home
Extract logging initialization to a separate function
Zbigniew Jędrzejewski-Szmek [Fri, 11 May 2012 14:47:19 +0000 (16:47 +0200)]
Merge branch 'installer-artifact-problem'
* installer-artifact-problem:
Improve logging messages during plugin loading
izpack: use proper version for PluginToolCommon plugin
izpack: FFT plugin is gone
izpack: use proper version for Artifact plugin
Conflicts:
izpack/pom.xml
Zbigniew Jędrzejewski-Szmek [Wed, 9 May 2012 20:29:34 +0000 (22:29 +0200)]
Set svarog.home property to user configured svarog home
Previously it was set to the $CWD, which didn't make much sense, because the
file could be either created in random places, or the logging file would fail to
be created. In this second situation, the following was thrown:
java.io.FileNotFoundException: /usr/local/svarog/log/signalml_log.txt (No such file or directory)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:209)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:289)
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163)
at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:132)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:96)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:654)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:612)
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:509)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:415)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:441)
at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:336)
at org.springframework.util.Log4jConfigurer.initLogging(Log4jConfigurer.java:70)
at org.signalml.app.SvarogApplication._run(SvarogApplication.java:359)
at org.signalml.app.SvarogApplication.run(SvarogApplication.java:303)
at java.lang.Thread.run(Thread.java:636)
The order of some operations during initalization is modified, to first find the
proper value of $signaml.root (the profile directory chosen by the user), then
initalize logging, using $signalml.root in configuration, and then the debugging
statements are executed. This way debug messages can be properly configured
through log4j configuration.
One remaining problem which is not addressed, is two concurrent instances of
Svarog will try to use the same logfile, resulting in the loss of messages. But
this is an independent thing.
Zbigniew Jędrzejewski-Szmek [Wed, 9 May 2012 16:01:08 +0000 (18:01 +0200)]
Extract logging initialization to a separate function
Zbigniew Jędrzejewski-Szmek [Fri, 11 May 2012 14:29:36 +0000 (16:29 +0200)]
Improve logging messages during plugin loading
Zbigniew Jędrzejewski-Szmek [Fri, 11 May 2012 14:19:59 +0000 (16:19 +0200)]
izpack: use proper version for PluginToolCommon plugin
Version was changed in c7f5f72 "Version bump" 2011-08-10, but izpack/pom.xml was not updated. This
causes izpack to use an old version of PluginToolCommon.jar (either cached in a local repository or
downloaded over the network).
Zbigniew Jędrzejewski-Szmek [Thu, 10 May 2012 09:22:31 +0000 (11:22 +0200)]
izpack: FFT plugin is gone
In 72cf8dd "Substituted plugins/FFT with modules/fft-tools." 2012-05-04
FFT plugin was removed. Including it here would cause something old
to be packaged.
Zbigniew Jędrzejewski-Szmek [Thu, 10 May 2012 09:20:03 +0000 (11:20 +0200)]
izpack: use proper version for Artifact plugin
Version was changed in c7f5f72 "Version bump" 2011-08-10,
but izpack/pom.xml was not updated. This causes izpack to
use an old version of Artifact.jar (either cached in a local repository
or downloaded over the network).
Zbigniew Jędrzejewski-Szmek [Sun, 6 May 2012 09:29:05 +0000 (11:29 +0200)]
Reindent .xml files to HT=4 SP, try 2
Apparently commands used previously didn't really do a good job,
especially when xml elements had attributes on separate lines.
I also didn't notice that some files had useless BOM marks and missing
newlines-at-eof. This time those extra details should be fixed too.
Zbigniew Jędrzejewski-Szmek [Fri, 11 May 2012 11:59:02 +0000 (13:59 +0200)]
pom: include Stager plugin in the default compilation
Zbigniew Jędrzejewski-Szmek [Fri, 11 May 2012 11:54:20 +0000 (13:54 +0200)]
stager: remove Java 7 constructs
Moving to Java 7 might not be a bad idea, but right now we do not want to this,
primarily because we do not want to force everybody to upgrade their compilers.
When the move is made, this commit should be reverted.
Piotr Szachewicz [Thu, 10 May 2012 16:34:01 +0000 (18:34 +0200)]
Included the fft-tools module in Svarog/Svarog.
This fixes the problems with compiling Svarog
- Svarog had to be compiled using
'mvn package' or 'mvn install' because
otherwise there were problems with finding
the fft-tools module.
Piotr Szachewicz [Thu, 10 May 2012 16:11:49 +0000 (18:11 +0200)]
Merge branch 'openbci_new_experiments'
Piotr Szachewicz [Thu, 10 May 2012 16:03:03 +0000 (18:03 +0200)]
Experiments have colors in the ChooseExperimentTable.
Running experiments have green background,
new experiments - beige, and selected - orange.
Piotr Szachewicz [Thu, 10 May 2012 14:55:26 +0000 (16:55 +0200)]
Shows a 'please wait' dialog while waiting for the first sample.
There is no timeout limit when receiving the first sample
(due to the time openBCI needs to start a new experiment),
so there's a need for some feedback to the user on what
is happening.
Piotr Szachewicz [Thu, 10 May 2012 12:09:22 +0000 (14:09 +0200)]
Removed the "peer_params_values" request.
This was sent to wait for the new experiment
to fully launch before starting to receive
samples from multiplexer (so that no socket
timeout happens because of trying to receive
samples from not fully started multiplexer).
It is obsolete because MonitorWorker
waits for the first sample with infinite timeout.
Konrad Durnoga [Wed, 9 May 2012 12:53:54 +0000 (14:53 +0200)]
Added default values for REM deflection threshold
Konrad Durnoga [Wed, 9 May 2012 12:42:16 +0000 (14:42 +0200)]
Fixed setting defaults for advanced parameters in Stager plugin
Konrad Durnoga [Tue, 8 May 2012 23:04:58 +0000 (01:04 +0200)]
Fixed preset manager integration in Stager
Konrad Durnoga [Tue, 8 May 2012 22:52:52 +0000 (00:52 +0200)]
Initial plugin defaults implementation
Piotr Szachewicz [Tue, 8 May 2012 12:49:52 +0000 (14:49 +0200)]
Amplifier type is displayed in the available experiments list.
Added a column in the choose experiment table, displaying
whether the amplifier is virtual/bluetooth or usb.
Does not work with "Running" experiments yet because
this information is not sent in the messages received
from openBCI.
Piotr Szachewicz [Tue, 8 May 2012 12:07:01 +0000 (14:07 +0200)]
Reorganized the openBCI connection exceptions mechanism.
Introduced OpenbciCommunicationException class which holds
information about exception that happened while trying
to communicate with openBCI. Helper does not handle any
exceptions, it throws them and they are handled in
appropriate workers in the done() method. This makes
error handling much easier.
Piotr Szachewicz [Tue, 8 May 2012 10:45:22 +0000 (12:45 +0200)]
Replace the MacOS mp5 binary with a working version.
Previously added mp5 binary did not work
(neither in Svarog, nor in command line)
- there was a "Bus error".
mp_engine: 55c7b2d 'Add --enable-static autoconf flag' 2012-04-03
Piotr Szachewicz [Mon, 7 May 2012 19:55:24 +0000 (21:55 +0200)]
New experiments have names = "Svarog online - " + amplifierName.
These names are sent to openBCI while starting a new
experiment.
Piotr Szachewicz [Mon, 7 May 2012 19:29:32 +0000 (21:29 +0200)]
Messages in the connection log if message parsing has failed.
Previously badly parsed messages were ignored and the user
knew nothing about it, now there's an error message shown
in the connection log text box.
Piotr Szachewicz [Mon, 7 May 2012 10:14:48 +0000 (12:14 +0200)]
FindEEGExperimentsWorker request for amplifiers in the order: virtual, usb, bt.
This is because the information about virtual and usb
amplifiers is received much faster than about the
bluetooth amplifiers.
Piotr Szachewicz [Mon, 7 May 2012 09:29:08 +0000 (11:29 +0200)]
Fixed the way window types are displayed in the FFTSignalTool.
Previously it was: fft.windowType.RECTANGULAR
now it is: RECTANGULAR.
Piotr Szachewicz [Mon, 7 May 2012 09:15:27 +0000 (11:15 +0200)]
Changed the default FFTSignalTool display properties.
- X axis labels are visible
- 16 ticks on X axis are labeled by default
- Y axis is logarithmic
- Y axis is fitted to the FFT values range
- values in the X-axis labels count are validated
This will help to display the FFT in a more legible way
by default. This fixes trac ticket #5.
Piotr Szachewicz [Mon, 7 May 2012 08:17:59 +0000 (10:17 +0200)]
AmplifierNullDiagnosis uses the idle field.
The idle field contains the signal value that is transmitted
through the EEG channel if the electrode is not connected.
It is different from the amplifier_null field, which was
used before, because this field is defined for each channel
separately.
Piotr Szachewicz [Mon, 7 May 2012 07:42:54 +0000 (09:42 +0200)]
Refactoring of experiment's JSonReaders.
There was very similar code in both
FindEEGAmplifiersResponseJSonReader and
FindEEGExperimentsResponseJSonReader which
was extracted to AbstractResponseJSonReader
super-class.
Piotr Szachewicz [Sat, 5 May 2012 18:31:20 +0000 (20:31 +0200)]
Merge branch 'fft_as_a_module'
Piotr Szachewicz [Sat, 5 May 2012 18:26:29 +0000 (20:26 +0200)]
Reused SignalMLAssert between Svarog and fft-tools module.
This class was duplicated because it was needed
in both projects - now its single agains.
Piotr Szachewicz [Sat, 5 May 2012 17:59:13 +0000 (19:59 +0200)]
While connecting to a new experiment, waits for it to fully start.
1. While connecting to a new experiment, the ConnectToExperimentWorker
ask the experiment for its amplifier parameters. If, as a response,
it receives a list with properly filled parameters, it assumes the
experiments has been correctly started.
2. The MonitorWorker waits for the first sample with infinite
timeout. This gives openBCI some time to fully start the multiplexer
before Svarog can receive samples.
These fixes are due to the longer startup time of the new openBCI
EEG amplifier drivers.
Konrad Durnoga [Sat, 5 May 2012 18:00:16 +0000 (20:00 +0200)]
Fixed defunct progress bar updater
Konrad Durnoga [Sat, 5 May 2012 17:56:27 +0000 (19:56 +0200)]
Reworked progress bar update mechanism
Progress bar for Stager plugin should be working now
Zbigniew Jędrzejewski-Szmek [Fri, 4 May 2012 17:22:35 +0000 (19:22 +0200)]
Set executable bit on linux mp5 binary
Zbigniew Jędrzejewski-Szmek [Fri, 4 May 2012 11:37:45 +0000 (13:37 +0200)]
Replace linux mp5 binary with different version
This one is compiled by jenkins from the same sources, but not stripped.
Previous one segfaults if non-Dirac atoms are used. Unfortunately it was stripped so it is hard to
debug. Recompiled binary works, so let's replace it.
mp_engine: 55c7b2d 'Add --enable-static autoconf flag' 2012-04-03
Karol Augustin [Fri, 4 May 2012 11:30:48 +0000 (13:30 +0200)]
Add mp5 amd64 linux binary from commit 8a0c50d
Benchmark on 20 seconds one channel EEG signal:
32 bit:
real 0m38.166s
user 0m37.366s
sys 0m0.608s
64 bit:
real 0m19.706s
user 0m18.957s
sys 0m0.688s
mp_engine: 55c7b2d 'Add --enable-static autoconf flag' 2012-04-03
Piotr Szachewicz [Fri, 4 May 2012 11:18:50 +0000 (13:18 +0200)]
Substituted plugins/FFT with modules/fft-tools.
The plugins/FFT is now deleted and every FFT
calculation is performed by the modules/fft-tools
classes. This solves the FourierTransform and
related classes code duplication issue.
Piotr Szachewicz [Fri, 4 May 2012 09:04:55 +0000 (11:04 +0200)]
Moved org.signalml.math.fft to a new Maven module.
This code is used both in Svarog and the FFTSignalTool
(the code is duplicated - also plugins/FFT
contains a copy of these classes...).
This commit is a step towards fixing this replication.
Piotr Szachewicz [Fri, 4 May 2012 07:24:16 +0000 (09:24 +0200)]
Calibration offset was not saved while exporting signal.
This bug was introduced in
9fdff9d9d9c0a401085a05079b3fa5fee637fd56
refactorizations - calibration offset was not saved
to the signal descriptor XML file and because of that
the exported signal cannot be opened
(there was a NullPointerException while accessing the
calibration offset values for the signal).
Piotr Szachewicz [Wed, 2 May 2012 19:15:17 +0000 (21:15 +0200)]
If the Y axis scale is logarithmic its min cannot be set to 0.
0 is not a valid value on a logarithmic scale - setting such
value caused Java heap space exception while drawing the FFT plot.
Mateusz Kruszyński [Wed, 2 May 2012 14:34:03 +0000 (16:34 +0200)]
Special channel names handling fix.
Special amplifier channels: Saw, Driver_Saw, trig, onoff, bat.
Piotr Szachewicz [Thu, 26 Apr 2012 13:48:51 +0000 (15:48 +0200)]
Fixed missing import caused by the previous commit.
Piotr Szachewicz [Thu, 26 Apr 2012 13:39:53 +0000 (15:39 +0200)]
Shortened the message in the profile path selection dialog.
The former message was too long and complicated,
probably no one has ever read it ;). Trac ticket #59.
Piotr Szachewicz [Thu, 26 Apr 2012 13:11:04 +0000 (15:11 +0200)]
Changed Helper.DEFAULT_RECEIVE_TIMEOUT to 10 seconds.
Piotr Szachewicz [Thu, 26 Apr 2012 11:47:28 +0000 (13:47 +0200)]
Merge branch 'master' into openbci_new_experiments
Piotr Szachewicz [Thu, 26 Apr 2012 11:44:59 +0000 (13:44 +0200)]
ConnectingToExperimentWorker moved to OpenSignalWizardDialog.
This allows not closing the OpenSignalWizardDialog if
connecting to an experiment has failed.
Piotr Szachewicz [Thu, 26 Apr 2012 09:57:51 +0000 (11:57 +0200)]
Added a JTextArea for logging and a cancel button to the ChooseExperimentsPanel.
Requesting new experiments is performed step by step:
1. request running experiments.
2. request virtual amplifier 'ready to start' experiments
3. request bluetooth amplifiers 'ready to start' experiments
4. request USB amplifier 'ready to start' experiments.
Receive timeout is set to infinity so that there would be
no problems with too short timeouts. If the user waits too
long, he can always press the Cancel button.
Piotr Szachewicz [Wed, 25 Apr 2012 21:34:16 +0000 (23:34 +0200)]
Changed the 'eeg_experiments' message to match openBCI changes.
Piotr Szachewicz [Wed, 25 Apr 2012 20:24:15 +0000 (22:24 +0200)]
Changed the 'eeg_amplifiers' response to match the openBCI changes.
The format of this message has changed in openBCI.
Zbigniew Jędrzejewski-Szmek [Wed, 25 Apr 2012 09:47:50 +0000 (11:47 +0200)]
pom: do not build installer by default
This effectively reverts 5a16050 'Revert "Do not build installer by
default"' 2012-04-07. There seems to be a bug in jenkins, which causes
the build to fail in izpack submodule. So let's remove izpack from the
default build, again.
Relevant part seems to be:
[INFO] ------------------------------------------------------------------------
[INFO] Building svarog-installer
[INFO] task-segment: [package]
...
[INFO] [surefire:test {execution: default-test}]
[INFO] Tests are skipped.
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: /var/lib/jenkins/workspace/svarog-installer/izpack/target/svarog-installer-0.5.0-SNAPSHOT.jar
[INFO] [izpack:izpack {execution: default}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /var/lib/jenkins/workspace/svarog-installer/izpack/src/izpack
Warning: CustomAction jar file not found: /var/lib/jenkins/workspace/svarog-installer/izpack/bin/customActions/Uninstaller.jar
[JENKINS] Archiving /var/lib/jenkins/workspace/svarog-installer/izpack/pom.xml to /var/lib/jenkins/jobs/svarog-installer/modules/org.signalml$svarog-installer/builds/2012-04-25_10-57-16/archive/org.signalml/svarog-installer/0.5.0-SNAPSHOT/svarog-installer-0.5.0-SNAPSHOT.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/svarog-installer/izpack/target/svarog-installer-0.5.0-SNAPSHOT.jar to /var/lib/jenkins/jobs/svarog-installer/modules/org.signalml$svarog-installer/builds/2012-04-25_10-57-16/archive/org.signalml/svarog-installer/0.5.0-SNAPSHOT/svarog-installer-0.5.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] IzPack compilation ERROR
Embedded error: /var/lib/jenkins/workspace/svarog-installer/izpack/install.xml:73: /var/lib/jenkins/workspace/svarog-installer/izpack/svarog.jar
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: IzPack compilation ERROR
...
Caused by: com.izforge.izpack.compiler.CompilerException: /var/lib/jenkins/workspace/svarog-installer/izpack/install.xml:73: /var/lib/jenkins/workspace/svarog-installer/izpack/svarog.jar
at com.izforge.izpack.compiler.CompilerConfig.parseError(Unknown Source)
at com.izforge.izpack.compiler.CompilerConfig.addPacksSingle(Unknown Source)
at com.izforge.izpack.compiler.CompilerConfig.addPacks(Unknown Source)
at com.izforge.izpack.compiler.CompilerConfig.executeCompiler(Unknown Source)
at org.izpack.mojo.IzPackMojo.buildInstaller(IzPackMojo.java:247)
... 32 more
Caused by: java.io.FileNotFoundException: /var/lib/jenkins/workspace/svarog-installer/izpack/svarog.jar
at com.izforge.izpack.compiler.PackInfo.addFile(Unknown Source)
at com.izforge.izpack.compiler.CompilerConfig.addRecursively(Unknown Source)
... 36 more
In a healthy build (same machine, but not through jenkins):
[INFO] [surefire:test {execution: default-test}]
[INFO] Tests are skipped.
[INFO] [dependency:copy {execution: copy}]
[INFO] Configured Artifact: org.signalml:svarog:onejar:0.5.0-SNAPSHOT:jar
[INFO] Configured Artifact: org.signalml.plugin:FFT:0.1:jar
[INFO] Configured Artifact: org.signalml.plugin:FFTSignalTool:0.1:jar
[INFO] Configured Artifact: org.signalml.plugin:PluginToolCommon:0.1:jar
[INFO] Configured Artifact: org.signalml.plugin:Artifact:0.1:jar
[INFO] Copying svarog-0.5.0-SNAPSHOT-onejar.jar to /var/data/jenkins/workspace/svarog-installer/izpack/svarog.jar
[INFO] Copying FFT-0.1.jar to /var/data/jenkins/workspace/svarog-installer/izpack/plugins/FFT.jar
[INFO] Copying FFTSignalTool-0.1.jar to /var/data/jenkins/workspace/svarog-installer/izpack/plugins/FFTSignalTool.jar
[INFO] Copying PluginToolCommon-0.1.jar to /var/data/jenkins/workspace/svarog-installer/izpack/plugins/PluginToolCommon.jar
[INFO] Copying Artifact-0.1.jar to /var/data/jenkins/workspace/svarog-installer/izpack/plugins/Artifact.jar
[INFO] [jar:jar {execution: default}]
[INFO] [jar:jar {execution: default-jar}]
So the copy phase is skipped.
The izpack module is configured in a "profile", so the installer can
still be built together with the rest of Svarog:
mvn -P installer ... package
but not by default.
Mateusz Kruszyński [Tue, 24 Apr 2012 21:12:09 +0000 (23:12 +0200)]
AutoScale-Y-ToView parameter for fft tool
Piotr Szachewicz [Mon, 23 Apr 2012 17:43:12 +0000 (19:43 +0200)]
Changed timeouts for openBCI-Svarog communication to 10s.
The previous timeout, which was 5 seconds, was sometimes
exceeded due to slow communication with Bluetooth
devices.
Piotr Szachewicz [Sun, 22 Apr 2012 16:39:18 +0000 (18:39 +0200)]
New openBCI experiments launching implemented.
OpenBCI experiments can be now started using
Svarog - after pressing the refresh button
in the OpenSignalWizard it asks the openBCI
for available experiments that can be started.
Mateusz Kruszyński [Sun, 15 Apr 2012 21:30:17 +0000 (23:30 +0200)]
Small code consistency enhancement
If an attribute is of Array type lets initialize it to an empty array
so that no matter when Array type is returned, not None, as other code
might assume that type (as it happened in EmbeddedFileChooserFavorites)
Zbigniew Jędrzejewski-Szmek [Fri, 13 Apr 2012 02:57:44 +0000 (04:57 +0200)]
Reindent .xml files to HT=4 SP
Done with:
dos2unix $(git ls-files \*.xml)
sed -i -r 's/\s+$//' $(git ls-files \*.xml)
sed -i -r 's/\t/ /g' $(git ls-files \*.xml)
XML files tend to have many level, so indenting them 8 spaces was a real PITA.
Zbigniew Jędrzejewski-Szmek [Fri, 13 Apr 2012 02:25:18 +0000 (04:25 +0200)]
Reindent java files to 4 spaces per tab
Done with:
astyle -n --lineend=linux -T4 -HU $(git ls-files \*.java)
Includes changes to .dir-locals.el.
Zbigniew Jędrzejewski-Szmek [Fri, 13 Apr 2012 02:02:55 +0000 (04:02 +0200)]
Merge branch 'open-wizard-fixes'
* open-wizard-fixes:
favorites: pull new directory to front of list
favorites: add directory to favorites when the file is really opened
Add loggers in various places to make debbuging easier
open wizard: whitespace cleanup
favorites: modify layout to not stretch components
favorites: simplify layout by removing redundant nested containers
favorites: use a boolean to keep a flag
favorites: reindent EmbeddedFileChooserFavorites before editing
Zbigniew Jędrzejewski-Szmek [Fri, 13 Apr 2012 01:58:43 +0000 (03:58 +0200)]
favorites: pull new directory to front of list
Two changes in the behaviour of the list of recently used directories
are made:
- each dir is only kept in the list once
- each dir is moved to the head of the list when used
It would be nice to make the applicationConfiguration.getLastDirs()/setLastDirs()
just use a modifable Collection, which would make the implementations much
simpler and remove the need for array manipulation, but this is subject for
another commit.
Zbigniew Jędrzejewski-Szmek [Fri, 13 Apr 2012 01:21:42 +0000 (03:21 +0200)]
favorites: add directory to favorites when the file is really opened
After the dialog was refactored to new form, favorites list stopped being filled
in. Unfortunately now the time when the file is selected and the time when it
is okeyed by the user - the time when "Finish" is clicked - are quite distant.
Nevertheless, we want to actually only add the dir to history when we actually
open the file, i.e. only when "Finish" is clicked.
To achieve this, onDialogCloseWithOK is forwarded through different levels.
Zbigniew Jędrzejewski-Szmek [Fri, 13 Apr 2012 01:17:26 +0000 (03:17 +0200)]
Add loggers in various places to make debbuging easier
Zbigniew Jędrzejewski-Szmek [Thu, 12 Apr 2012 01:23:33 +0000 (03:23 +0200)]
open wizard: whitespace cleanup
Zbigniew Jędrzejewski-Szmek [Thu, 12 Apr 2012 01:04:12 +0000 (03:04 +0200)]
favorites: modify layout to not stretch components
If favorites are stretched, nothing useful happens, but the
components looks bad. To avoid this, keep everything flush
top.
Zbigniew Jędrzejewski-Szmek [Thu, 12 Apr 2012 00:01:51 +0000 (02:01 +0200)]
favorites: simplify layout by removing redundant nested containers
The layout is approximately the same, except that in some places
less padding is used.
Zbigniew Jędrzejewski-Szmek [Wed, 11 Apr 2012 20:32:54 +0000 (22:32 +0200)]
favorites: use a boolean to keep a flag
Zbigniew Jędrzejewski-Szmek [Wed, 11 Apr 2012 19:01:07 +0000 (21:01 +0200)]
favorites: reindent EmbeddedFileChooserFavorites before editing
Zbigniew Jędrzejewski-Szmek [Fri, 13 Apr 2012 00:00:52 +0000 (02:00 +0200)]
Allow log4j to be configured with commandline options
This is useful to turn some aspect of logging on or off without modifying
any configuration files.
E.g.:
mvn -pl svarog process-resources compile exec:java -Dlog4j.logger.org.signalml.app.view=DEBUG
will run svarog with full debug output from the org.signalml.app.view hierarchy.
N.B.:
-Dlog4j.debug=true turns on log4j configuration debugging, which is handy to see what
and where is configured in the log4j department.
Piotr Szachewicz [Thu, 12 Apr 2012 11:01:08 +0000 (13:01 +0200)]
Resets the selected file when directory changes in the OpenSignalDialog.
Previously, if the user selected a file and then changed
the active directory, the metadata connected with the
previously selected file was reloaded - this resulted
in showing error messages twice if there was an error
while loading metadata (first - when user selects the file,
and then after the user changes the directory).
Piotr Szachewicz [Thu, 12 Apr 2012 10:37:53 +0000 (12:37 +0200)]
NUMBER_OF_CHANNELS is fired whenever openSignalDescriptor changes.
Previously it was fired only when the channel count spinner
changed. This - in very specific situations - lead to
NullPointerException errors.
Zbigniew Jędrzejewski-Szmek [Wed, 11 Apr 2012 18:08:44 +0000 (20:08 +0200)]
Merge branch 'new_openbci_protocol'
By Piotr Szachewicz (106) and others
* new_openbci_protocol: (110 commits)
Removed the NetworkUtils class.
Reorganized the 'other settings' panel.
Removed the 'Manage SignalML codecs' dialog.
Added a combo box for manual selection of file type.
Made radio buttons larger in the Preferences/Signal zooming.
Removed the dynamic compilation warning.
Removed empty labels from the file chooser's favourites.
Moved edit gain button to the other settings panel.
Added a new version of MP5 binary for Mac OS.
Fixed creating SignalProcessingChainDescriptor for SignalML signals.
Some fields were not set while creating a SignalProcessingChainDescriptor.
Removed the period density control from the MP5 dialog.
Closes a socket connection after a request was made.
Openbci address can be set in the preferences dialog.
Refactored AbstractPresetDialog to use PresetControlsPanel.
Added presets to the SignalMontagePanel in the open signal wizard.
Used SignalMontagePanel in the SignalMontageDialog.
Removed the RAW signalML codec.
Removed jzmq dependence from pom.xml file.
Substituted ZMQ with TCP sockets in (dis)connecting to an experiment.
...
Conflicts:
izpack/mac/mp5
pom.xml
Piotr Szachewicz [Wed, 11 Apr 2012 17:02:10 +0000 (19:02 +0200)]
Removed the NetworkUtils class.
It was used when Svarog used ZeroMQ for communicating
with openBCI - now it is obsolete.
Piotr Szachewicz [Wed, 11 Apr 2012 16:42:10 +0000 (18:42 +0200)]
Reorganized the 'other settings' panel.
Buttons are put under the combo boxes
and are without labels next to them.
Piotr Szachewicz [Wed, 11 Apr 2012 16:26:28 +0000 (18:26 +0200)]
Removed the 'Manage SignalML codecs' dialog.
Codecs can be registered directly after pressing
the "Register SignalML codec" button. There's no
need for another dialog because, the list of
registered codecs is available in the file type
combo box.
Piotr Szachewicz [Wed, 11 Apr 2012 16:08:39 +0000 (18:08 +0200)]
Added a combo box for manual selection of file type.
File type loading method can be: AUTODETECTED, RAW or using
a SignalML codec. The value selected in this combo box
determines which method will be used to load the selected
signal file. If the AUTODETECT value is selected, then Svarog
tries to determine the file type automatically based on
the file extension.
Zbigniew Jędrzejewski-Szmek [Wed, 11 Apr 2012 08:06:29 +0000 (10:06 +0200)]
Update mac mp5 binary to static version
Like windows and linux versions, this is mp5 from commit
mp_engine: 55c7b2d 'Add --enable-static autoconf flag' 2012-04-03
Note: 'otool -L mp5' show the list of dynamically linked libraries.
In this case:
/usr/lib/libSystem.B.dylib (...)
Piotr Szachewicz [Tue, 10 Apr 2012 19:10:04 +0000 (21:10 +0200)]
Made radio buttons larger in the Preferences/Signal zooming.
The amount of space reserved for the radio buttons was too
small - on MacOS the labels next to the radio buttons
were displayed as '...' (on other systems it was OK).
Piotr Szachewicz [Tue, 10 Apr 2012 17:19:58 +0000 (19:19 +0200)]
Removed the dynamic compilation warning.
This was the most annoying message in Svarog...
What is more it started to introduce problems
- there were thread-related issues while selecting
SignalML files from the Signal Source file chooser
(Svarog would freeze after selecting a file).
Piotr Szachewicz [Tue, 10 Apr 2012 09:03:46 +0000 (11:03 +0200)]
Removed empty labels from the file chooser's favourites.
Those were used to force additional space between components,
they were removed in order to make the favourites panel
smaller (it was too big to fit on smaller screens).
Piotr Szachewicz [Tue, 10 Apr 2012 08:56:48 +0000 (10:56 +0200)]
Moved edit gain button to the other settings panel.
The left column of the open signal dialog was containing
too many elements.
Zbigniew Jędrzejewski-Szmek [Sat, 7 Apr 2012 13:43:43 +0000 (15:43 +0200)]
izpack: make linux svarog launcher script work
The installation layout is horrible, far from normal linux
conventions. Nevertheless, the script is installed alongside
the jar file, and should look for it in the same directory
that the script ($0) is located, not the current directory.
Also use 'exec' to destory the shell before launching java.
Also drop the redirects - I don't see any reason why we would
want to squelch messages from svarog this way. Especially
error messages.
Zbigniew Jędrzejewski-Szmek [Sat, 7 Apr 2012 13:32:49 +0000 (15:32 +0200)]
Use a 32-bit mp5 linux binary
32-bit version should work on more systems than the 64-bit one. Since
the binary is statically linked, libraries do not matter and this one
should run on amd64 without any problem.
Zbigniew Jędrzejewski-Szmek [Sat, 7 Apr 2012 12:52:44 +0000 (14:52 +0200)]
Set executable bit on mac mp5 binary
Pawel Kordowski [Sat, 7 Apr 2012 12:47:09 +0000 (14:47 +0200)]
Ticket 168 resolved - power axis scaling settings avalible
Earlier recomputing FFT change power axis range.
Radio buttons to choose if power axis should be fixed or adjust to signal's fft values added to FFTSettingDialog.
Power range start, end and decision about autoscaling is saved in XML written by plugin.
Piotr Szachewicz [Sat, 7 Apr 2012 12:01:53 +0000 (14:01 +0200)]
Added a new version of MP5 binary for Mac OS.
Zbigniew Jędrzejewski-Szmek [Sat, 7 Apr 2012 10:19:52 +0000 (12:19 +0200)]
De-configure assembly plugin
It used to build a ZIP of source and a ZIP of compilation results
including libraries, but everybody seems to be using onejar anyway,
so this plugin just wastes compilation time.