You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/changelog/v0.4.0.rst
+46-1Lines changed: 46 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,51 @@
1
1
.. _changelog_v040:
2
2
3
-
v0.4.3 (October 20th)
3
+
v0.4.4 - Timing and Sound (February 2nd, 2022)
4
+
----------------------------
5
+
Several parts to this update!
6
+
7
+
* See `PR#146 <https://github.com/wehr-lab/autopilot/pull/146>`_ for details about improvements to jackd sound timing! In short:
8
+
* Changed the way that continuous sounds work. Rather than cycling through an array, which was easy to drop, now pass a sound object that can generate its own samples on the fly using the `hydration` module.
9
+
* More accurate timing of sound ending callbacks. Before, the event would be called immediately on buffering the sounds into the jack ports, but that was systematically too early. Instead, use jack timing methods to account for delay from blocksize and n_periods to wait_until a certain delay to `set()` the event. See `_wait_for_end`
10
+
11
+
Other stuff:
12
+
13
+
New
14
+
~~~~~~~~~~~~~~~~~~~
15
+
16
+
* ``hydration`` module for creating and storing autopilot objects between processes and computers!
17
+
* ``@Introspect`` made and added to sound classes. Will be moved to root class. Allows storing the parameters given on instantiation.
18
+
* ``requires`` module for more explicit declarations of by-object dependencies to resolve lots of the little fragile checks throughout the package, as well as make it easier for plugins :)
19
+
* ``types`` module that will, well, have types for v0.5.0's reworked type system!
20
+
* minor - added exceptions module, just stubs for now
21
+
* Made dummy sound class to just use sounds without needing a running sound server
22
+
* New transformations! The Prasad line fitting algorithm as ``Linefit_Prasad`` and ordering points in a line from, eg. edge detection in ``Order_Points` `
23
+
24
+
Improvements
25
+
~~~~~~~~~~~~~~~~~~~
26
+
27
+
* Only warn once for returning a default pref value, and make its own warning class so that it can be filtered.
28
+
* Cleaning up the base sound classes and moved them to their own module because sounds was very cumbersome and hard to reason about. Now use ``get_sound_class`` instead of declaring within the module.
29
+
* Made optional install packages as ``extras_require`` so now can install with ``pip install auto-pi-lot -E pilot`` rather than autodetecting based on architecture. Further improvements (moving to poetry) will be in v0.5.0
30
+
31
+
Bugfixes
32
+
~~~~~~~~~~~~~~~~~~~
33
+
34
+
* Correctly identify filenames in logging, before the last module name was treated as a suffix on the path and removed, and so only the most recent logger created would actually log to disk. Logging now works across threads and processes.
35
+
* Fall back to a non-multiprocessing-based prefs if for some reason we can't use a mp.Manager in the given context (eg. ipython) - Still need to figure out a way to not print the exception because it is thrown asynchronously.
36
+
* as much as i love it, the splash screen being absent for whatever reason shouldn't crash the program.
37
+
* Raise an exception when instantiating a picamera without having picamera installed, re: https://github.com/wehr-lab/autopilot/issues/142
38
+
* Raise ImportError when ffmpeg is not present and trying to use a videowriter class
39
+
* Use a deque rather than an infinitely growing list to store GPIO events.
Copy file name to clipboardExpand all lines: docs/index.rst
+8-16Lines changed: 8 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,22 +29,14 @@ adoption of a singular standard.
29
29
30
30
For a detailed overview of Autopilot's motivation, design, and structure, see our `whitepaper <https://www.biorxiv.org/content/10.1101/807693v1>`_.
31
31
32
-
.. admonition:: What's New :ref:`v0.4.0 - Become Multifarious (21-08-03) <changelog_v040>`
33
-
34
-
* The `Autopilot Wiki <https://wiki.auto-pi-lot.com>`_ is live!!!! The wiki will be the means of gathering and sharing knowledge about using Autopilot, but
35
-
it will also serve as an additional tool for building interfaces and decentralizing control over its development. Head to the :ref:`changelog <changelog_v040>`
36
-
or the :ref:`guide_plugins` page to learn more
37
-
* Autopilot :mod:`~.utils.plugins` are now live!!! Anything in your plugin directory is a plugin, extend most types of autopilot classes to implement
38
-
your own custom hardware and tasks and anything else without modifying autopilot itself, then `submit it to the wiki <https://wiki.auto-pi-lot.com/index.php/Autopilot_Plugins>`_
39
-
to make it immediately available to everyone who uses the system! Link it to all the rest of your work, the parts it uses, let's make a knowledge graph!!!
40
-
* Tests and Continuous Integration are finally here!!! if there has been anything I have learned over the past few projects is that tests are god.
41
-
Ours are hosted on `travis <https://app.travis-ci.com/github/wehr-lab/autopilot>`_ and we are currently on the board with a stunning `27% coverage <https://coveralls.io/github/wehr-lab/autopilot>`_
42
-
at coveralls.io
43
-
* Lots of new hardware and transform classes! Take a look! :class:`.cameras.PiCamera`, :class:`.timeseries.Kalman`, :class:`.geometry.IMU_Orientation`,
* Major improvements like stereo sound (Thanks `Chris Rodgers <https://github.com/cxrodgers/>`_ !), multihop messages, direct messaging, programmatic setup... see more in the :ref:`changelog <changelog_v040`
46
-
* Continued work on deconvoluting and remodularating all the code structure!
47
-
* Removed limits on python version, now testing on 3.7, 3.8, and 3.9
32
+
.. admonition:: What's New :ref:`v0.4.4 - Sound and Timing (2022-02-02) <changelog_v040>`
33
+
34
+
* Big improvements to the sound server! Decoupling sounds from the server, better stability, etc.
35
+
* Trigger timing jitter from jack_client is now much closer to microseconds than the milliseconds it was formerly!
36
+
* New :mod:`~autopilot.utils.hydration` module for re-creating objects across processes and agents!
37
+
* New :mod:`~autopilot.utils.decorators` and :mod:`~autopilot.utils.types` and :mod:`~autopilot.utils.requires` modules
38
+
prefacing the architectural changes in v0.5.0
39
+
* See the :ref:`changelog <changelog_v040>` for more!
48
40
49
41
50
42
This documentation is very young and is very much a work in progress! Please `submit an issue <https://github.com/wehr-lab/autopilot/issues/new>`_ with any incompletenesses, confusion, or errors!
0 commit comments