# Revision history for dobutokO2

## 0.1.0.0 -- 2020-03-04

* First version. Released on an unsuspecting world.

## 0.2.0.0 -- 2020-03-05

* Second version. Added the functionality connected with octaves. Some documentation and code improvements.

## 0.3.0.0 -- 2020-03-06

* Third version. Added the opportunity to specify more parameters: additionally basic sound duration and the level of obertones influence the generated sounds.
Fixed issues with possibly incorrect argument sending to the SoX executable. Some documentation and code improvements.

## 0.3.1.0 -- 2020-03-06

* Third version revised A. Fixed issues with not being compiled because of the ambiguous variables and wrong function application.

## 0.3.1.1 -- 2020-03-06

* Third version revised B. Some documentation improvements for README.markdown file.

## 0.4.0.0 -- 2020-03-07

* Fourth version. Fixed issues with wrongly realized rhythm behaviour. Now it corresponds to the documented.

## 0.5.0.0 -- 2020-03-07

* Fifth version. Added the possibility to specify an existing file by its absolute path to be used as a source for the sound information for SoX to generate the
resulting file. Some documentation improvements.

## 0.5.1.0 -- 2020-03-07

* Fifth version revised A. Fixed issue with the order of actions in 'dobutokO2' function.

## 0.5.2.0 -- 2020-03-07

* Fifth version revised B. Fixed issue with the name of the recorded informational sound file in the 'recAndProcess' function.

## 0.5.3.0 -- 2020-03-07

* Fifth version revised C. Fixed issue with the noise reduction in the 'recAndProcess' function for the existing at the beginning file
(it is not done at all in such a case). 

## 0.6.1.0 -- 2020-03-08

* Sixth version revised A. Fixed issue with 'signsFromString' function that leads to performance penalty and to cycling. 

## 0.7.0.0 -- 2020-03-10

* Seventh version. Added new explicit dependency (mmsyn2) that earlier was implicit. Added the opportunity to define in how many times the amplitude
for the second lower note is greater than for the main one and to define the music intervals for the notes (if any). Some improvements for the documentation.

## 0.7.1.0 -- 2020-03-10

* Seventh version revised A. Fixed issue with being not compiled because of the implicit dependency being not explicitly specified.

## 0.7.1.1 -- 2020-03-10

* Seventh version revised B. Fixed issue with improper README.markdown file information.

## 0.7.2.0 -- 2020-03-11

* Seventh version revised C. Improved README.markdown file. Added exporting for all the basic functions in the DobutokO.Sound module.

## 0.7.2.1 -- 2020-03-11

* Seventh version revised D. Fixed issue with being not compiled because of the syntactic error.

## 0.8.0.0 -- 2020-03-12

* Eigth version. Added the new functions to the library that allow to produce richer sounds especially 'oberSoXSynth2FDN' one. The user can now specify a
function to be passed as an argument to it and obtain therefore own obertones formula. Added OPTIONS_GHC pragma to the module DobutokO.Sound.

## 0.8.0.1 -- 2020-03-12

* Eigth version revised A. Added the new functions to the exporting by the library.

## 0.8.1.0 -- 2020-03-12

* Eigth version revised B. Changed the sophisticated mechanism to provide real obertones in the 'oberSoXSynth2FDN' function.

## 0.8.2.0 -- 2020-03-12

* Eigth version revised C. Changed the sophisticated mechanism to provide real obertones in the 'oberSoXSynth2FDN' function. Fixed issues with some zeroes
in the functions. Some code improvements that give more stability. Documentation improvement.

## 0.9.0.0 -- 2020-03-13

* Ninth version. Changed the module structure to four modules. Added new functions in the DobutokO.Sound.Functional module to filter possible beats. Changed some
exports for DobutokO.Sound module.

## 0.9.1.0 -- 2020-03-14

* Ninth version revised A. Removed two functions from DobutokO.Sound.Functional module because of their inefficient work that leads to very long
(possibly infinitely) computation. 

## 0.10.0.0 -- 2020-03-14

* Tenth version. Added again the possibility to filter possible beats. Added new simple functions that are likely to work with previously prepared
Vector (Double, Double) that satisfies some constraints. Some documentation imrovement. Some performance optimizations.

## 0.10.1.0 -- 2020-03-14

* Tenth version revised A. Some documentation improvements. Some performance optimizations.

## 0.11.0.0 -- 2020-03-16

