Skip to content

Recognize and warn about broken MIDI-files #303

@Glitchy-Tozier

Description

@Glitchy-Tozier

I've got this bugged midi-file. It happened due to me making a mistake during recording. When trying to view it in Neothesia, the software just crashes.
What should rather happen is that it checks the file, recognizes that it's a malformed file, and tell the user that this isn't going to work.

Here's the backtrace I get when trying to video encode the file using the cli-tool:

[libx264 @ 0x57ed4021f080] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x57ed4021f080] profile High 4:4:4 Predictive, level 4.2, 4:2:0, 8-bit
[libx264 @ 0x57ed4021f080] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=12 keyint_min=1 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
Output #0, mp4, to 'test2.mp4':
  Stream #0:0: Video: h264, yuv420p, 1920x1080, q=2-31, 400 kb/s, 60 tbn
    Side data:
      cpb: bitrate max/min/avg: 0/0/400000 buffer size: 0 vbv_delay: N/A
  Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 64 kb/s
Encoding started:

thread 'main' panicked at neothesia-core/src/render/waterfall/pipeline/mod.rs:85:64:
buffer slices can not be empty
stack backtrace:
   0: __rustc::rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::option::expect_failed
   3: neothesia_core::render::waterfall::pipeline::WaterfallPipeline::render
   4: neothesia_cli::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[aac @ 0x57ed403d3a80] Qavg: nan

System info:
OS: Linux Mint 22.1 Cinnamon
Neothesia version: v0.3.1 via Flatpak; 3e34750 via git clone & cargo build
File: test.mid.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    Status

    Bug Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions