tuning_fork_drafter

Build log

nerves_system_rpi5

tuning_fork_drafter 0.1.11 · fail · run tuning_fork_drafter-0.1.11-1791145837646
1236 of 1236 lines
1Resolving Hex dependencies...2Resolution completed in 0.165s3Unchanged:4  circular_buffer 1.1.05  drafter 0.4.06  elixir_make 0.10.07  french_curve 0.1.48  interactive_cmd 0.1.49  nerves 2.0.0-pre.210  nerves_discovery 0.1.511  nerves_logging 0.2.412  nerves_runtime 0.13.1313  nerves_system_bbb 2.30.214  nerves_system_br 1.34.415  nerves_system_mangopi_mq_pro 0.17.216  nerves_system_qemu_aarch64 0.4.217  nerves_system_rpi0 2.1.218  nerves_system_rpi4 2.1.219  nerves_system_rpi5 2.1.220  nerves_system_trellis 0.5.021  nerves_system_x86_64 1.34.222  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.123  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.124  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.125  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.126  nerves_toolchain_x86_64_nerves_linux_musl 15.3.127  nerves_uevent 0.1.728  phoenix_pubsub 2.3.029  property_table 0.3.430  ring_logger 0.11.731  spark 2.7.632  tablet 0.3.333  toolshed 0.5.034  tuning_fork 0.1.1135  tuning_fork_composer 0.1.1136  tuning_fork_drafter 0.1.1137  tuning_fork_midi 0.1.1138  uboot_env 1.0.239* Getting tuning_fork_drafter (Hex package)40* Getting nerves (Hex package)41* Getting ring_logger (Hex package)42* Getting toolshed (Hex package)43* Getting nerves_runtime (Hex package)44* Getting nerves_system_bbb (Hex package)45* Getting nerves_system_mangopi_mq_pro (Hex package)46* Getting nerves_system_qemu_aarch64 (Hex package)47* Getting nerves_system_rpi0 (Hex package)48* Getting nerves_system_rpi4 (Hex package)49* Getting nerves_system_rpi5 (Hex package)50* Getting nerves_system_trellis (Hex package)51* Getting nerves_system_x86_64 (Hex package)52* Getting nerves_system_br (Hex package)53* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)54* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)55* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)56* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)57* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)58* Getting nerves_logging (Hex package)59* Getting nerves_uevent (Hex package)60* Getting uboot_env (Hex package)61* Getting elixir_make (Hex package)62* Getting property_table (Hex package)63* Getting circular_buffer (Hex package)64* Getting interactive_cmd (Hex package)65* Getting nerves_discovery (Hex package)66* Getting tablet (Hex package)67* Getting drafter (Hex package)68* Getting french_curve (Hex package)69* Getting tuning_fork (Hex package)70* Getting tuning_fork_composer (Hex package)71* Getting tuning_fork_midi (Hex package)72* Getting phoenix_pubsub (Hex package)73* Getting spark (Hex package)74==> nerves_system_br75Generated nerves_system_br app76==> circular_buffer77Compiling 1 file (.ex)78Generated circular_buffer app79==> spark80Compiling 46 files (.ex)81Generated spark app82==> tablet83Compiling 2 files (.ex)84Generated tablet app85==> elixir_make86Compiling 8 files (.ex)87Generated elixir_make app88==> nerves_logging89 CC kmsg_tailer.o90 LD kmsg_tailer91Compiling 5 files (.ex)92Generated nerves_logging app93==> nerves_discovery94Compiling 5 files (.ex)95Generated nerves_discovery app96==> ring_logger97Compiling 7 files (.ex)98Generated ring_logger app99==> interactive_cmd100Compiling 1 file (.ex)101Generated interactive_cmd app102==> nerves103Compiling 65 files (.ex)104    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)105    │106  6 │ defmodule Mix.Tasks.Nerves.Init do107    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~108    │109    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)110111    warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.beam)112    │113  6 │ defmodule Nerves do114    │ ~~~~~~~~~~~~~~~~~~~115    │116    └─ lib/nerves.ex:6: Nerves (module)117118    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)119    │120  5 │ defmodule Nerves.ArtifactResolver do121    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~122    │123    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)124125    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)126    │127  6 │ defmodule Nerves.BuildAction.AppModes do128    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~129    │130    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)131132    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)133    │134  5 │ defmodule Nerves.BuildAction.CheckExecutables do135    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~136    │137    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)138139    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)140    │141  8 │ defmodule Nerves.BuildAction.Erlinit do142    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~143    │144    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)145146    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)147    │148  5 │ defmodule Nerves.BuildAction.Firmware do149    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~150    │151    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)152153    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)154    │155  7 │ defmodule Nerves.BuildAction.IExStartupCheck do156    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~157    │158    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)159160    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)161    │162  5 │ defmodule Nerves.BuildAction.NervesV1System do163    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~164    │165    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)166167    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)168    │169  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do170    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~171    │172    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)173174    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)175    │176  5 │ defmodule Nerves.BuildAction.Rootfs do177    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~178    │179    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)180181    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)182    │183  6 │ defmodule Nerves.BuildAction.SortApps do184    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~185    │186    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)187188    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)189    │190  5 │ defmodule Nerves.BuildAction.StripAll do191    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~192    │193    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)194195    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)196    │197  5 │ defmodule Nerves.BuildAction.Trimmer do198    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~199    │200    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)201202    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)203    │204  5 │ defmodule Nerves.BuildPlan do205    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~206    │207    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)208209    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)210    │211  5 │ defmodule Nerves.BuildPlan.Checks do212    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~213    │214    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)215216    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Container.beam)217    │218  6 │ defmodule Nerves.Container do219    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~220    │221    └─ lib/nerves/container.ex:6: Nerves.Container (module)222223    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)224    │225  5 │ defmodule Nerves.Fingerprint do226    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~227    │228    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)229230    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)231    │232  5 │ defmodule Nerves.MixPackage do233    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~234    │235    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)236237    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Paths.beam)238    │239  5 │ defmodule Nerves.Paths do240    │ ~~~~~~~~~~~~~~~~~~~~~~~~~241    │242    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)243244    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)245    │246  5 │ defmodule Nerves.TargetTuple do247    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~248    │249    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)250251Generated nerves app252==> nerves_toolchain_aarch64_nerves_linux_gnu253Compiling 1 file (.ex)254Generated nerves_toolchain_aarch64_nerves_linux_gnu app255==> nerves_system_rpi5256Generated nerves_system_rpi5 app257==> french_curve258Compiling 14 files (.ex)259     warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator260     │261 214 │       <<part::binary-size(size), rest::binary>> when byte_size(rest) > 0 ->262     │                           ~263     │264     └─ lib/french_curve/backend/kitty.ex:214:27: FrenchCurve.Backend.Kitty.chunk/2265266    warning: the variable "stride" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator267    │268 46 │     for <<row::binary-size(stride) <- rgba>>, do: [0, row]269    │                            ~270    │271    └─ lib/french_curve/png.ex:46:28: FrenchCurve.Png.filter_scanlines/2272273Generated french_curve app274==> phoenix_pubsub275Compiling 12 files (.ex)276Generated phoenix_pubsub app277==> drafter278mkdir -p priv279/home/nerves/.nerves/artifacts/nerves_toolchain_aarch64_nerves_linux_gnu-15.3.1/bin/aarch64-nerves-linux-gnu-gcc -mabi=lp64 -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 -fstack-protector-strong -mcpu=cortex-a76 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pipe -O2 --sysroot /home/nerves/.nerves/artifacts/nerves_system_rpi5-2.1.2/staging -I/home/nerves/.nerves/artifacts/nerves_system_rpi5-2.1.2/staging/usr/lib/erlang/erts-17.0.6/include -o priv/termios_nif.so.tmp c_src/termios_nif.c --sysroot=/home/nerves/.nerves/artifacts/nerves_system_rpi5-2.1.2/staging -shared -lutil && mv -f priv/termios_nif.so.tmp priv/termios_nif.so280/home/nerves/.nerves/artifacts/nerves_toolchain_aarch64_nerves_linux_gnu-15.3.1/bin/aarch64-nerves-linux-gnu-gcc -O2 -o priv/pty_spawn.tmp c_src/pty_spawn.c && mv -f priv/pty_spawn.tmp priv/pty_spawn281Compiling 202 files (.ex)282    warning: unused require Logger283    │284  4 │   require Logger285    │   ~286    │287    └─ lib/drafter/diagnostics/logging.ex:4:3288289     warning: this clause of defp since_last_push/1 is never used (or it will always fail/warn when invoked)290     │291 580 │   defp since_last_push(nil), do: :infinity292     │        ~293     │294     └─ lib/drafter/widget_runtime/widget_server.ex:580:8: Drafter.WidgetServer.since_last_push/1295296     warning: the following clause is redundant:297298         def get_unmasked_value(%Drafter.Widget.MaskedInput{value: value, mask: mask})299300     it has type:301302         dynamic(%Drafter.Widget.MaskedInput{})303304     previous clauses have already matched on the following types:305306         %Drafter.Widget.MaskedInput{}307308     │309 375 │   def get_unmasked_value(%__MODULE__{value: value, mask: mask}), do: strip_mask(value, mask)310     │       ~311     │312     └─ lib/drafter/widget/masked_input.ex:375:7: Drafter.Widget.MaskedInput.get_unmasked_value/1313314    warning: the following clause is redundant:315316        def handle_event(_event, state)317318    it has type:319320        dynamic(), dynamic()321322    previous clauses have already matched on the following types:323324        {:key, :escape}, term()325        {:key, :h}, term()326        {:bracketed_paste, term()}, term()327        term(), term()328329    │330  1 │ defmodule Drafter.Widget.FilePicker do331    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~332    │333    └─ lib/drafter/widget/file_picker.ex:1: Drafter.Widget.FilePicker.handle_event/2334335    warning: the following conditional expression:336337        new_index338339    will always evaluate to:340341        dynamic(not false and not nil)342343    where "new_index" was given the type:344345        # type: dynamic(not false and not nil)346        # from: lib/drafter/widget/data_table/selection.ex:75:15347        new_index =348          case find_next_enabled_from(state.data, target_index) do349            ...350          end351352    type warning found at:353    │354 84 │     if new_index do355    │     ~~~~~~~~~~~~~~~356    │357    └─ lib/drafter/widget/data_table/selection.ex:84: Drafter.Widget.DataTable.Selection.action_page_down/2358359     warning: the following clause is redundant:360361         other ->362363     previous clauses have already matched on the following types:364365         {term(), term()}366367     where "other" was given the type:368369         # type: dynamic({term(), term()})370         # from: lib/drafter/terminal/driver.ex:471:7371         other372373     type warning found at:374     │375 471 │       other -> {:error, {:stty_failed, other}}376     │             ~377     │378     └─ lib/drafter/terminal/driver.ex:471:13: Drafter.Terminal.Driver.enter_terminal_mode_with_stty/0379380     warning: the following clause is redundant:381382         defp get_state_value(state, key)383              when is_map(state) and is_map_key(state, :__struct__) and384                     is_atom(:erlang.map_get(:__struct__, state))385386     it has type:387388         dynamic(%{..., __struct__: atom()}), dynamic()389390     previous clauses have already matched on the following types:391392         map(), term()393394     │395 159 │   defp get_state_value(state, key) when is_struct(state) do396     │        ~397     │398     └─ lib/drafter/style/computed.ex:159:8: Drafter.Style.Computed.get_state_value/2399400     warning: the following clause is redundant:401402         defp apply_render_result({:error, _reason}, _, _, _, _, _)403404     it has type:405406         dynamic({:error, term()}), dynamic(), dynamic(), dynamic(), dynamic(), dynamic()407408     previous clauses have already matched on the following types:409410         {...}, term(), term(), term(), term(), term()411         empty_list() or non_empty_list(term(), term()), term(), term(), term(), term(), term()412413     │414 211 │   defp apply_render_result({:error, _reason}, _, _, _, _, _), do: {:error, nil}415     │        ~416     │417     └─ lib/drafter/runtime/renderer.ex:211:8: Drafter.Runtime.Renderer.apply_render_result/6418419     warning: this guard will never succeed:420421         false422423     because it returns type:424425         false426427     type warning found at:428     │429 765 │   defp paintable_region(_strips, _rect) when false, do: false430     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~431     │432     └─ lib/drafter/runtime/renderer.ex:765: Drafter.Runtime.Renderer.paintable_region/2433434    warning: the following clause is redundant:435436        def handle_event(_event, state)437438    it has type:439440        dynamic(), dynamic()441442    previous clauses have already matched on the following types:443444        {:key, :enter}, term()445        {:key, :escape}, term()446        term(), term()447448    │449  1 │ defmodule Drafter.Accounts.RegisterApp do450    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~451    │452    └─ lib/drafter/accounts/register_app.ex:1: Drafter.Accounts.RegisterApp.handle_event/2453454     warning: this clause of defp safe_widget_state/1 is never used (or it will always fail/warn when invoked)455     │456 748 │   defp safe_widget_state(nil), do: nil457     │        ~458     │459     └─ lib/drafter.ex:748:8: Drafter.safe_widget_state/1460461Generated drafter app462==> tuning_fork463Compiling 70 files (.ex)464    warning: the variable "length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator465    │466 82 │       <<_block::binary-size(length), after_block::binary>> ->467    │                             ~468    │469    └─ lib/tuning_fork/flac.ex:82:29: TuningFork.Flac.metadata/2470471     warning: the variable "pad" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator472     │473 102 │       <<_pad::size(pad), _crc::16, next::binary>> = rest474     │                    ~475     │476     └─ lib/tuning_fork/flac.ex:102:20: TuningFork.Flac.frames/3477478     warning: the variable "bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator479     │480 206 │       <<value::signed-size(bits), rest::bits>> -> {:ok, List.duplicate(value, size), rest}481     │                            ~482     │483     └─ lib/tuning_fork/flac.ex:206:28: TuningFork.Flac.subframe_of/4484485     warning: the variable "total" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator486     │487 215 │       <<raw::bits-size(total), rest::bits>> ->488     │                        ~489     │490     └─ lib/tuning_fork/flac.ex:215:24: TuningFork.Flac.subframe_of/4491492     warning: the variable "bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator493     │494 216 │         {:ok, for(<<value::signed-size(bits) <- raw>>, do: value), rest}495     │                                        ~496     │497     └─ lib/tuning_fork/flac.ex:216:40: TuningFork.Flac.subframe_of/4498499     warning: the variable "total" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator500     │501 248 │       <<raw::bits-size(total), rest::bits>> ->502     │                        ~503     │504     └─ lib/tuning_fork/flac.ex:248:24: TuningFork.Flac.warmup/3505506     warning: the variable "bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator507     │508 249 │         {:ok, for(<<value::signed-size(bits) <- raw>>, do: value), rest}509     │                                        ~510     │511     └─ lib/tuning_fork/flac.ex:249:40: TuningFork.Flac.warmup/3512513     warning: the variable "total" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator514     │515 262 │       <<raw::bits-size(total), rest::bits>> ->516     │                        ~517     │518     └─ lib/tuning_fork/flac.ex:262:24: TuningFork.Flac.lpc_coefficients/2519520     warning: the variable "bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator521     │522 263 │         {:ok, for(<<value::signed-size(bits) <- raw>>, do: value), shift, rest}523     │                                        ~524     │525     └─ lib/tuning_fork/flac.ex:263:40: TuningFork.Flac.lpc_coefficients/2526527     warning: the variable "param_bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator528     │529 292 │         <<^escape::size(param_bits), raw_bits::5, rest::bits>> -> raw(rest, samples, raw_bits)530     │                         ~531     │532     └─ lib/tuning_fork/flac.ex:292:25: TuningFork.Flac.partitions/8533534     warning: the variable "param_bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator535     │536 293 │         <<param::size(param_bits), rest::bits>> -> rice(rest, param, samples, [])537     │                       ~538     │539     └─ lib/tuning_fork/flac.ex:293:23: TuningFork.Flac.partitions/8540541     warning: the variable "total" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator542     │543 306 │       <<raw::bits-size(total), rest::bits>> ->544     │                        ~545     │546     └─ lib/tuning_fork/flac.ex:306:24: TuningFork.Flac.raw/3547548     warning: the variable "raw_bits" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator549     │550 307 │         {:ok, for(<<value::signed-size(raw_bits) <- raw>>, do: value), rest}551     │                                        ~552     │553     └─ lib/tuning_fork/flac.ex:307:40: TuningFork.Flac.raw/3554555     warning: the variable "param" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator556     │557 318 │       {quotient, <<remainder::size(param), rest::bits>>} ->558     │                                    ~559     │560     └─ lib/tuning_fork/flac.ex:318:36: TuningFork.Flac.rice/4561562     warning: the variable "zeros" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator563     │564 332 │     <<_::size(zeros + 1), rest::bits>> = bits565     │               ~566     │567     └─ lib/tuning_fork/flac.ex:332:15: TuningFork.Flac.unary/2568569    warning: the variable "at" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator570    │571 60 │         <<before::binary-size(at), rest::binary>> = base572    │                               ~573    │574    └─ lib/tuning_fork/mixer.ex:60:31: TuningFork.Mixer.mix_at/4575576    warning: the variable "space" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator577    │578 64 │         <<fits::binary-size(space), over::binary>> = buffer579    │                             ~580    │581    └─ lib/tuning_fork/mixer.ex:64:29: TuningFork.Mixer.mix_at/4582583    warning: the variable "at" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator584    │585 65 │         <<before::binary-size(at), rest::binary>> = base586    │                               ~587    │588    └─ lib/tuning_fork/mixer.ex:65:31: TuningFork.Mixer.mix_at/4589590    warning: the variable "wanted" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator591    │592 81 │       <<chunk::binary-size(wanted), rest::binary>> ->593    │                            ~594    │595    └─ lib/tuning_fork/mixer.ex:81:28: TuningFork.Mixer.take/3596597     warning: the variable "keep" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator598     │599 103 │       <<head::binary-size(keep), tail::binary>> when tail != <<>> ->600     │                           ~601     │602     └─ lib/tuning_fork/mixer.ex:103:27: TuningFork.Mixer.fold/3603604    warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator605    │606 86 │     <<blob::binary-size(size), left::binary>> = rest607    │                         ~608    │609    └─ lib/tuning_fork/osc.ex:86:25: TuningFork.Osc.argument_of/2610611    warning: the variable "over" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator612    │613 88 │     <<_padding::binary-size(over), after_padding::binary>> = left614    │                             ~615    │616    └─ lib/tuning_fork/osc.ex:88:29: TuningFork.Osc.argument_of/2617618    warning: unused require Logger619    │620 11 │   require Logger621    │   ~622    │623    └─ lib/tuning_fork/osc/client.ex:11:3624625     warning: the variable "room" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator626     │627 220 │       <<head::binary-size(room), tail::binary>> when tail != <<>> ->628     │                           ~629     │630     └─ lib/tuning_fork/score.ex:220:27: TuningFork.Score.wrap/4631632     warning: the variable "length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator633     │634 417 │     <<data::binary-size(length), rest::binary>> = rest635     │                         ~636     │637     └─ lib/tuning_fork/midi.ex:417:25: TuningFork.Midi.event/2638639     warning: the variable "length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator640     │641 427 │     <<_data::binary-size(length), rest::binary>> = rest642     │                          ~643     │644     └─ lib/tuning_fork/midi.ex:427:26: TuningFork.Midi.event/2645646     warning: the variable "channels" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator647     │648 167 │     for <<frame::binary-size(channels * 2) <- pcm>>, reduce: {0, <<>>} do649     │                              ~650     │651     └─ lib/tuning_fork/stage/bed.ex:167:30: TuningFork.Stage.Bed.ramp/4652653     warning: the variable "channels" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator654     │655 734 │       for <<sample::16-signed-little, _rest::binary-size(channels * 2 - 2) <- pcm>>, do: sample656     │                                                          ~657     │658     └─ lib/tuning_fork/stage.ex:734:58: TuningFork.Stage.thinned/3659660     warning: the following conditional expression:661662         File.mkdir_p!(TuningFork.Sample.Fetch.dir())663664     will always evaluate to:665666         dynamic(:ok)667668     type warning found at:669     │670 144 │     unless File.exists?(path), do: File.mkdir_p!(Fetch.dir()) && File.write!(path, bytes)671     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~672     │673     └─ lib/tuning_fork/sample/font.ex:144: TuningFork.Sample.Font.decode/3674675Generated tuning_fork app676==> tuning_fork_composer677Compiling 4 files (.ex)678Generated tuning_fork_composer app679==> tuning_fork_midi680mkdir -p priv681/home/nerves/.nerves/artifacts/nerves_toolchain_aarch64_nerves_linux_gnu-15.3.1/bin/aarch64-nerves-linux-gnu-gcc -mabi=lp64 -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 -fstack-protector-strong -mcpu=cortex-a76 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pipe -O2 --sysroot /home/nerves/.nerves/artifacts/nerves_system_rpi5-2.1.2/staging -I/home/nerves/.nerves/artifacts/nerves_system_rpi5-2.1.2/staging/usr/lib/erlang/erts-17.0.6/include -Ic_src -o priv/tuning_fork_midi_nif.so c_src/tuning_fork_midi_nif.c --sysroot=/home/nerves/.nerves/artifacts/nerves_system_rpi5-2.1.2/staging -shared -lpthread -lasound682In file included from c_src/tuning_fork_midi_nif.c:22:683c_src/minimidio.h:483:5: error: unknown type name 'snd_seq_t'; did you mean 'snd_sctl_t'?684  483 |     snd_seq_t* seq;685      |     ^~~~~~~~~686      |     snd_sctl_t687c_src/minimidio.h:497:5: error: unknown type name 'snd_midi_event_t'; did you mean 'snd_mixer_event_t'?688  497 |     snd_midi_event_t* midi_ev;     /* raw path: byte<->event coder (NULL otherwise) */689      |     ^~~~~~~~~~~~~~~~690      |     snd_mixer_event_t691c_src/minimidio.h: In function 'mm_context_init':692c_src/minimidio.h:1493:9: error: implicit declaration of function 'snd_seq_open'; did you mean 'snd_ctl_open'? [-Wimplicit-function-declaration]693 1493 |     if (snd_seq_open(&ctx->al.seq, "default", SND_SEQ_OPEN_DUPLEX, 0) < 0)694      |         ^~~~~~~~~~~~695      |         snd_ctl_open696c_src/minimidio.h:1493:47: error: 'SND_SEQ_OPEN_DUPLEX' undeclared (first use in this function)697 1493 |     if (snd_seq_open(&ctx->al.seq, "default", SND_SEQ_OPEN_DUPLEX, 0) < 0)698      |                                               ^~~~~~~~~~~~~~~~~~~699c_src/minimidio.h:1493:47: note: each undeclared identifier is reported only once for each function it appears in700c_src/minimidio.h:1495:5: error: implicit declaration of function 'snd_seq_set_client_name' [-Wimplicit-function-declaration]701 1495 |     snd_seq_set_client_name(ctx->al.seq, ctx->name);702      |     ^~~~~~~~~~~~~~~~~~~~~~~703c_src/minimidio.h:1496:25: error: implicit declaration of function 'snd_seq_client_id' [-Wimplicit-function-declaration]704 1496 |     ctx->al.client_id = snd_seq_client_id(ctx->al.seq);705      |                         ^~~~~~~~~~~~~~~~~706c_src/minimidio.h: In function 'mm_context_uninit':707c_src/minimidio.h:1502:5: error: implicit declaration of function 'snd_seq_close'; did you mean 'snd_ctl_close'? [-Wimplicit-function-declaration]708 1502 |     snd_seq_close(ctx->al.seq);709      |     ^~~~~~~~~~~~~710      |     snd_ctl_close711c_src/minimidio.h: In function 'mm__alsa_enum':712c_src/minimidio.h:1529:5: error: unknown type name 'snd_seq_client_info_t'; did you mean 'snd_ctl_elem_info_t'?713 1529 |     snd_seq_client_info_t* ci;714      |     ^~~~~~~~~~~~~~~~~~~~~715      |     snd_ctl_elem_info_t716c_src/minimidio.h:1530:5: error: unknown type name 'snd_seq_port_info_t'; did you mean 'snd_ctl_card_info_t'?717 1530 |     snd_seq_port_info_t*   pi;718      |     ^~~~~~~~~~~~~~~~~~~719      |     snd_ctl_card_info_t720c_src/minimidio.h:1531:5: error: implicit declaration of function 'snd_seq_client_info_alloca'; did you mean 'snd_ctl_elem_info_alloca'? [-Wimplicit-function-declaration]721 1531 |     snd_seq_client_info_alloca(&ci);722      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~723      |     snd_ctl_elem_info_alloca724c_src/minimidio.h:1532:5: error: implicit declaration of function 'snd_seq_port_info_alloca'; did you mean 'snd_ctl_card_info_alloca'? [-Wimplicit-function-declaration]725 1532 |     snd_seq_port_info_alloca(&pi);726      |     ^~~~~~~~~~~~~~~~~~~~~~~~727      |     snd_ctl_card_info_alloca728c_src/minimidio.h:1534:5: error: implicit declaration of function 'snd_seq_client_info_set_client' [-Wimplicit-function-declaration]729 1534 |     snd_seq_client_info_set_client(ci, -1);730      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~731c_src/minimidio.h:1535:12: error: implicit declaration of function 'snd_seq_query_next_client' [-Wimplicit-function-declaration]732 1535 |     while (snd_seq_query_next_client(al->seq, ci) >= 0) {733      |            ^~~~~~~~~~~~~~~~~~~~~~~~~734c_src/minimidio.h:1536:19: error: implicit declaration of function 'snd_seq_client_info_get_client'; did you mean 'snd_ctl_elem_info_get_count'? [-Wimplicit-function-declaration]735 1536 |         int cid = snd_seq_client_info_get_client(ci);736      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~737      |                   snd_ctl_elem_info_get_count738c_src/minimidio.h:1538:9: error: implicit declaration of function 'snd_seq_port_info_set_client' [-Wimplicit-function-declaration]739 1538 |         snd_seq_port_info_set_client(pi, cid);740      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~741c_src/minimidio.h:1539:9: error: implicit declaration of function 'snd_seq_port_info_set_port' [-Wimplicit-function-declaration]742 1539 |         snd_seq_port_info_set_port(pi, -1);743      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~744c_src/minimidio.h:1540:16: error: implicit declaration of function 'snd_seq_query_next_port' [-Wimplicit-function-declaration]745 1540 |         while (snd_seq_query_next_port(al->seq, pi) >= 0) {746      |                ^~~~~~~~~~~~~~~~~~~~~~~747c_src/minimidio.h:1541:32: error: implicit declaration of function 'snd_seq_port_info_get_capability' [-Wimplicit-function-declaration]748 1541 |             unsigned int cap = snd_seq_port_info_get_capability(pi);749      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~750c_src/minimidio.h:1546:25: error: implicit declaration of function 'snd_seq_port_info_get_port' [-Wimplicit-function-declaration]751 1546 |             p->port   = snd_seq_port_info_get_port(pi);752      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~753c_src/minimidio.h:1548:22: error: implicit declaration of function 'snd_seq_client_info_get_name'; did you mean 'snd_ctl_elem_info_get_name'? [-Wimplicit-function-declaration]754 1548 |                      snd_seq_client_info_get_name(ci),755      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~756      |                      snd_ctl_elem_info_get_name757c_src/minimidio.h:1549:22: error: implicit declaration of function 'snd_seq_port_info_get_name'; did you mean 'snd_ctl_card_info_get_name'? [-Wimplicit-function-declaration]758 1549 |                      snd_seq_port_info_get_name(pi), cid, p->port);759      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~760      |                      snd_ctl_card_info_get_name761c_src/minimidio.h: In function 'mm_in_count':762c_src/minimidio.h:1559:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)763 1559 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,764      |         ^~~~~~~~~~~~~~~~~~~~~765c_src/minimidio.h:1559:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)766 1559 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,767      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~768c_src/minimidio.h: In function 'mm_out_count':769c_src/minimidio.h:1567:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)770 1567 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);771      |         ^~~~~~~~~~~~~~~~~~~~~~772c_src/minimidio.h:1567:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)773 1567 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);774      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~775c_src/minimidio.h: In function 'mm_in_name':776c_src/minimidio.h:1574:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)777 1574 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,778      |         ^~~~~~~~~~~~~~~~~~~~~779c_src/minimidio.h:1574:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)780 1574 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,781      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~782c_src/minimidio.h: In function 'mm_out_name':783c_src/minimidio.h:1583:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)784 1583 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);785      |         ^~~~~~~~~~~~~~~~~~~~~~786c_src/minimidio.h:1583:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)787 1583 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);788      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~789c_src/minimidio.h: In function 'mm__alsa_recv_thread':790c_src/minimidio.h:1597:17: error: implicit declaration of function 'snd_seq_poll_descriptors_count'; did you mean 'snd_ctl_poll_descriptors_count'? [-Wimplicit-function-declaration]791 1597 |     int nalsa = snd_seq_poll_descriptors_count(al->seq, POLLIN);792      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~793      |                 snd_ctl_poll_descriptors_count794c_src/minimidio.h:1603:5: error: implicit declaration of function 'snd_seq_poll_descriptors'; did you mean 'snd_ctl_poll_descriptors'? [-Wimplicit-function-declaration]795 1603 |     snd_seq_poll_descriptors(al->seq, pfds, (unsigned)nalsa, POLLIN);796      |     ^~~~~~~~~~~~~~~~~~~~~~~~797      |     snd_ctl_poll_descriptors798c_src/minimidio.h:1619:16: error: implicit declaration of function 'snd_seq_event_input_pending' [-Wimplicit-function-declaration]799 1619 |         while (snd_seq_event_input_pending(al->seq, 1) > 0) {800      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~801c_src/minimidio.h:1654:17: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?802 1654 |                 snd_seq_event_t* ev = NULL;803      |                 ^~~~~~~~~~~~~~~804      |                 snd_ctl_event_t805c_src/minimidio.h:1655:26: error: implicit declaration of function 'snd_seq_event_input' [-Wimplicit-function-declaration]806 1655 |                 int rc = snd_seq_event_input(al->seq, &ev);807      |                          ^~~~~~~~~~~~~~~~~~~808c_src/minimidio.h:1662:23: error: request for member 'type' in something not a structure or union809 1662 |                 if (ev->type == SND_SEQ_EVENT_SYSEX) {810      |                       ^~811c_src/minimidio.h:1662:33: error: 'SND_SEQ_EVENT_SYSEX' undeclared (first use in this function)812 1662 |                 if (ev->type == SND_SEQ_EVENT_SYSEX) {813      |                                 ^~~~~~~~~~~~~~~~~~~814c_src/minimidio.h:1663:46: error: request for member 'data' in something not a structure or union815 1663 |                     uint8_t* d = (uint8_t*)ev->data.ext.ptr;816      |                                              ^~817c_src/minimidio.h:1664:36: error: request for member 'data' in something not a structure or union818 1664 |                     size_t   n = ev->data.ext.len;819      |                                    ^~820c_src/minimidio.h:1678:30: error: implicit declaration of function 'snd_midi_event_decode' [-Wimplicit-function-declaration]821 1678 |                     long n = snd_midi_event_decode(da->midi_ev, buf,822      |                              ^~~~~~~~~~~~~~~~~~~~~823c_src/minimidio.h:1687:13: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?824 1687 |             snd_seq_event_t* ev = NULL;825      |             ^~~~~~~~~~~~~~~826      |             snd_ctl_event_t827c_src/minimidio.h:1696:23: error: request for member 'type' in something not a structure or union828 1696 |             switch (ev->type) {829      |                       ^~830c_src/minimidio.h:1698:22: error: 'SND_SEQ_EVENT_NOTEON' undeclared (first use in this function)831 1698 |                 case SND_SEQ_EVENT_NOTEON:832      |                      ^~~~~~~~~~~~~~~~~~~~833c_src/minimidio.h:1699:38: error: request for member 'data' in something not a structure or union834 1699 |                     msg.type    = (ev->data.note.velocity > 0) ? MM_NOTE_ON : MM_NOTE_OFF;835      |                                      ^~836c_src/minimidio.h:1700:37: error: request for member 'data' in something not a structure or union837 1700 |                     msg.channel = ev->data.note.channel;838      |                                     ^~839c_src/minimidio.h:1701:37: error: request for member 'data' in something not a structure or union840 1701 |                     msg.data[0] = ev->data.note.note;841      |                                     ^~842c_src/minimidio.h:1702:37: error: request for member 'data' in something not a structure or union843 1702 |                     msg.data[1] = ev->data.note.velocity;844      |                                     ^~845c_src/minimidio.h:1705:22: error: 'SND_SEQ_EVENT_NOTEOFF' undeclared (first use in this function)846 1705 |                 case SND_SEQ_EVENT_NOTEOFF:847      |                      ^~~~~~~~~~~~~~~~~~~~~848c_src/minimidio.h:1706:57: error: request for member 'data' in something not a structure or union849 1706 |                     msg.type=MM_NOTE_OFF; msg.channel=ev->data.note.channel;850      |                                                         ^~851c_src/minimidio.h:1707:35: error: request for member 'data' in something not a structure or union852 1707 |                     msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;853      |                                   ^~854c_src/minimidio.h:1707:67: error: request for member 'data' in something not a structure or union855 1707 |                     msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;856      |                                                                   ^~857c_src/minimidio.h:1710:22: error: 'SND_SEQ_EVENT_KEYPRESS' undeclared (first use in this function)858 1710 |                 case SND_SEQ_EVENT_KEYPRESS:859      |                      ^~~~~~~~~~~~~~~~~~~~~~860c_src/minimidio.h:1711:62: error: request for member 'data' in something not a structure or union861 1711 |                     msg.type=MM_POLY_PRESSURE; msg.channel=ev->data.note.channel;862      |                                                              ^~863c_src/minimidio.h:1712:35: error: request for member 'data' in something not a structure or union864 1712 |                     msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;865      |                                   ^~866c_src/minimidio.h:1712:67: error: request for member 'data' in something not a structure or union867 1712 |                     msg.data[0]=ev->data.note.note; msg.data[1]=ev->data.note.velocity;868      |                                                                   ^~869c_src/minimidio.h:1715:22: error: 'SND_SEQ_EVENT_CONTROLLER' undeclared (first use in this function)870 1715 |                 case SND_SEQ_EVENT_CONTROLLER:871      |                      ^~~~~~~~~~~~~~~~~~~~~~~~872c_src/minimidio.h:1716:63: error: request for member 'data' in something not a structure or union873 1716 |                     msg.type=MM_CONTROL_CHANGE; msg.channel=ev->data.control.channel;874      |                                                               ^~875c_src/minimidio.h:1717:44: error: request for member 'data' in something not a structure or union876 1717 |                     msg.data[0]=(uint8_t)ev->data.control.param;877      |                                            ^~878c_src/minimidio.h:1718:44: error: request for member 'data' in something not a structure or union879 1718 |                     msg.data[1]=(uint8_t)ev->data.control.value;880      |                                            ^~881c_src/minimidio.h:1721:22: error: 'SND_SEQ_EVENT_PGMCHANGE' undeclared (first use in this function)882 1721 |                 case SND_SEQ_EVENT_PGMCHANGE:883      |                      ^~~~~~~~~~~~~~~~~~~~~~~884c_src/minimidio.h:1722:63: error: request for member 'data' in something not a structure or union885 1722 |                     msg.type=MM_PROGRAM_CHANGE; msg.channel=ev->data.control.channel;886      |                                                               ^~887c_src/minimidio.h:1723:44: error: request for member 'data' in something not a structure or union888 1723 |                     msg.data[0]=(uint8_t)ev->data.control.value;889      |                                            ^~890c_src/minimidio.h:1726:22: error: 'SND_SEQ_EVENT_CHANPRESS' undeclared (first use in this function)891 1726 |                 case SND_SEQ_EVENT_CHANPRESS:892      |                      ^~~~~~~~~~~~~~~~~~~~~~~893c_src/minimidio.h:1727:65: error: request for member 'data' in something not a structure or union894 1727 |                     msg.type=MM_CHANNEL_PRESSURE; msg.channel=ev->data.control.channel;895      |                                                                 ^~896c_src/minimidio.h:1728:44: error: request for member 'data' in something not a structure or union897 1728 |                     msg.data[0]=(uint8_t)ev->data.control.value;898      |                                            ^~899c_src/minimidio.h:1731:22: error: 'SND_SEQ_EVENT_PITCHBEND' undeclared (first use in this function)900 1731 |                 case SND_SEQ_EVENT_PITCHBEND: {901      |                      ^~~~~~~~~~~~~~~~~~~~~~~902c_src/minimidio.h:1732:30: error: request for member 'data' in something not a structure or union903 1732 |                     int pb=ev->data.control.value+8192;904      |                              ^~905c_src/minimidio.h:1733:59: error: request for member 'data' in something not a structure or union906 1733 |                     msg.type=MM_PITCH_BEND; msg.channel=ev->data.control.channel;907      |                                                           ^~908c_src/minimidio.h:1739:22: error: 'SND_SEQ_EVENT_CLOCK' undeclared (first use in this function)909 1739 |                 case SND_SEQ_EVENT_CLOCK:910      |                      ^~~~~~~~~~~~~~~~~~~911c_src/minimidio.h:1741:22: error: 'SND_SEQ_EVENT_START' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_START'?912 1741 |                 case SND_SEQ_EVENT_START:913      |                      ^~~~~~~~~~~~~~~~~~~914      |                      SND_TIMER_EVENT_START915c_src/minimidio.h:1743:22: error: 'SND_SEQ_EVENT_CONTINUE' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_CONTINUE'?916 1743 |                 case SND_SEQ_EVENT_CONTINUE:917      |                      ^~~~~~~~~~~~~~~~~~~~~~918      |                      SND_TIMER_EVENT_CONTINUE919c_src/minimidio.h:1745:22: error: 'SND_SEQ_EVENT_STOP' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_STOP'?920 1745 |                 case SND_SEQ_EVENT_STOP:921      |                      ^~~~~~~~~~~~~~~~~~922      |                      SND_TIMER_EVENT_STOP923c_src/minimidio.h:1749:22: error: 'SND_SEQ_EVENT_SONGPOS' undeclared (first use in this function)924 1749 |                 case SND_SEQ_EVENT_SONGPOS: {925      |                      ^~~~~~~~~~~~~~~~~~~~~926c_src/minimidio.h:1750:46: error: request for member 'data' in something not a structure or union927 1750 |                     uint16_t pos=(uint16_t)ev->data.control.value;928      |                                              ^~929c_src/minimidio.h:1758:22: error: 'SND_SEQ_EVENT_QFRAME' undeclared (first use in this function)930 1758 |                 case SND_SEQ_EVENT_QFRAME:931      |                      ^~~~~~~~~~~~~~~~~~~~932c_src/minimidio.h:1760:44: error: request for member 'data' in something not a structure or union933 1760 |                     msg.data[0]=(uint8_t)ev->data.control.value;934      |                                            ^~935c_src/minimidio.h:1764:22: error: 'SND_SEQ_EVENT_SONGSEL' undeclared (first use in this function)936 1764 |                 case SND_SEQ_EVENT_SONGSEL:937      |                      ^~~~~~~~~~~~~~~~~~~~~938c_src/minimidio.h:1766:44: error: request for member 'data' in something not a structure or union939 1766 |                     msg.data[0]=(uint8_t)ev->data.control.value;940      |                                            ^~941c_src/minimidio.h:1770:22: error: 'SND_SEQ_EVENT_SENSING' undeclared (first use in this function)942 1770 |                 case SND_SEQ_EVENT_SENSING:943      |                      ^~~~~~~~~~~~~~~~~~~~~944c_src/minimidio.h:1775:22: error: 'SND_SEQ_EVENT_TUNE_REQUEST' undeclared (first use in this function)945 1775 |                 case SND_SEQ_EVENT_TUNE_REQUEST:946      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~947c_src/minimidio.h:1780:22: error: 'SND_SEQ_EVENT_RESET' undeclared (first use in this function); did you mean 'SND_CTL_EVENT_LAST'?948 1780 |                 case SND_SEQ_EVENT_RESET:949      |                      ^~~~~~~~~~~~~~~~~~~950      |                      SND_CTL_EVENT_LAST951c_src/minimidio.h:1786:44: error: request for member 'data' in something not a structure or union952 1786 |                     uint8_t* d=(uint8_t*)ev->data.ext.ptr;953      |                                            ^~954c_src/minimidio.h:1787:34: error: request for member 'data' in something not a structure or union955 1787 |                     size_t   n=ev->data.ext.len;956      |                                  ^~957c_src/minimidio.h: In function 'mm_in_open':958c_src/minimidio.h:1819:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)959 1819 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,960      |         ^~~~~~~~~~~~~~~~~~~~~961c_src/minimidio.h:1819:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)962 1819 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,963      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~964c_src/minimidio.h:1831:23: error: implicit declaration of function 'snd_seq_create_simple_port' [-Wimplicit-function-declaration]965 1831 |     dev->al.port_id = snd_seq_create_simple_port(ctx->al.seq, portname,966      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~967c_src/minimidio.h:1832:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)968 1832 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,969      |         ^~~~~~~~~~~~~~~~~~~~~~970c_src/minimidio.h:1832:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)971 1832 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,972      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~973c_src/minimidio.h:1833:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)974 1833 |         SND_SEQ_PORT_TYPE_APPLICATION);975      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~976c_src/minimidio.h: In function 'mm_in_open_raw':977c_src/minimidio.h:1887:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)978 1887 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,979      |         ^~~~~~~~~~~~~~~~~~~~~980c_src/minimidio.h:1887:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)981 1887 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,982      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~983c_src/minimidio.h:1896:9: error: implicit declaration of function 'snd_midi_event_new'; did you mean 'snd_mixer_elem_new'? [-Wimplicit-function-declaration]984 1896 |     if (snd_midi_event_new(MM_SYSEX_BUF_SIZE, &dev->al.midi_ev) < 0)985      |         ^~~~~~~~~~~~~~~~~~986      |         snd_mixer_elem_new987c_src/minimidio.h:1898:5: error: implicit declaration of function 'snd_midi_event_no_status' [-Wimplicit-function-declaration]988 1898 |     snd_midi_event_no_status(dev->al.midi_ev, 1);989      |     ^~~~~~~~~~~~~~~~~~~~~~~~990c_src/minimidio.h:1901:9: error: implicit declaration of function 'snd_midi_event_free'; did you mean 'snd_ctl_event_free'? [-Wimplicit-function-declaration]991 1901 |         snd_midi_event_free(dev->al.midi_ev); dev->al.midi_ev=NULL; return MM_ERROR;992      |         ^~~~~~~~~~~~~~~~~~~993      |         snd_ctl_event_free994c_src/minimidio.h:1906:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)995 1906 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,996      |         ^~~~~~~~~~~~~~~~~~~~~~997c_src/minimidio.h:1906:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)998 1906 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,999      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~1000c_src/minimidio.h:1907:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)1001 1907 |         SND_SEQ_PORT_TYPE_APPLICATION);1002      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~1003c_src/minimidio.h: In function 'mm_in_open_virtual_raw':1004c_src/minimidio.h:1932:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)1005 1932 |         SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,1006      |         ^~~~~~~~~~~~~~~~~~~~~~1007c_src/minimidio.h:1932:34: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)1008 1932 |         SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,1009      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~1010c_src/minimidio.h:1933:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)1011 1933 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);1012      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~1013c_src/minimidio.h:1933:41: error: 'SND_SEQ_PORT_TYPE_MIDI_GENERIC' undeclared (first use in this function)1014 1933 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);1015      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1016c_src/minimidio.h: In function 'mm_in_start':1017c_src/minimidio.h:1946:9: error: implicit declaration of function 'snd_seq_connect_from'; did you mean 'snd_ctl_convert_from_dB'? [-Wimplicit-function-declaration]1018 1946 |         snd_seq_connect_from(al->seq, dev->al.port_id,1019      |         ^~~~~~~~~~~~~~~~~~~~1020      |         snd_ctl_convert_from_dB1021c_src/minimidio.h:1954:13: error: implicit declaration of function 'snd_seq_disconnect_from' [-Wimplicit-function-declaration]1022 1954 |             snd_seq_disconnect_from(al->seq, dev->al.port_id,1023      |             ^~~~~~~~~~~~~~~~~~~~~~~1024c_src/minimidio.h: In function 'mm_in_close':1025c_src/minimidio.h:1982:5: error: implicit declaration of function 'snd_seq_delete_port' [-Wimplicit-function-declaration]1026 1982 |     snd_seq_delete_port(dev->ctx->al.seq, dev->al.port_id);1027      |     ^~~~~~~~~~~~~~~~~~~1028c_src/minimidio.h: In function 'mm_out_open':1029c_src/minimidio.h:1991:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)1030 1991 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);1031      |         ^~~~~~~~~~~~~~~~~~~~~~1032c_src/minimidio.h:1991:32: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)1033 1991 |         SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, 0);1034      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~1035c_src/minimidio.h:1998:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)1036 1998 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,1037      |         ^~~~~~~~~~~~~~~~~~~~~1038c_src/minimidio.h:1998:31: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)1039 1998 |         SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,1040      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~1041c_src/minimidio.h:1999:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)1042 1999 |         SND_SEQ_PORT_TYPE_APPLICATION);1043      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~1044c_src/minimidio.h:2001:5: error: implicit declaration of function 'snd_seq_connect_to' [-Wimplicit-function-declaration]1045 2001 |     snd_seq_connect_to(ctx->al.seq, dev->al.port_id,1046      |     ^~~~~~~~~~~~~~~~~~1047c_src/minimidio.h: At top level:1048c_src/minimidio.h:2008:46: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?1049 2008 | static void mm__alsa_send_ev(mm_device* dev, snd_seq_event_t* ev) {1050      |                                              ^~~~~~~~~~~~~~~1051      |                                              snd_ctl_event_t1052c_src/minimidio.h: In function 'mm_out_send_raw':1053c_src/minimidio.h:2028:5: error: implicit declaration of function 'snd_midi_event_reset_encode' [-Wimplicit-function-declaration]1054 2028 |     snd_midi_event_reset_encode(dev->al.midi_ev);1055      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~1056c_src/minimidio.h:2031:9: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?1057 2031 |         snd_seq_event_t ev; memset(&ev,0,sizeof(ev));1058      |         ^~~~~~~~~~~~~~~1059      |         snd_ctl_event_t1060c_src/minimidio.h:2032:21: error: implicit declaration of function 'snd_midi_event_encode' [-Wimplicit-function-declaration]1061 2032 |         long used = snd_midi_event_encode(dev->al.midi_ev, data+off,1062      |                     ^~~~~~~~~~~~~~~~~~~~~1063c_src/minimidio.h:2036:15: error: request for member 'type' in something not a structure or union1064 2036 |         if (ev.type != SND_SEQ_EVENT_NONE)1065      |               ^1066c_src/minimidio.h:2036:24: error: 'SND_SEQ_EVENT_NONE' undeclared (first use in this function)1067 2036 |         if (ev.type != SND_SEQ_EVENT_NONE)1068      |                        ^~~~~~~~~~~~~~~~~~1069c_src/minimidio.h:2037:13: error: implicit declaration of function 'mm__alsa_send_ev'; did you mean 'mm__alsa_enum'? [-Wimplicit-function-declaration]1070 2037 |             mm__alsa_send_ev(dev, &ev);1071      |             ^~~~~~~~~~~~~~~~1072      |             mm__alsa_enum1073c_src/minimidio.h: In function 'mm_out_send':1074c_src/minimidio.h:2045:5: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?1075 2045 |     snd_seq_event_t ev; memset(&ev,0,sizeof(ev));1076      |     ^~~~~~~~~~~~~~~1077      |     snd_ctl_event_t1078c_src/minimidio.h:2048:13: error: implicit declaration of function 'snd_seq_ev_set_noteon' [-Wimplicit-function-declaration]1079 2048 |             snd_seq_ev_set_noteon(&ev,msg->channel,msg->data[0],msg->data[1]); break;1080      |             ^~~~~~~~~~~~~~~~~~~~~1081c_src/minimidio.h:2050:13: error: implicit declaration of function 'snd_seq_ev_set_noteoff' [-Wimplicit-function-declaration]1082 2050 |             snd_seq_ev_set_noteoff(&ev,msg->channel,msg->data[0],msg->data[1]); break;1083      |             ^~~~~~~~~~~~~~~~~~~~~~1084c_src/minimidio.h:2052:13: error: implicit declaration of function 'snd_seq_ev_set_controller' [-Wimplicit-function-declaration]1085 2052 |             snd_seq_ev_set_controller(&ev,msg->channel,msg->data[0],msg->data[1]); break;1086      |             ^~~~~~~~~~~~~~~~~~~~~~~~~1087c_src/minimidio.h:2054:13: error: implicit declaration of function 'snd_seq_ev_set_keypress' [-Wimplicit-function-declaration]1088 2054 |             snd_seq_ev_set_keypress(&ev,msg->channel,msg->data[0],msg->data[1]); break;1089      |             ^~~~~~~~~~~~~~~~~~~~~~~1090c_src/minimidio.h:2056:13: error: implicit declaration of function 'snd_seq_ev_set_chanpress' [-Wimplicit-function-declaration]1091 2056 |             snd_seq_ev_set_chanpress(&ev,msg->channel,msg->data[0]); break;1092      |             ^~~~~~~~~~~~~~~~~~~~~~~~1093c_src/minimidio.h:2059:13: error: implicit declaration of function 'snd_seq_ev_set_pitchbend' [-Wimplicit-function-declaration]1094 2059 |             snd_seq_ev_set_pitchbend(&ev,msg->channel,pb-8192); break;1095      |             ^~~~~~~~~~~~~~~~~~~~~~~~1096c_src/minimidio.h:2062:13: error: implicit declaration of function 'snd_seq_ev_set_pgmchange' [-Wimplicit-function-declaration]1097 2062 |             snd_seq_ev_set_pgmchange(&ev,msg->channel,msg->data[0]); break;1098      |             ^~~~~~~~~~~~~~~~~~~~~~~~1099c_src/minimidio.h:2063:29: error: request for member 'type' in something not a structure or union1100 2063 |         case MM_CLOCK:    ev.type=SND_SEQ_EVENT_CLOCK;    break;1101      |                             ^1102c_src/minimidio.h:2063:35: error: 'SND_SEQ_EVENT_CLOCK' undeclared (first use in this function)1103 2063 |         case MM_CLOCK:    ev.type=SND_SEQ_EVENT_CLOCK;    break;1104      |                                   ^~~~~~~~~~~~~~~~~~~1105c_src/minimidio.h:2064:29: error: request for member 'type' in something not a structure or union1106 2064 |         case MM_START:    ev.type=SND_SEQ_EVENT_START;    break;1107      |                             ^1108c_src/minimidio.h:2064:35: error: 'SND_SEQ_EVENT_START' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_START'?1109 2064 |         case MM_START:    ev.type=SND_SEQ_EVENT_START;    break;1110      |                                   ^~~~~~~~~~~~~~~~~~~1111      |                                   SND_TIMER_EVENT_START1112c_src/minimidio.h:2065:29: error: request for member 'type' in something not a structure or union1113 2065 |         case MM_CONTINUE: ev.type=SND_SEQ_EVENT_CONTINUE; break;1114      |                             ^1115c_src/minimidio.h:2065:35: error: 'SND_SEQ_EVENT_CONTINUE' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_CONTINUE'?1116 2065 |         case MM_CONTINUE: ev.type=SND_SEQ_EVENT_CONTINUE; break;1117      |                                   ^~~~~~~~~~~~~~~~~~~~~~1118      |                                   SND_TIMER_EVENT_CONTINUE1119c_src/minimidio.h:2066:29: error: request for member 'type' in something not a structure or union1120 2066 |         case MM_STOP:     ev.type=SND_SEQ_EVENT_STOP;     break;1121      |                             ^1122c_src/minimidio.h:2066:35: error: 'SND_SEQ_EVENT_STOP' undeclared (first use in this function); did you mean 'SND_TIMER_EVENT_STOP'?1123 2066 |         case MM_STOP:     ev.type=SND_SEQ_EVENT_STOP;     break;1124      |                                   ^~~~~~~~~~~~~~~~~~1125      |                                   SND_TIMER_EVENT_STOP1126c_src/minimidio.h:2068:15: error: request for member 'type' in something not a structure or union1127 2068 |             ev.type=SND_SEQ_EVENT_SONGPOS;1128      |               ^1129c_src/minimidio.h:2068:21: error: 'SND_SEQ_EVENT_SONGPOS' undeclared (first use in this function)1130 2068 |             ev.type=SND_SEQ_EVENT_SONGPOS;1131      |                     ^~~~~~~~~~~~~~~~~~~~~1132c_src/minimidio.h:2069:15: error: request for member 'data' in something not a structure or union1133 2069 |             ev.data.control.value=msg->song_position; break;1134      |               ^1135c_src/minimidio.h:2071:15: error: request for member 'type' in something not a structure or union1136 2071 |             ev.type=SND_SEQ_EVENT_QFRAME;1137      |               ^1138c_src/minimidio.h:2071:21: error: 'SND_SEQ_EVENT_QFRAME' undeclared (first use in this function)1139 2071 |             ev.type=SND_SEQ_EVENT_QFRAME;1140      |                     ^~~~~~~~~~~~~~~~~~~~1141c_src/minimidio.h:2072:15: error: request for member 'data' in something not a structure or union1142 2072 |             ev.data.control.value=msg->data[0]; break;1143      |               ^1144c_src/minimidio.h:2074:15: error: request for member 'type' in something not a structure or union1145 2074 |             ev.type=SND_SEQ_EVENT_SONGSEL;1146      |               ^1147c_src/minimidio.h:2074:21: error: 'SND_SEQ_EVENT_SONGSEL' undeclared (first use in this function)1148 2074 |             ev.type=SND_SEQ_EVENT_SONGSEL;1149      |                     ^~~~~~~~~~~~~~~~~~~~~1150c_src/minimidio.h:2075:15: error: request for member 'data' in something not a structure or union1151 2075 |             ev.data.control.value=msg->data[0]; break;1152      |               ^1153c_src/minimidio.h:2076:34: error: request for member 'type' in something not a structure or union1154 2076 |         case MM_TUNE_REQUEST:  ev.type=SND_SEQ_EVENT_TUNE_REQUEST; break;1155      |                                  ^1156c_src/minimidio.h:2076:40: error: 'SND_SEQ_EVENT_TUNE_REQUEST' undeclared (first use in this function)1157 2076 |         case MM_TUNE_REQUEST:  ev.type=SND_SEQ_EVENT_TUNE_REQUEST; break;1158      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~1159c_src/minimidio.h:2077:34: error: request for member 'type' in something not a structure or union1160 2077 |         case MM_ACTIVE_SENSE:  ev.type=SND_SEQ_EVENT_SENSING;      break;1161      |                                  ^1162c_src/minimidio.h:2077:40: error: 'SND_SEQ_EVENT_SENSING' undeclared (first use in this function)1163 2077 |         case MM_ACTIVE_SENSE:  ev.type=SND_SEQ_EVENT_SENSING;      break;1164      |                                        ^~~~~~~~~~~~~~~~~~~~~1165c_src/minimidio.h:2078:34: error: request for member 'type' in something not a structure or union1166 2078 |         case MM_RESET:         ev.type=SND_SEQ_EVENT_RESET;        break;1167      |                                  ^1168c_src/minimidio.h:2078:40: error: 'SND_SEQ_EVENT_RESET' undeclared (first use in this function); did you mean 'SND_CTL_EVENT_LAST'?1169 2078 |         case MM_RESET:         ev.type=SND_SEQ_EVENT_RESET;        break;1170      |                                        ^~~~~~~~~~~~~~~~~~~1171      |                                        SND_CTL_EVENT_LAST1172c_src/minimidio.h: In function 'mm_out_send_sysex':1173c_src/minimidio.h:2115:5: error: unknown type name 'snd_seq_event_t'; did you mean 'snd_ctl_event_t'?1174 2115 |     snd_seq_event_t ev; memset(&ev,0,sizeof(ev));1175      |     ^~~~~~~~~~~~~~~1176      |     snd_ctl_event_t1177c_src/minimidio.h:2116:7: error: request for member 'type' in something not a structure or union1178 2116 |     ev.type=SND_SEQ_EVENT_SYSEX;1179      |       ^1180c_src/minimidio.h:2116:13: error: 'SND_SEQ_EVENT_SYSEX' undeclared (first use in this function)1181 2116 |     ev.type=SND_SEQ_EVENT_SYSEX;1182      |             ^~~~~~~~~~~~~~~~~~~1183c_src/minimidio.h:2117:7: error: request for member 'data' in something not a structure or union1184 2117 |     ev.data.ext.len=(unsigned int)size;1185      |       ^1186c_src/minimidio.h:2118:7: error: request for member 'data' in something not a structure or union1187 2118 |     ev.data.ext.ptr=dev->al.sysex_buf;1188      |       ^1189c_src/minimidio.h:2119:7: error: request for member 'flags' in something not a structure or union1190 2119 |     ev.flags=SND_SEQ_EVENT_LENGTH_VARIABLE;1191      |       ^1192c_src/minimidio.h:2119:14: error: 'SND_SEQ_EVENT_LENGTH_VARIABLE' undeclared (first use in this function)1193 2119 |     ev.flags=SND_SEQ_EVENT_LENGTH_VARIABLE;1194      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~1195c_src/minimidio.h: In function 'mm_out_close':1196c_src/minimidio.h:2127:9: error: implicit declaration of function 'snd_seq_disconnect_to' [-Wimplicit-function-declaration]1197 2127 |         snd_seq_disconnect_to(al->seq,dev->al.port_id,1198      |         ^~~~~~~~~~~~~~~~~~~~~1199c_src/minimidio.h: In function 'mm_in_open_virtual':1200c_src/minimidio.h:2160:9: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function)1201 2160 |         SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,1202      |         ^~~~~~~~~~~~~~~~~~~~~~1203c_src/minimidio.h:2160:34: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function)1204 2160 |         SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE,1205      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~1206c_src/minimidio.h:2161:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)1207 2161 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);1208      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~1209c_src/minimidio.h:2161:41: error: 'SND_SEQ_PORT_TYPE_MIDI_GENERIC' undeclared (first use in this function)1210 2161 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);1211      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1212c_src/minimidio.h: In function 'mm_out_open_virtual':1213c_src/minimidio.h:2180:9: error: 'SND_SEQ_PORT_CAP_READ' undeclared (first use in this function)1214 2180 |         SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_SUBS_READ,1215      |         ^~~~~~~~~~~~~~~~~~~~~1216c_src/minimidio.h:2180:33: error: 'SND_SEQ_PORT_CAP_SUBS_READ' undeclared (first use in this function)1217 2180 |         SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_SUBS_READ,1218      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~1219c_src/minimidio.h:2181:9: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function)1220 2181 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);1221      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~1222c_src/minimidio.h:2181:41: error: 'SND_SEQ_PORT_TYPE_MIDI_GENERIC' undeclared (first use in this function)1223 2181 |         SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_MIDI_GENERIC);1224      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1225make: *** [Makefile:24: priv/tuning_fork_midi_nif.so] Error 11226could not compile dependency :tuning_fork_midi, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile tuning_fork_midi --force", update it with "mix deps.update tuning_fork_midi" or clean it with "mix deps.clean tuning_fork_midi"1227==> nerves_compatibility_test1228** (Mix) Could not compile with "make" (exit status: 2).1229tuning_fork_midi's MIDI ports did not build.12301231This package is only the ports. tuning_fork itself is pure Elixir and needs none of it:1232drop this dependency and everything but playing to and reading from a MIDI device still1233works, including writing a .mid file with TuningFork.Midi.write!/3.12341235Building it needs a C compiler, and on Linux the ALSA headers (libasound2-dev).1236