* Eleventh version. Added a second executable O2help that can be used to convert multiline Ukrainian text input to the needed String for the dobutokO2
program. Rewritten DobutokO.Sound.Executable module to provide more modularity. 

## 0.11.0.1 -- 2020-03-16

* Eleventh version revised A. Some documentation improvement of README.markdown file.

## 0.11.1.0 -- 2020-03-16

* Eleventh version revised B. Inserted the functionality of the second auxiliary executable O2help into the single one -- dobutokO2 with "0" first command
line option. Changed the information in the README.markdown file appropriately.

## 0.11.2.0 -- 2020-03-16

* Eleventh version revised C. Fixed issue with being not compiled because of not properly defined arguments for a function 'o2help'
in the DobutokO.Sound.Executable module.

## 0.12.0.0 -- 2020-03-17

* Twelfth version. Added a possibility to produce sound in the dobutokO2 function with only one input provided for the first command line option "7". Made
functions in the DobutokO.Sound.Executable module more modular so this grows a possibility to reuse them. Added new functions for the new functionality. Some
documentation improvements. Added as additional file "text.dat.txt" an example of the configuration for "7" first command line input. 

## 0.13.0.0 -- 2020-03-18

* Thirteenth version. Fixed issues connected with that SoX is by default for some distributions unable to work with a quantity of given files significantly more
than 1000. This led to that the program and functions could not work properly with some big amounts of data or sound data source files of some sizes. Now the
program and library work with them in a much more stable manner using temporary additional files. Some documentation, code and export improvements.

## 0.14.0.0 -- 2020-03-19

* Fourteenth version. Fixed issues connected with unneeded empty extensionless intermediate files in the current directory. Added the possibility to create
the resulting "end.wav" file and to clean the disk space from "result*" files by adding two new first command line options "8" and "80". Please, use the last
one with a special attention. See README.markdown for more information. Fixed issues with negative frequencies and durations possible in the
DobutokO.Sound.Functional functions. Added some more error messages to make debugging easier.

## 0.15.0.0 -- 2020-03-20

* Fifteenth version. Added an opportunity to work not only with octaves but also with n-th elements sets of consequential notes with the variants
of 2, 3, 4, 6, or 9 notes. Octave from such a perspective is a set of 12 notes. Some documentation improvements for the README.markdown file.

## 0.15.1.0 -- 2020-03-20

* Fifteenth version revised A. Fixed issue with the wrong mapping between the first command line arguments and the executable behaviour. Added the needed
behaviour for the "61" first command line option. Some improvement for the README.markdown file.

## 0.16.0.0 -- 2020-03-23

* Sixteenth version. Changed dependency version for directory package. Some documentation improvements for README.markdown file. Added a new module
DobutokO.Sound.IntermediateF to work with intermediate files. Changed the names of the some functions in DobutokO.Sound module and its exports.

## 0.17.0.0 -- 2020-03-25

* Seventeenth version. Added a few functions ('reverbE', 'reverb1E' etc.) to work with SoX effects to DobutokO.Sound.IntermediateF module. Added some additional
information in a dobutokO2.cabal file.

## 0.17.1.0 -- 2020-03-25

* Seventeenth version revised A. Fixed issues with being not compiled and duplicate export in 'DobutokO.Sound.IntermediateF'. Added two new functions
'soxE' and 'soxE1'. 

## 0.18.0.0 -- 2020-03-26

* Eighteenth version. Added three new functions to the DobutokO.Sound.IntermediateF module for recording and playing of the files.
Some documentation improvements.

## 0.19.0.0 -- 2020-03-27

* Nineteenth version. Added a new module DobutokO.Sound.ParseList to parse entered list of Int. Added the possibility to use "99" and "999" first command line
options that allows to play and edit with SoX effects applied respectively the sequence of the "result\*wav" files in the current directory. Added functions
to realize the functionality to different modules. Some documentation improvements.

## 0.19.1.0 -- 2020-03-28

* Nineteenth version revised A. Fixed issue with the infinite lists and thus the divergent functions. Changed some functions and fulfilled them with a limitation
parameter. Some minor documentation improvements.

## 0.20.0.0 -- 2020-03-28

* Twentieth version. Improved behaviour of the functions in the DobutokO.Sound.Functional module. Added new functions to produce melodies. Some minor
documentation improvements.

## 0.21.0.0 -- 2020-03-30

