Comments (7)
Hi! Thank you very much!
from wrk2mid.
About the MIDI ports
The Drumstick::File signal signalWRKTrack2()
has a number of parameters, and one of them is the port. See the documentation of this signal here:
https://drumstick.sourceforge.io/docs/classdrumstick_1_1File_1_1QWrk.html#a5d5cbc6fe3813b626d15789f70a47131
When this signal is processed, here: https://github.com/pedrolcl/wrk2mid/blob/master/sequence.cpp#L473
the parameters: port, selected, muted, and loop are ignored. Only the track name is used. You need to do something here with the port parameter. The problem is that SMF tracks don't have this property. There was a "forced port" meta event, which the standard says now that is deprecated, in favor of the new Device Name and Program Name Meta Events:
All the SMF documentation is here: https://www.midi.org/specifications/file-format-specifications/standard-midi-files
from wrk2mid.
This is an excerpt of the SMF spec:
MIDI Channel Prefix
FF 20 01 cc
The MIDI channel (0-15) contained in this event may be used to associate a MIDI channel with all events which follow, including System Exclusive and meta-events. This channel is "effective" until the next normal MIDI event (which contains a channel) or the next MIDI Channel Prefix meta-event. If MIDI channels refer to "tracks", this message may help jam several tracks into a format 0 file, keeping their non-MIDI data associated with a track. This capability is also present in Yamaha's ESEQ file format.
There was another Meta Event: FF 21 01 cc (MIDI Port Prefix) which was used for the same purpose as the corresponding Cakewalk track parameter, but you may find that your current sequencer does not understand it.
from wrk2mid.
About the markers:
This is the opposite case of the port number. There are perfectly defined SMF meta events for text markers and cue points, but I don't know about how Cakewalk stores markers. So the first step should be locate, document and implement in Drumstick signals for them. It would help to have some files with these types of events.
Marker
FF 06 length text
This optional event is used to label points within a sequence, e.g. rehearsal letters, loop points, or section names (such as 'First verse').
For a format 1 MIDI file, Marker Meta events should only occur within the first MTrk chunk.
Cue Point
FF 07 length text
This optional event is used to describe something that happens within a film, video or stage production at that point in the musical score. E.g. 'Car crashes', 'Door opens', etc.
For a format 1 MIDI file, Cue Point Meta events should only occur within the first MTrk chunk.
from wrk2mid.
Tickets created in Sourceforge, at Drumstick (https://sourceforge.net/p/drumstick/bugs/37/) and wrk2mid (https://sourceforge.net/p/wrk2mid/tickets/).
from wrk2mid.
Just in case you are listening: you should check the devel
branch of wrk2mid with current drumstick, to see your marks and ports.
from wrk2mid.
solved in v1.1.0
from wrk2mid.
Related Issues (1)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wrk2mid.