[NEW] Working main form
[NEW] Job queueing
[NEW] Concurrent jobs
[NEW] Ability to pause and resume queue
[NEW] Group widely used string literals into #define
[NEW] Window allowed drawing to be enabled or disabled. Good for item insertions and deletions
[NEW] OutOfRangeException
[NEW] RustyFile::GetFile accepts std::string
[NEW] Asynchronous timer
[NEW] Added job states to facilitate job status tracking
[NEW] JobDescription for maintaining the logic flow in job operations such as starting conditions
[NEW] Synchronous timer can now be started and stopped within the same instance
[FIX] Mpg123LifetimeHandler constructs and destructs using reference counting. Boolean value is not sufficient.
[FIX] Decoders reporting unanticipated audio frame count which equals to the amount of samples
[FIX] Controls overlapping each other causes painting distortion. Now controls are clipped to prevent overlapped painting
[FIX] File paths especially root drive folder such as C:\ are returned without \. C:\ => C:
[FIX] Unable to retrieve encoder option strings when encoder options maps to std::string instead of const char *
[FIX] ListView not able to search for selected item with index 0
[FIX] Too many locking causing unresponsive user interface. Uses atomic variables now[CHG] Removed unused interface controls
[CHG] Remove main form minimum size restriction
[CHG] Executable description
[CHG] Added more const to reference variables in CodecController
[CHG] Encoder options strings are map to enums using std::unordered_map instead of std::map