Starting with tag: [TAG 0.7.0.1 synthesizer@henning-thielemann.de**20150406215200 Ignore-this: c91cb4edcd553d4bda5cfaf42089627a ] [bump version to 0.7.1 synthesizer@henning-thielemann.de**20150406215218 Ignore-this: 5dd0be6ee5f8e125eee560e3f9bfdea9 ] [add LANGUAGE pragmas for non-written types as required by GHC-7.10 synthesizer@henning-thielemann.de**20150406215446 Ignore-this: 5d45a70ebc34eeeef93d92f7245301be Test.Synthesizer.LLVM.Helix.staticDynamic: TypeFamilies changes Monomorphism restriction, thus we need to add a type signature to local definition of 'noise' ] [Cabal: allow packages 'filepath' and 'random' of GHC-7.10 synthesizer@henning-thielemann.de**20150406215740 Ignore-this: deb5812f57951e6a0f49282cc1347d20 ] [Causal.Process, CausalParameterized.ProcessPrivate: adapt to separated ProcessOf type function of synthesizer-core-0.8 as required by GHC-7.10 synthesizer@henning-thielemann.de**20150406215847 Ignore-this: 71b0e05e33590497cb7075496f8bee2c ] [CausalParameterized.Functional.withId: replaces withArgsStart and makeGuidedArgsStart synthesizer@henning-thielemann.de**20151126132634 Ignore-this: 70494b3e723c6197ced34bda46058586 ] [CausalParameterized.Functional.makePreparedArgs: Haskell 98 counterpart to makeGuidedArgs synthesizer@henning-thielemann.de**20151126133123 Ignore-this: dcf4c34a3bf7c6c4a81e2d1c19864f8 ] [CausalParameterized.Functional: improve line breaks synthesizer@henning-thielemann.de**20151126153742 Ignore-this: a5fdb20856d844e20cb41b24df9bb397 ] [vault: move from 0.2 to 0.3 synthesizer@henning-thielemann.de**20151126154230 Ignore-this: b9f5a2ffa3f800d7cdad0de535c99b24 ] [Cabal: remove version bounds for 'random' package in executables synthesizer@henning-thielemann.de**20151126154853 Ignore-this: 720db2e190f8e141ef7068e1588e7eb3 ] [Cabal: allow non-empty-0.3 synthesizer@henning-thielemann.de**20151126155025 Ignore-this: de9b71ede26333a22d59670f51e16903 ] [Cabal.Executables: remove dependency on filepath synthesizer@henning-thielemann.de**20151228113316 Ignore-this: f1a74ec4490294bc5200bc07c2211ea3 ] [synthi-llvm-jack: switch from GetOpt to optparse-applicative synthesizer@henning-thielemann.de**20151228115536 Ignore-this: 484d70744c508042c2c9d6c1949537e6 ] [synthi-llvm-render: switch from GetOpt to optparse-applicative synthesizer@henning-thielemann.de**20151230075204 Ignore-this: e89ba27377cd0b5144214b8dcca0bd03 Server.OptionCommon: common options for synthi-llvm-jack, synthi-llvm-render, and synthi-llvm-alsa (future) ] [synthi-llvm-alsa: switch from GetOpt to optparse-applicative synthesizer@henning-thielemann.de**20151230082448 Ignore-this: cb4adc45c071330f188c1d1e6d0e612a ] [Server.Default: extracted from Server.OptionCommon synthesizer@henning-thielemann.de**20151230143513 Ignore-this: 4642cbde8f0fece459b05c09c18a5bf8 ] [SpeechExplore.tmpWave, phonemeWave, maskWave: path construction functions synthesizer@henning-thielemann.de**20151230165234 Ignore-this: 19921471648a468a24586b8de46f6d31 They shall assert consistency between paths. ] [SpeechExplore.loadPhoneme synthesizer@henning-thielemann.de**20151230165413 Ignore-this: e203e348af911e3f4dc73f2e2a73384 ] [SpeechExplore.testTransfer, transferMasks: apply 'transfer' with (<$>) synthesizer@henning-thielemann.de**20151230165613 Ignore-this: e5f89488cf36e791e6963e640ba68bf6 ] [alsa/Server.Option.defaultLatency: no longer exported synthesizer@henning-thielemann.de**20151230171902 Ignore-this: 8128b96d8c4bec99384d36fb64589845 ] [alsa/Server.Option.defaultSampleRate: no longer exported synthesizer@henning-thielemann.de**20151230172632 Ignore-this: c5519b7eee216d881d2e11cf019fc8b ] [Server.Default.sampleRate: wrap in SampleRate constructor synthesizer@henning-thielemann.de**20151230174648 Ignore-this: f329e85c392bca638f8b74e5bde7a103 ] [Speech.loadMasks: use <$> instead of 'fmap' synthesizer@henning-thielemann.de**20151230221736 Ignore-this: 9576f46124928ba612ba760069c9af36 ] [SpeechExplore.takeEnd: replaced by new storable-vector function synthesizer@henning-thielemann.de**20151230222456 Ignore-this: 1f9ab8f681e7ef6c396d11ee4d94bc2 ] [bump version to 0.8 synthesizer@henning-thielemann.de**20151230222608 Ignore-this: 9d878123f23c157d8aadf0cb789128f7 ] [use 'pathtype' instead of 'filepath' package synthesizer@henning-thielemann.de**20151230230330 Ignore-this: c5b481e162f2a1cdedab3e57f73e2866 ] [Arrange: move from Library part to Executable parts synthesizer@henning-thielemann.de**20151230233025 Ignore-this: 5db13c66b411b7cb3c84f391f365bb5 ] [Cabal.Build-Depends: allow transformers-0.5 for GHC-8.0 synthesizer@henning-thielemann.de**20160118112236 Ignore-this: 269e21bf92bb0f0e42f43b596289babd ] [liftA4, liftA5, liftA6: imported from Control.Applicative.HT, not Synthesizer.ApplicativeUtility anymore synthesizer@henning-thielemann.de**20151230230940 Ignore-this: ac7125cae68e3c635c157ff6bbf0660f ] [Frame.Binary: initialized with toCanonical synthesizer@henning-thielemann.de**20160320121908 Ignore-this: 9566c1da21e4ef4ac816df5947c6a4a7 ] [CausalParameterized.Process.reverb: document problem that parameters are not of type Param.T synthesizer@henning-thielemann.de**20160320163522 Ignore-this: f74b65e419357a0df555eb32df7182f2 ] [Causal.Process.foldChunks synthesizer@henning-thielemann.de**20160320192612 Ignore-this: 294997aa81bb789506aad6133daa3896 ] [Causal.Process.skip: minor improvements synthesizer@henning-thielemann.de**20160320194135 Ignore-this: 788209fcf7a2bdc8ed4bf287599683a3 ] [CausalParameterized.Controlled, ControlledPacked.process: generalize to unparameterized processes using Process.C synthesizer@henning-thielemann.de**20160320200012 Ignore-this: 256405c9796ffb4fe6cbabc8cc8d28a0 ] [Causal.Process.foldChunksPartial synthesizer@henning-thielemann.de**20160321155612 Ignore-this: 9c27b236ad29be014516aaaff9040bb2 ] [Causal.Process.foldChunksPartial: improve handling of pairs synthesizer@henning-thielemann.de**20160321160733 Ignore-this: cbf0c0a721059c02872461b18f04168e ] [Fold: provide custom data type for Process.foldChunk and foldChunkPartial synthesizer@henning-thielemann.de**20160325113456 Ignore-this: f42c57f1d4a6977dc6895200aa0496b ] [Fold.sum, sumSquare synthesizer@henning-thielemann.de**20160325142859 Ignore-this: 721ca196bebc63e2972ba19fe9693f25 ] [Fold.pair, triple synthesizer@henning-thielemann.de**20160325143654 Ignore-this: c9183da4d2bf26e61b658d895cff0621 ] [alsa:Scalar.Run: resolve conflicts with (*>) from new Prelude synthesizer@henning-thielemann.de**20160416175010 Ignore-this: 898ee2d7ff6fa4841c353d33d3d72b10 ] [example:Test: add TypeFamilies extension since GHC-8.0 requires it synthesizer@henning-thielemann.de**20160416175504 Ignore-this: 396a516dde1418a5571b9060b8dea0b9 ] [Cabal.GHC-Options: replace -fcontext-stack=1000 by -freduction-depth=1000 for GHC>=8.0 synthesizer@henning-thielemann.de**20160416180204 Ignore-this: 176476face205168631389197f3058eb ] [jack:Main: add TypeFamilies and FlexibleContexts extension since GHC-8.0 requires it synthesizer@henning-thielemann.de**20160416190103 Ignore-this: 3084f77cb91084da58262548fbeed631 ] [Execution.assembleModule: use new function EE.runEngineAccessWithModule synthesizer@henning-thielemann.de**20160803163736 Ignore-this: 5be1585ba897d4441ba15ebba1296a2c This prevents the creation of the auxiliary __empty__ module. ] [Execution.assembleModule: add 'setTarget hostTriple' synthesizer@henning-thielemann.de**20160816171007 Ignore-this: f74c53a0d9a3032529c716c79fa2c32c ] [Execution.assembleModule: call optimizeModule with 'void' synthesizer@henning-thielemann.de**20160816171626 Ignore-this: 69b68710af785ce6b4d20b8693cdecad ] [Execution.assembleModule: disable optimization synthesizer@henning-thielemann.de**20160816172440 Ignore-this: 2f2b6871fdda7f765861caf34a4242df it currently crashes the synthesizer ] [Causal.Process.applyStorable: use Exec.compileModule instead of EE.simpleFunction synthesizer@henning-thielemann.de**20160819083007 Ignore-this: 13f07304d11f30ea44ac82195e0248dc EE.simpleFunction is now based on the interpreter that does not support SSE and AVX intrinsics ] [Causal.Process.applyStorable, applyStorableChunky: comment on recompilation synthesizer@henning-thielemann.de**20160819093149 Ignore-this: 2c57b1cd4e71fef37f5c3a4167b04e44 ] [Causal.Process.traverseChunks: common functionality for both runStorableChunky and applyStorableChunky synthesizer@henning-thielemann.de**20160819093539 Ignore-this: 4c708557b097251a9d85348f5fc21233 ] [Causal.Process.runStorableChunky: in DEPRECATED pragma refer to CausalParameterized.Process synthesizer@henning-thielemann.de**20160819094026 Ignore-this: 9c2f748f08c596e403d5444fda0ea617 ] [Simple.Signal.render: use Exec.compileModule instead of Exec.runFunction synthesizer@henning-thielemann.de**20160819130046 Ignore-this: 28fd4ca9f60887205e9f105f69b7d8a ] [*.Signal,Process: remove type from 'ret (pos :: Value Word32)' synthesizer@henning-thielemann.de**20160819133725 Ignore-this: e72ad2da03c5b0dda2776b54a38d8253 ] [use LLVM.staticNamedFunction instead of LLVM.staticFunction for easier debugging synthesizer@henning-thielemann.de**20160819161032 Ignore-this: b74a8746046192fca14759bd2006e221 requires llvm-tf>=3.0.3.3 ] [Simple.Signal.constant synthesizer@henning-thielemann.de**20160820060123 Ignore-this: 8bbe79655551e8868c20d2a35216a7bf ] [Simple.Signal.amplify, iterate, exponential, osci: generalize using Signal.C synthesizer@henning-thielemann.de**20160820083304 Ignore-this: 34f0e44faed1bcf5e62ea78167456ae4 ] [example/Test: simplify using new 'Sig.constant' synthesizer@henning-thielemann.de**20160820084427 Ignore-this: 64027352cc2412ac22ec69dcb5fdeeb8 example/Test.constant added ] [example/Test: simplify using generalized 'Sig.exponential' synthesizer@henning-thielemann.de**20160820084452 Ignore-this: f57a3f743dee98a897b6e293b799b23f ] [example/Test: simplify using generalized 'Sig.amplify' synthesizer@henning-thielemann.de**20160820084757 Ignore-this: bfbd3c254ed2e805c274b30238ab5817 ] [example/LNdW2011.bubbleControl: common functionality for bubblesSet and bubblePacked synthesizer@henning-thielemann.de**20160820091013 Ignore-this: 83fe8bc1ef272abde89ded86197201d1 ] [Causal.Controlled, ControlledPacked: extracted from CausalParameterized synthesizer@henning-thielemann.de**20160821171329 Ignore-this: 9d44a3b6b874963b84f613f135d0b96 The 'process' method does not need Parameters. ] [Causal.ProcessPrivate.reverbParams: extracted from CausalParameterized.Process synthesizer@henning-thielemann.de**20160821205342 Ignore-this: d87865a56293016ebc7b84b871ad39c1 replace Monad.HT.repeat by replicateM ] [Cabal.Build-Depends: allow llvm-tf-3.1 synthesizer@henning-thielemann.de**20160822055705 Ignore-this: 2285acb7d206a06d19365f18aef4c22 ] [CausalParameterized.Process.reverb -> reverbSimple, reverbEfficient -> reverb synthesizer@henning-thielemann.de**20160822062209 Ignore-this: 3ede0eae57d3233153a7f99bda9fc063 ] [Simple.Signal, Causal.Process: createIOContext method returns high-level ioContext and low-level parameters synthesizer@henning-thielemann.de**20160822111104 Ignore-this: a0b0cc75eee0092894c0a078ffc8d374 Process.runStorableChunky: made it safe Process.applyStorable and applyStorableChunky: avoid recompilation ] [Simple.ProcessPrivate.C and Core: taken from Simple.Process synthesizer@henning-thielemann.de**20160822121118 Ignore-this: f2c3c0742dfe71997aba73372423d535 This way we hide Core and related functions. ] [CausalParameterized.Process.Cons: do not export the constructor anymore synthesizer@henning-thielemann.de**20160822122515 Ignore-this: eba9cda9d75fc78e173dda5da0aa71c1 ] [Simple.SignalPrivate: extracted from Simple.Signal synthesizer@henning-thielemann.de**20160822142345 Ignore-this: 7d8654c42b32b1b9fe308c2d7e118c23 Simple.Signal.Cons, Core: no longer exported ] [SignalPrivate.combineStart, combineCreate, combineDelete synthesizer@henning-thielemann.de**20160822144208 Ignore-this: 553b5d864fb1b1171b3eb451ba94ac72 ] [RingBufferForward -> CausalParameterized.RingBufferForward synthesizer@henning-thielemann.de**20160822145646 Ignore-this: 697c050d62635c26802f5212b802f30d ] [Alloc.mallocAligned, freeAligned synthesizer@henning-thielemann.de**20160822160739 Ignore-this: e2c11840e312b9d1874a41c5f05b45e6 ] [Causal.ProcessPrivate.T: taken from Causal.Process synthesizer@henning-thielemann.de**20160822170455 Ignore-this: d5968c2138c66f30509b8b0a42a5cb82 also required moving instances and basic functions ] [CausalParameterized.RingBuffer: extracted causal processes from RingBuffer module synthesizer@henning-thielemann.de**20160822172342 Ignore-this: 807990806ec7d9aec11bd7cdec6cbe73 make RingBuffer private In the future I like to add Causal.RingBuffer ] [ConstantPiece, Simple.Vanilla: make private synthesizer@henning-thielemann.de**20160823105053 Ignore-this: 952c75c454ba4b932134766a31ddd823 ] [Cabal.OtherModules: new section for experimental modules synthesizer@henning-thielemann.de**20160823111045 Ignore-this: e39dce402e4bf439970926f6f8b8647c initialized with Simple.Vanilla and Parameterized.Value ] [Parameter: add export list synthesizer@henning-thielemann.de**20160823141706 Ignore-this: 328147a981316dabbfef44a9b4220ed2 ] [Server.CausalPacked.Speech: add export list synthesizer@henning-thielemann.de**20160823141806 Ignore-this: f68be30c86ca75f52fb84a5c0538ab51 ] [Server.*.Instrument: add export list synthesizer@henning-thielemann.de**20160823141828 Ignore-this: 8aea6f631fda5d78ae4e240c2751012d ] [example/LNdW2011.fly, flyPacked, Server.CausalPacked.Instrument.pingStereoReleaseFM: add type signatures to some let bindings synthesizer@henning-thielemann.de**20160824092650 Ignore-this: adef4d9b195c02cc0ac502b3c5096a82 This prevents us from a bug in the type inference of GHC-8.0.2: https://ghc.haskell.org/trac/ghc/ticket/12526 ] [Server.Packed.Instrument: more ideas llvm@henning-thielemann.de**20160824141514 Ignore-this: d4457df945f37aef4efcfe9cf6016eb0 independently modulated harmonics, helix noise tones ] [Changes.md synthesizer@henning-thielemann.de**20160824144436 Ignore-this: 1e2180a7bbac028ae77510f52d27e659 ] [CausalParameterized.Process.reverbSimple: do not add original signal synthesizer@henning-thielemann.de**20160824153523 Ignore-this: 18ff680e9453d587ff56a292a4793baf This is consistent with Process.reverb. ] [CausalParameterized.Process.reverbSimple, Haddock description: reverbSimple -> reverb synthesizer@henning-thielemann.de**20160824153653 Ignore-this: 7679410956b142cbd22305f2e960c2ea ] [example/Test: run filterSweepComplex as a nice default example synthesizer@henning-thielemann.de**20160824153731 Ignore-this: 3c0ecfb860f2bc5ee325301eb865cfff ] [Execution.writeBitcodeToFile: extracted from assembleModule synthesizer@henning-thielemann.de**20160824164700 Ignore-this: 8e29a8e6191d037d044ab25409cdbefc ] [Execution.writeBitcodeToFile: disable writing bitcode files by default synthesizer@henning-thielemann.de**20160824165938 Ignore-this: 25d886581b391f1950f435645c43dfdb ] [Execution.createFunction: short-cut for createNamedFunction ExternalLinkage synthesizer@henning-thielemann.de**20160824185944 Ignore-this: 8fd51135d748e7cedb360e7cd6a75a2d ] [Execution.runFunction: removed synthesizer@henning-thielemann.de**20160824194620 Ignore-this: f82e57562158e88839a84bd155c9f90d ] [Execution.Exec: composition of CodeGenModule and EngineAccess synthesizer@henning-thielemann.de**20160824205506 Ignore-this: e53ec425a38cf13061f02d1195385f4b compileModule, createFunction: use it here and get rid of llvm-extra:Execution.compile createLLVMFunction: maintains old behavior of createFunction ] [Execution.auxForeignPtr synthesizer@henning-thielemann.de**20160825085013 Ignore-this: 726a0f634b23a10cbaf41e381535e6f5 Simple.Signal.runChunky, Parameterized.Signal.runChunkyPattern, CausalParameterized.Process.runStorableChunkyCont: use it here ] [Execution.auxForeignPtr: simply wrap a nullPtr synthesizer@henning-thielemann.de**20160825092903 Ignore-this: 8aeecc4ac132bcdec405da8a87b6981c ] [Parameterized.Signal.Cons: do not export anymore synthesizer@henning-thielemann.de**20160826051938 Ignore-this: c52c1b830e617470e9a72ea33c3766ff ] [Simple.Signal.compile*: do not export anymore synthesizer@henning-thielemann.de**20160826052831 Ignore-this: 47f7ddfa7025d0cb982f76039e83605d ] [Parameterized.Signal: replace the export of whole 'module Parameterized.Signal' by shorter explicit list synthesizer@henning-thielemann.de**20160826091114 Ignore-this: 35ed1a9f61432e81a7c5e553451b16d9 ] [CausalParameterized.Process: nicer ordering of imports synthesizer@henning-thielemann.de**20160826160105 Ignore-this: 89a6f40921a0b2f807ead165dc7388ba ] [Execution.auxForeignPtr: change pointer target from CChar to () synthesizer@henning-thielemann.de**20160826161957 Ignore-this: d1346185d926ccbba9bebe16b69e2e80 ] [Parameterized.Signal.compileChunky: correct ordering of the three C functions synthesizer@henning-thielemann.de**20160826190622 Ignore-this: 174a565db1bd9626eec5da0ed5b86559 ] [Simple.Signal: remove redundant qualified import of Prelude synthesizer@henning-thielemann.de**20160826172357 Ignore-this: 94e6111d95930d1a83523b01f12e9c68 ] [ForeignPtr: module initialized with newAux synthesizer@henning-thielemann.de**20160826191940 Ignore-this: 9c3ed25ac283c6848067aff0d4032ee8 formerly Execution.auxForeignPtr, removed there ] [render help: JACK -> SoX synthesizer@henning-thielemann.de**20160826212312 Ignore-this: 55efa70881a5fa5583a614f86e6dd68 ] [in llvm-tf-3.1 the execution engine is managed by the garbage collector synthesizer@henning-thielemann.de**20160827141533 Ignore-this: 99513ad7d2025afd70cd460c9e1e56fe We have to adapt to this change. We use code compiled by LLVM for finalizers. Since we have to garbage collect that as well, we have to use Haskell finalizers from Foreign.Concurrent instead of plain C finalizers. ForeignPtr: add all functions from llvm-extra:ForeignPtr adapted to IO finalizers. This is currently broken, due to https://ghc.haskell.org/trac/ghc/ticket/12547. The call to touchForeignPtr on executionEngine in a concurrent finalizer does not assert that the executionEngine is actually alive. ] [LNdW2011: move to new executable synthi-llvm-lndw synthesizer@henning-thielemann.de**20160829055714 Ignore-this: 3e5ec18a978abd904d8b3d86b9b2a9f0 LAC2011: out-comment ALSA stuff synthi-llvm-example: remove dependency on ALSA ] [LNdW2011, LAC2011.playStreamSox: 44100 -> sampleRate synthesizer@henning-thielemann.de**20160829055900 Ignore-this: 8fd2b39510c3963282bd66b0d27d9457 ] [Chebyshev.parameter.order: do no longer double array size n (bugfix) synthesizer@henning-thielemann.de**20160829134648 Ignore-this: 4bd9f0fd4ee8133b77bbb1611575e79d This bug has been present since the creation of the module (llvm@henning-thielemann.de**20100304214531). I guess it was caused by a copy&paste from Butterworth (where it is correct) and then went unnoticed because of the past cycling convention of LLVM.constArray. ] [Simple.Signal.render, renderChunky: swap signal and size parameter synthesizer@henning-thielemann.de**20160829152640 Ignore-this: 1442f84ed211fdeaff78b702f1e3385 This is consistent with Parameterized.Signal.render and renderChunky. ] [Parameterized.Signal.moduleFill: extracted from 'run' synthesizer@henning-thielemann.de**20160830084215 Ignore-this: a20c2e2e2db4195792b7ae9f6aa4b072 allows to implement debugMain: it creates a stand-alone executable using the 'fill' function ] [Filter.SecondOrderCascade.paramStage: use getStageParameterMalloc instead of getStageParameterAlloca (bugfix) synthesizer@henning-thielemann.de**20160830195329 Ignore-this: 68311d7bc9ff25778f48bc31e54c3173 Frequent 'malloc' and 'free' is inefficient but avoids stack underflow. getStageParameterAlloca: add according warning ] [ForeignPtr.newParam: use newInit synthesizer@henning-thielemann.de**20160903151858 Ignore-this: c6acf082a42f4e4c6e5fb8f46110c2f3 ] [Cabal.Build-Depends: switch to llvm-extra-0.7 synthesizer@henning-thielemann.de**20160904063937 Ignore-this: 4f031f8b2375adde2d2dc686beebf869 ] [ForeignPtr.newInit, newParam: protect finalizer code from being finalized using a StablePtr synthesizer@henning-thielemann.de**20160904065523 Ignore-this: 7488d1d0172faeb1c819919acc267da3 ] [Parameterized.Signal.compileChunky: correct parameter order of function code generators synthesizer@henning-thielemann.de**20160904070522 Ignore-this: 47d9c433cfd5aa9c38c83a976624315c ] [ForeignPtr.newInit, newParam: create the StablePtr explicitly for the ExecutionEngine instead of an IO action synthesizer@henning-thielemann.de**20160904074119 Ignore-this: 95cf4c0b2b06b8fe9f082aeb4ec411d8 This is a more invasive change but I hope that this way you will always remember that generated finalizer code requires special care. Execution.createFinalizer: counterpart to createFunction ] [CausalParameterized.ProcessPrivate.replicateControlledNext: simplify using (<$>) synthesizer@henning-thielemann.de**20160904075511 Ignore-this: 34c4d52a21ada9c495fa1beca13dadee ] [SignalPrivate.malloc synthesizer@henning-thielemann.de**20160904080245 Ignore-this: 5777f86b296b521834a5d7600f8970a8 ] [ToDo: updates synthesizer@henning-thielemann.de**20160904102719 Ignore-this: 805845ba9d27b2ff2741cb8b2745d2b7 ] [Server.CausalPacked.Speech: transcribe latin-1 umlauts synthesizer@henning-thielemann.de**20160904103332 Ignore-this: af5e55dd9ebd8a35af5994b247277cd6 ] [Server.CausalPacked.Speech: explosiv -> plosiv synthesizer@henning-thielemann.de**20160904103558 Ignore-this: 646b8c66562c97626221ff201c8a9251 ] [Server.SampledSound.tomatensalatPositions: convert umlauts in comments from latin-1 to utf-8 synthesizer@henning-thielemann.de**20160904103847 Ignore-this: 18ffaa202c2077c69066b8876939b5f9 ] [Server.SampledSound.load: add ToDo about exception handling synthesizer@henning-thielemann.de**20160904103928 Ignore-this: 44c834c398efc5aa95f7a7f2198d2516 ]