* Twenty-first version. Starting from the version 0.21.0.0 the package extends its library functions with the possibility to create not only
single notes or intervals of sounds playing simultaneously but also sets of three, four, five, six, seven or more sounds played simultanously
with their obertones. For more information, please, refer to the documentation for the DobutokO.Sound.Functional module. Added the needed functionality
for this. Rearrange modules DobutokO.Sound and DobutokO.Sound.Functional to provide more flexibility and shorten the code. Added new generalized functions
to the DobutokO.Sound.Functional module. Some documentation improvements.

## 0.22.0.0 -- 2020-04-02

* Twenty-second version. Added 1G generalized functions to the DobutokO.Sound.Functional module. They allow additional volume adjustment in dB given by
an additional vector of Double values for the overtones. Changed the names of the functions and documentation from 'ober' ('Ober') to English 'over'
('Over'). Fixed issue with 'partialTest_k' function for being not generated overtones files for the indices that can be without a remainder divided by
50. Some code and documentation improvements.

## 0.22.1.0 -- 2020-04-02

* Twenty-second version revised A. Fixed issues with being not compiled because of the syntaxis issues.

## 0.23.0.0 -- 2020-04-03

* Twenty-third version. Added 2G generalized functions to the DobutokO.Sound.Functional, and DobutokO.Sound.IntermediateF, and to DobutokO.Sound.Executable
modules. They allow to specify sound quality of the resulting files using additional parameter. Added also additional (including 1G) functions
to the same modules. Some code and documentation improvements. Added new command line options with "2" at the end.

## 0.24.0.0 -- 2020-04-04

* Twenty-fourth version. Fixed issue with being not compiled because of the unsupported operator (<$>) for GHC 7.8.4. Added possibilities to
work with DobutokO.Sound.Functional module function f more explicitly by three functions 'maybeFFromStrVec', 'fVecCoefs' and 'showFFromStrVec'. Provided
information about examples in the GitHub repository dobutokO2-examples. Some code and documentation improvements. 

## 0.24.1.0 -- 2020-04-04

* Twenty-fourth version revised A. Fixed issue with being not compiled because of the mapM_ applied for list and not vector for GHC 7.8.4.
Some code and documentation improvements. 

## 0.24.2.0 -- 2020-04-06

* Twenty-fourth version revised B. Fixed issue with overwritten "result.wav" file in some functions. Now the program works as expected for these functions. Some minor documentation improvements. 

## 0.24.3.0 -- 2020-04-06

* Twenty-fourth version revised C. Fixed issue with being not compiled code because of the wrong type signature. 

## 0.24.4.0 -- 2020-04-07

* Twenty-fourth version revised D. Fixed issues with segmentation faults in some functions. Added two new functions to the DobutokO.Sound.Functional
module. Improved stability.

## 0.24.5.0 -- 2020-04-07

* Twenty-fourth version revised E. Fixed issues with too silent sound for overtones. Imroved precision settings for functions so that it is expected
the generated sound to be more expressive. Improved stability. 

## 0.24.6.0 -- 2020-04-07

* Twenty-fourth version revised F. Fixed issue with being not compiled.

## 0.25.0.0 -- 2020-04-09

* Twenty-fifth version. Added more possibilities to edit function f from the DobutokO.Sound.Functional module. 

## 0.26.0.0 -- 2020-04-09

* Twenty-sixth version. Added more possibilities to edit function f from the DobutokO.Sound.Functional module. Now they include also gRem functions and
possibilities to work with two OvertonesO. Some code and documentation improvements in the DobutokO.Sound.Functional module. 

## 0.27.0.0 -- 2020-04-10

* Twenty-seventh version. Added more possibilities to edit intermediate sound files with silence and fading to avoid clipping while concatenating them
with SoX by default. Extended also the possibilities of the dobutokO2 executable with fading for "00" first command line option. Some documentation and
code improvements.

## 0.27.1.0 -- 2020-04-11

* Twenty-seventh version revised A. Fixed issue with functions 'freqsOverlapOvers' and 'elemsOverlapOvers' with wrongly defined for multiple situations.
Now they works properly. 

## 0.28.0.0 -- 2020-04-14

* Twenty-eigth version. Some code in existing modules generalization. Added a new explicit dependency -- bytestring package (earlier it was implicit 
dependency for the package dependencies). Added a new module DobutokO.Sound.Keyboard to deal with textual and possibly binary source of variativity. 
Some minor documentation improvements.

## 0.29.0.0 -- 2020-04-14

* Twenty-ninth version. Recent code in the DobutokO.Sound.Executable generalization. Added new functions for this. Added info about 
the YouTube list with some of the generated sounds as videos. Some minor documentation improvements.
