Giter Site home page Giter Site logo

melos's People

Contributors

alexnav73 avatar

Stargazers

 avatar

Watchers

 avatar

melos's Issues

Multilanguage lyrics

Add tabs with different lyrics translations.

Name of the tab should represent sort name of language.
After tabs should be added "+" tab for adding new translations.

Playback queue

Make customizable playback queue from time frames to play audio in sequential order.

It will be useful if user want to play audio without some parts or duplicate some of them.
This needs to be in separate window and must be able to:

  • add existing time frames to the queue
  • move time frames up and down
  • time frames must be updated from main window

Add name for time frame

Add text box near to "+" button to input time frame tag.

Tag should be viewed as not editable text or tooltip. Tag will help to understand to which quaternion the time frame relates to.

Global code reorganizing

Convert current project to a workspace with projects:

  • melos_song - library which provides ability to create and play songs
    • add tests module for testing all sample sources
  • melos_ui (Optional) - make base library for front-end libraries
  • melos_ui_imgui - UI implemented by imgui
  • melos - meta project to collect all libraries into one runnable binary

Fix release build

λ cargo run --release
   Compiling melos v0.1.0 (file:///D:/Programms/Rust/melos)
    Finished release [optimized] target(s) in 70.24 secs
     Running `target\release\melos.exe`
thread 'main' panicked at 'gl function was not loaded', D:\Programms\Rust\melos\target\release\build\gfx_gl-712da6e95429916c\out/gl_bindings.rs:1504:13
stack backtrace:
   0:     0x7ff69c27ee15 - std::sys::windows::backtrace::unwind_backtrace
                               at C:\projects\rust\src\libstd\sys\windows\backtrace\mod.rs:65
   1:     0x7ff69c2876cb - std::sys_common::backtrace::print
                               at C:\projects\rust\src\libstd\sys_common\backtrace.rs:56
   2:     0x7ff69c27bb4f - std::panicking::default_hook::{{closure}}
                               at C:\projects\rust\src\libstd\panicking.rs:381
   3:     0x7ff69c27b7f5 - std::panicking::default_hook
                               at C:\projects\rust\src\libstd\panicking.rs:397
   4:     0x7ff69c27c11c - std::panicking::rust_panic_with_hook
                               at C:\projects\rust\src\libstd\panicking.rs:577
   5:     0x7ff69c246881 - std::panicking::begin_panic::h0511d261efd2bc71
   6:     0x7ff69c2467ab - gfx_gl::FnPtr::new::haa26dec2c5496951
   7:     0x7ff69c2378d3 - <gfx_device_gl::info::Version as core::fmt::Debug>::fmt::h29397dd39c40bfae
   8:     0x7ff69c237a43 - gfx_device_gl::info::get::h5953633c9fd6164f
   9:     0x7ff69c21cc80 - gfx_device_gl::create::h1bc100f8777a6916
  10:     0x7ff69c21c593 - gfx_window_glutin::init_existing_raw::h8bf9174f4d80e784
  11:     0x7ff69c21c342 - gfx_window_glutin::init_raw::h9c634eba15d46005
  12:     0x7ff69c2129f3 - gfx_window_glutin::init::h41182533b6e22a5f
  13:     0x7ff69c20f2ff - melos::support_gfx::run::h6520fdc0d0aa1484
  14:     0x7ff69c2007ee - <melos::Program as melos::support_gfx::AppContext>::show::hb4c56939ce310b69
  15:     0x7ff69c213805 - std::io::append_to_string::hb659ac45b3e09c3e
  16:     0x7ff69c27bd1c - std::panicking::try::do_call<closure,i32>
                               at C:\projects\rust\src\libstd\panicking.rs:476
  17:     0x7ff69c28a961 - panic_unwind::__rust_maybe_catch_panic
                               at C:\projects\rust\src\libpanic_unwind\lib.rs:101
  18:     0x7ff69c27f5e2 - std::rt::lang_start_internal
                               at C:\projects\rust\src\libstd\rt.rs:50
  19:     0x7ff69c200959 - main
  20:     0x7ff69c2e7dfb - __scrt_common_main_seh
                               at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283
  21:     0x7ff941b31fe3 - BaseThreadInitThunk
error: process didn't exit successfully: `target\release\melos.exe` (exit code: 101)

Update:
Bug will be fixed in new version of the gfx_gl (gfx_backend_gl) library

  • Update dependencies when new version will be shipped. To update deps will be enought to start cargo update

Save decoded song to file

Decoding of a song might take to much time to complete. May be it will be faster to store decoded audio stream file for future. It allow to skip decoding part of loading audio in memory.

In future, file with decoded audio stream can be read partially (only that part, which user try to play) and store it inside internal buffer. File will be load completely if user will play all time frames.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.