Giter Site home page Giter Site logo

windfisch / muse Goto Github PK

View Code? Open in Web Editor NEW

This project forked from muse-sequencer/muse

0.0 3.0 0.0 36.01 MB

My personal repository of the MusE sequencer

Home Page: http://muse-sequencer.org

C++ 53.04% C 10.82% Objective-C 0.01% Shell 0.06% TeX 0.66% CSS 0.03% IDL 0.14% TypeScript 34.60% Python 0.63%

muse's Introduction

TESTING

muse's People

Contributors

audiofranky avatar oget avatar spamatica avatar terminator356 avatar windfisch avatar

Watchers

 avatar  avatar  avatar

muse's Issues

audio glitches when seeking

I guess that the stretcher still has old data in the buffer. This needs to be emptied first, and there might be a need for lag compensation.

wave parts passthrough

wave parts which contain only one event shall offer the event's functions directly from the partcanvas

Selected parts do not enable Edit->Copy action

In the audiomsg_overhaul branch, selecting a part does not enable Edit->Copy nor Ctrl+C.

Also: in audiostreams (Todo: test whether in master) creating a part (which is then selected automatically) does not enable the action. Selecting it by hand, however, does.

paste dialog crashes, when a wave is copied.

Reproduce:

Create 2 wave tracks, with events on them.
Select on wave event, copy it.

Then Functions -> Paste dialog.
MusE will crash, relevant backtrace is:

(gdb) bt
#0  0xb75a3725 in MusECore::Pos::xtick (this=0x4) at /home/flo/muse-git/muse2/muse/pos.cpp:275
#1  0xb75ef386 in MusECore::WaveEventBase::setAudioFile (this=0x90aa5c8, path=...) at /home/flo/muse-git/muse2/muse/waveevent.cpp:121
#2  0xb75ef64e in MusECore::WaveEventBase::read (this=0x90aa5c8, xml=...) at /home/flo/muse-git/muse2/muse/waveevent.cpp:159
#3  0xb75388e5 in MusECore::Event::read (this=0xbfbac59c, xml=...) at /home/flo/muse-git/muse2/muse/event.cpp:156
#4  0xb75c0c40 in MusECore::readXmlPart (xml=..., track=0x92377f8, doClone=false, toTrack=false) at /home/flo/muse-git/muse2/muse/songfile.cpp:336
#5  0xb6f3a89b in MusECore::get_paste_len () at /home/flo/muse-git/muse2/muse/widgets/utils.cpp:535
#6  0xb7306969 in MusEGui::PartCanvas::cmd (this=0x8a8e628, cmd=7) at /home/flo/muse-git/muse2/muse/arranger/pcanvas.cpp:2712

Put (wave-)event preparation/"defusing" into executeOpGroup[13]

Event, especially WaveEvent needs to create an AudioStream before inserting into a part. However, when altering the Event (e.g. moving it), it is duplicated, then changed.
And with it, the AudioStream and all resources tied to it are duplicated! (Plus, that happens in various contexts, which is bad to maintain)

Instead, Events (and possibly more items in MusE) need an "arm()" and a "defuse()" function, which is called from and ONLY from the execute/revertOperationGroup1/3() functions (i.e. those which are not executed in realtime context).

Pos::frame fixes

must not be mutable
set it on every change instead. upon tempo change, iterate through them all. (???)

raster points for parts

While a part might start somewhere, its beginnig might not align with a "beat".

Instead, the user shall be able to set a marker somewhere inside the part, letting the part snap not relative to its beginning but relative to this marker.

cue points

"TIME" - to - TICK sync points. auto-adapt tempo so that the given tick ALWAYS happens at the required time

Multiprocessing for fetchAudio

this can be done independently from audiostreams.

Multiprocessing in general is pretty hard to realize; however, parallelizing only the prefetcher should be easy.

Clones don't load their clone-ness from a file

After loading a file, parts are not cloned any more.
A file saved by audiomsg_overhaul is correctly loaded by current master.
A file saved by current master (or audiomsg_overhaul) is NOT loaded correctly by audiomsg_overhaul.

Also check for copy'n'paste

use wave event's tempomap

a menu item which overwrites the currenr tempomap with the tempo.of the waveevent.

plus: "the same, but make it begin/end with the current tempo"

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.