Releases: robertrypula/AudioNetwork
Releases · robertrypula/AudioNetwork
v1.3.2
v1.3.1
- BugFix: "The AudioContext was not allowed to start. It must be resume (or created) after a user gesture on the page. https://goo.gl/7K7WLu"
v1.3.0
- adds Data Link Layer to the network stack
- up to 7 bytes of data can travel inside frame with header and checksum (Fletcher-8)
- frames tranmission progress listener
- incomming frames listener
- incomming frame candidates listener
- 'TwoWaySync' that helps to exchange 'Sync' sequences and SampleRate values (this will be simplified even more in future versions)
Completely rewritten Physical Layer - now it's based on FSK
- completely rewritten Physical Layer core based on Frequency-Shift Keying
- special "sync" sequence for symbol synchronization based on correlation technique
- many new examples
- old FSK code marked as deprecated
- volume control issue on mobile devices solved by detaching from microphone
- Injector aliases again enabled by default
Last update for old PSK code
- Dynamic dev files loading
- Boot config added
- Env variables added (isBrowser, isNode, isWebWorker)
- NodeJs export added - you can now use AudioNetwork in NodeJs applications!
- ActiveAudioContext abstraction
- CarrierGenerate and CarrierRecovery refactor
- Constellation diagram: do not redraw constellation if queue wasn't changed
- Constellation diagram: queue elements approach changed (only one item per constellation point now)
- WindowFunction service with blackmanNuttall method
- Visualizer abstract classes (Abstract2DVisualizer, AbstractVisualizer)
- Visualizer code refactor
- rename audio-network-begin to audio-network-boot
- WebWorker basic functionality added
v1.0.4
- new example where only CarrierRecovery/CarrierGenerate were used to send data using Amplitude Modulation (without PhysicalLayer module)
- expand class names - this allows easier debug in dev tools (for example CTM is now ChannelTransmitManager)
- introduce SimplePromise class (idea is to have code as less dependent to browser as possible in order to port it easily to other languages)
- move all charts to dedicated namespace 'visualizer'
- move CarrierRecovery and CarrierGenerate to 'common' namespace
- move audio service to separate namespace 'audio' and change name of the service to ActiveAudioContext
- move adapter classes to 'physical-layer-adapter'
- move current audio service logic to factory and connect it to ActiveAudioContext
- AudioContext class was renamed to SimpleAudioContext in order to avoid collision with real window.AudioContext
- addToQueue is now taking object as a parameter instead array of objects
- Jasmine unit test web runner added (currently still without tests but at least running environment was prepared)
- rename example directories (000 for basic demos, 100 for physical layer demos, ...)
- add htaccess redirection to renamed examples
- create new chart 'SampleChart', create new example where CarrierGenerate will be demonstrated
v1.0.3
- fix transition from FIRST_SYNC_INIT -> IDLE, currently there are some SYMBOL/GUARD states which are not right at this point
- default settings update (symbol duration vs guard interval, sync duration reduced from 3 sec to 2 sec, notification per seconds increased)
- gulp 'serve' task for serving the app locally
- add YouTube movie with demo
- move common css away of example
- readme moved to index.html, styles and pages structure refactored
- simple demo added
- updates at README.md
- added CHANGELOG.md
- licence moved to MIT
- SEO updates to whole page
v1.0.2
- huge readme update, npm keywords update
v1.0.1
- Carrier example bug fix. Versioning information added for main example
v1.0.0
- fix typo: physial-layer into physical-layer
- keep view type after reinitialization
- remove audio-network prefix from main classes names
- change name: dftTimeSpan -> dftWindowTimeSpan
- move general configuration to some common service
- refactor NO_SIGNAL state
- change input TX to LOOPBACK
- move templates code to dedicated files
- introduce Dependency Injection
- prepare release version + some code minification
- measure CPU load by measuring times before and after execution