Code Monkey home page Code Monkey logo

dn-famitracker's Introduction

Dn-Famitracker is a fork of 0CC-FamiTracker that incorporates numerous fixes and features. The meaning of the name "Dn" is "Derivative n", which alludes to this fork being the nth derivative of the original FamiTracker program.

Notable additions

  • DPCM sample bit order reversal
  • Multitrack per-channel export
  • More accessible DPCM pitch preview
  • More accessible VRC7 envelope editing
  • Improved FDS, N163 VRC7 and 2A03 emulation
  • Restored Help manual, now under maintenance at Dn-help
  • and more to come, see the release page and the changelog for more info

Contributing

Contributing and compiling

Downloads

Download releases: GitHub all releases

Development builds: AppVeyor

Github Actions automated builds: GitHub Actions

Github Actions automated release builds: GitHub

Legacy Dev Builds: AppVeyor

Notice: Due to delayed Appveyor reintegration, builds for commits dc4c9e8 to 2141360 are not available.

Notice: Due to delayed branch renaming, builds for commits bc46c86 to a591d15 are not available.

Licenses

The application and the source code are distributed under the GNU GPL 2 license or any later version, but depends on FDS and N163 sound emulation only under the GPL v3.

The original NSF driver source code is unlicensed.

0CC FT NSF driver changes are licensed under GPL v2.

Dn-FT NSF driver changes are licensed under MIT-0.

See also:

dn-famitracker's People

Contributors

copyrat90 avatar eulyderg avatar gumball2415 avatar hertzdevil avatar ipidev avatar kouzeru avatar n-spc700 avatar nstbayless avatar nyanpasu64 avatar raphaelo24 avatar sdhizumi avatar teuthida255 avatar therealquantam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dn-famitracker's Issues

Feature request. Implement screen reader accessibility in dnft?

Hello there, Gumball2415! My name is Juan Reina, I am a blind boy who loves chiptune, including nes/famicom! I have been following famitracker from the days of Jsr, Hertzdevil, Nyanpasu64, and now to you. I am using a screen reader called NVDA, opensorce screen reader for windows, found at https://www.nvaccess.org/ if you like, you can download the screen reader, and give it a shot. Additionally, the blind can only interact with the computer using the keyboard, as we can't see to use the mouse.

What dnft reads out with screen readers for now. Menu UI pressing alt and navigating with arrow keys reads all the menu items file, view, help and so on. It reads window and song title, press insert B to read or alt tab out and then back in. It reads export, save, open, configure, and some other dialog boxes.

What dnft doesn't report. Note. I only figured these out by guessing and paycients. Press alt for the menu, rite to instrument, and enter on new instrument. No version of famitracker reads the channel you're on, tab changes channels. At least the instrument editor reads out and all keys work. Apparently, ctrl home and end do something, but screen reader doesn't report anything. The editing of notes are the hardest, as we don't know where we are in the view if you use the arrow keys, it doesn't report anything. They're more, but these are the little I can think of. I don't know how to code, but I love hardware made chiptune. I hope you will consider making this more screen reader friendly, as alot of people who are blind, really love famitracker, and it being accessible would just be the icing on the cake. Edit, I hope other people from the famitracker community help with this, especially cause I saw Nyanpasu64 and others from famitracker community here.

Memory corruption (heap buffer overflow) when increasing engine speed in VRC7 module

i have a branch of famitracker supporting address sanitizer (https://github.com/nyanpasu64/Dn-FamiTracker/tree/asan). note that file dialogs crash for an unknown reason.

turns out that increasing the tick rate of a vrc7 module by over double can result in memory corruption (writing past the end of the vrc7 audio buffer), even in unmodified master.

explanation at https://docs.google.com/document/d/15j5uyfIH5t6j3NrhJSDfylctmWX7DUJFc3zhRt3elC8/edit#bookmark=id.ob7ro7klshus.

it crashes instantly in asan, it crashes sometime later in non-asan.

[feature request] custom VRC7 patch set

With the ability to switch between different VRC7 hardware patch sets (some of which , a cool extension that immediately suggests itself is to be able to use your own, user-defined sets of patches. this would essentially get around the vrc7's limitation of only one user-defined patch at a time, which would really expand the capabilities of what you could do without (hopefully) too much difficulty of implementation.

When running in Wine, tabs in the configuration window crash Dn-Famitracker

Set up:
The 64bit 0.3.0.0 version of Dn-Famitracker, (debug or release)
MacOS Catalina 10.15.7
Wine 5.7 installed via homebrew (wine-stable or wine-devel package is the same result)

Steps to reproduce:

  • Open the File, Configuration.... menu
  • Try to select the tabs beyond the first

Result:
Famitracker crashes, the following is printed in the terminal which was used to launch wine:

0009:err:seh:setup_exception stack overflow 2512 bytes in thread 0009 eip 000000007bc8c30c esp 0000000000410c40 stack 0x410000-0x411000-0x510000

Screenshot 2021-04-07 at 15 48 31

Screenshot 2021-04-07 at 15 48 38

[bug] FDS modulator overflow in NSF export

In the tracker, when using the automatic FM effect would produce a modulation rate over the maximum i.e. greater than $4806 = $FF and &4807 = $0F, they just get set to the maximum of $FF and $0F respectively, When exporting to NSF, however, the values overflow and wrap around to lower, incorrect values. This bug has been present since 0cc, but I figured that I'd mention it here again. I've attached 0cc and NSF files that succinctly demonstrate the bug.
fds.bug.zip

Port FDS to more accurate emulation

todo:

  • squash "Rename CFDS::m_Fds to m_FDS" into my earlier commits
  • get rid of std::optional to improve performance
  • check to see the two blip_buffers are creating latency or not
    • 9 samples of latency, this is bad
    • fixed: 8 samples of latency from mix_samples()
    • fixed: 1 sample of latency from read_samples()
  • implement "cycles until level change"
    • switch to mesen, the emulation there is more deterministic
    • check if mesen is accurate
      • dreadful quantization due to uint8 output, likely not hardware accurate
      • fixed
  • fix volume meters
  • fix volume mixing levels
    • when testing famitracker with nsfplay 2a03 and mesen fds ("volume comparison pulse fds.0cc"), the 2a03 vs. fds volume balance is closest when the meter is set to +1dB.
    • 10^(1/20) = 1.12201845430196343559
  • licensing: mesen is gplv3, fami is gplv2+
  • remove wall of text from CMixer

Program name

The meaning of the name "Dn" is whatever you wish it to be.

So what you're saying is that the official name for Dn-FamiTracker is "Deez Nuts FamiTracker"? 😏

Frame editor is broken in master

The frame editor has received some changes in master... causing lots of regressions unfortunately.

I tested an old master revision (b6aa6cf), and there have been no substantial code changes between then and now (7022b89).

  • In bookmarked rows, the background color covers up text.
    Bookmark row background covers text
  • As far as I know, there's no option to show the full width of frame editor and disable horizontal scrolling.
  • Clicking on the frame editor does not move the cursor.
  • Cannot click-drag (create a selection) to scroll horizontally.
  • If you click-drag to create a selection, then move the mouse near the top of the screen to scroll up, scrolling stops when row 0 is still not visible (because it's covered by the new channel names header).
    image
  • Related: If you click-drag to create a selection, move the mouse near the top/bottom to scroll up/down, and your mouse leaves the frame editor, it stops scrolling. This was already an issue in 0CC. In my opinion, it should scroll when your mouse cursor is (current behavior, optional) near the edge of the widget, and also (required) outside the widget.
    • Semi-related: With "free cursor edit" (actually unlocking scroll from cursor) enabled, right now if you mouse-select near the top of the screen, the cursor moves up. When it reaches the previous pattern, the pattern data jumps in position. This makes mouse-select almost useless for the top rows.
      https://youtu.be/STilYOKb7JU

[Feature Request] Restore ability to input effects using number pad

Vanilla Famitracker and 0CC-Famitracker both had the ability to input effects that use numbers (such as 4xy) using either the top number row on the keyboard or using the number pad that many keyboards have.

However, this functionality was mysteriously absent from j0CC. I would love to see this restored if at all possible, as it's basically the only reason I'm reluctant to switch from 0CC.

Hold Effect (&&) Bug

Using && when an instrument has a duty set gets reset back to V00 during playback. It's supposed to hold the current duty that is set as well. Effects all chips that allows you to change that.

Edit: It effects all chips apparently, even the VRC7. In that ones case, it swaps to another patch. Weird.

Deep Clone FDS Crash

Deep cloning an FDS instrument of any kind seems to simply crash, at least according to 0.4.0.0 (assuming 0.4.0.1 as well since all that changed was the displayed version)

[Feature Request] NSF Import

This is something that has already been explored in the past but hasn't been updated in a while. The only program I could get to work that imports NSFs into Famitracker is this program by rainwarrior. However, this version runs off of Famitracker 0.3.7, so it doesn't support expansion chips N163 or 5B.

Is this something that would be possible, or would it be outside the scope of Dn-Famitracker?

Open dialogs malfunction if .exe invoked with module in command line

noticed Dn isn't a fan of opening the downloads folder if you opened the program with a module file (i.e: double clicked an associated FTM/0cc file to open)

I used to see this, no longer see it.

I've noticed FamiTracker versions in general change how the filesystem browses depending on whether you opened FamiTracker from a module or if you open it from the executable itself

Certain directories just kinda become inaccessible if you open from module

On my machine, if you call the dn-ft .exe and pass in a .0cc or .ftm file, then the Open dialog is missing "This PC".

This occurs regardless if you call it by a 8.3 .exe name or a long path, through either a file association or in a console. (Dn-FT sets itself as a file handler for .0cc files, using a 8.3 path for the EXE, but the module is passed in as a long path. This is not the bug.) It does not occur if you call Dn-FamiTracker.exe -console (a command line argument that's not a file to open).

Module "reloads" itself to the first song on a module when messing with any setting

Expected behaviour: The module, upon tweaking any song/global setting and confirming the changes, would stay on the same song, with the same row position, after tweaking something in the aforementioned settings. The comments box would not reopen after this action, even if the tickbox for displaying it upon load is enabled.

Actual behaviour as of 0.4.0.1: The module, upon tweaking any global or song setting, resets itself as if you've reopened it upon confirmation. This includes displaying comments if the tickbox for displaying it upon load is enabled.

[Feature Request] 5xy and 50y Vibrato Effects

After some users in the famitracker.org server requested both a triangular vibrato effect and a one-sided vibrato effect, I decided to combine the two concepts into a single effect:

5xy - Triangular Vibrato
x = Vibrato speed (in ticks per frame / 3)
y = Vibrato depth

50y - Channel Vibrato Settings
y = Bitwise Vibrato Control:
Bit 0: Disable upper portion of vibrato
Bit 1: Disable lower portion of vibrato
Bit 2: Reverse vibrato direction
Bit 3: Invert vibrato pitch changes
Settings edited with 50y apply to both 5xy and 4xy.

Sample pitch macro generated by 5xy commands, using default vibrato settings:
515:
| 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -1 -1 -1

Same 5xy pitch macro, but with an 508 effect applied beforehand, inverting the sequence:
| 0 0 0 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 5 0 0 0 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5

When running in Wine, the filebrowser for saving & opening files is not drawn.

Set up:
The 64bit 0.3.0.0 version of Dn-Famitracker, (debug or release)
MacOS Catalina 10.15.7
Wine 5.7 installed via homebrew (wine-stable or wine-devel package is the same result)

Steps to reproduce:

  • Open the File, open.... menu or use the icon
  • Open the File, Save or File, Save As... menu or use the icon
  • Give the file a name and save it
  • Open the File, open.... menu and type the same filename

Results:

You can't tell what folder you're in or navigate to another.
The file is saved (appears on the Mac desktop by default, nice enough)
Files can be opened successfully only from the desktop, and by entering the names, not by selection.
As a workaround I'm able to drag & drop files to open.

The following appears in the terminal from which Wine was launched:

002e:fixme:commdlg:IServiceProvider_fnQueryService Interface {e07010ec-bc17-44c0-97b0-46c7c95b9edc} requested from unknown service {e07010ec-bc17-44c0-97b0-46c7c95b9edc}
002e:fixme:shell:ViewModeToListStyle ViewMode 0 not implemented
002e:fixme:shell:IShellBrowser_fnSendControlMsg stub, 0x2632630 (2, 1026, a003, 0, 0x50b5d0)
002e:fixme:shell:IShellBrowser_fnSendControlMsg stub, 0x2632630 (2, 1026, a004, 0, 0x50b5d0)
002e:fixme:shell:IShellBrowser_fnSendControlMsg stub, 0x2632630 (2, 1025, a003, 1, 0x50b5d0)
002e:fixme:shell:IShellBrowser_fnSendControlMsg stub, 0x2632630 (2, 1025, a004, 1, 0x50b5d0) 

Screenshot 2021-04-07 at 16 11 54

Screenshot 2021-04-07 at 16 11 33

fsync file before renaming

corrupt module :(
the last thing i did was save the module and unplug the pc immediately after because i had to leave

hmm, the hex view shows a bunch of 0s

[Feature Request] VRC7 Instrument Envelopes

This is a major feature change, but it could radically improve Dn-FT's functionally. Allowing users to edit pitch, arpeggio (including scheme arpeggios!), volume, and patch settings from an instrument would open up several doors for VRC7 composition, like complex arps, unique vibrato, and overclocked sound design.

Crash after previewing sample with empty name

Extends Levant DPCM bass has notes which reference a (n/a) unoccupied sample slot. When you export the DPCM bass and reimport, they turn into a 0-byte sample with an empty name, which turns into 1 byte when you save and reopen the module.

CSoundGen::PlaySample() deletes any sample with an empty name. This causes memory corruption when you preview (but not play) the sample, then close the document or preview the sample again.

Per-module audio profiles?

Should add a way to enable on a per-module basis:

  • Don't exponentially reduce volume levels when enabling more expansion chips
  • Make VRC7 decrease volume when enabling more expansion chips
  • Change 2A03 mixing levels and nonlinear mixing equation to match hardware
  • Pick which VRC7 patch set to use? (old OPLL patches for old modules, new hardware-ripped patches, etc... is it useful to add a brand-new flag for restoring long-dead patches used in years-old modules? It would also be useful for new fantasy-chip modules I suppose.)
  • etc.

Changes to be done for HTMHelp manual

  • Transfer the 5B envelope table to its dedicated page
  • Update the Configuration pages
  • Update the Menu pages
  • Update the Pattern Editor screenshot in Pattern Editor page
  • Update Frame Editor info in Control Panel page
  • Update key commands to include 0CC, j0CC and Dn shortcuts
    • Notably toggle N163 multiplex (Ctrl+Shift+M) and upcoming export to .wav (Ctrl+Shift+E)
  • Update NSF exporting page to include 0CC stuff
  • Update Text import and export page(?)
  • Update Effect List page to include the automatic FM modulation command
  • Update DPCM Editor page to include sample bit order reversal
  • Update Command line page
    • See commit 3486b59, do commandline Dn-FamiTracker -help for more info
  • Add more info in Sunsoft 5B page, most notably the instrument editor
  • Fix contact info (currently has jsr’s email in place of github link)
  • Recode entire manual
    • Not much of a priority at the moment

VRC7 Patch Switching Accuracy

There is an obscure trick you can do with the VRC7 expansion chip to generate extra "patches".
Here is a song I made a while ago which demonstrates this: https://youtu.be/T2mho3IAwFE
In FT this involves changing the patch in quick successtion (usually speed 1) like this:
image
(using && instruments provides the most consistent results in the exported NSF)

The problem is that the resulting sound is completely different between j0cc-FT, Dn-FT, and NSFPlay. I have attached a demo module so you can compare the sound in the software I've mentioned.
VRC7Flex.zip

I'm hoping that the NSFPlay core can be integrated for the VRC7, much like the 2A03/FDS.

(An outlandish request if possible: It would be convenient if this behaiviour can be implemented into an instrument, with a UI similar to a duty cycle macro.)

[Bug] Auto Arpeggio Plays in other channels

When toggling the "auto arpeggiate chords" setting under the MIDI tab and holding multiple notes on the keyboard, the selected channel will arpeggiate as normal, but if other channels of the same type are available (e.i. other pulse channels), those channels will still play. This is not present in 0CC-Famitracker, where, when the same setting is toggled on, the other channels remain silent and the selected channel arpeggiates without any other channels sounding.

I hope that makes sense. Let me know if you need anything to help with debugging :)

[Feature Request] Enhanced/Improved DPCM Import (similar to MakeDPCM)

MakeDPCM is comparatively more flexible in converting .wav files to DPCM than the old DPCM import, most notably with finer preprocessing input .wav files and its reduction of positive DPCM bias through a moving average algorithm.

I am planning to implement the following:

  • Fine control of preprocessing the input .wav before conversion
  • Ability to import longer samples to be cut into adjustable chunks lesser than or equal to 4081 bytes
  • Display of the following waveforms:
    • Input .wav file
    • Resulting DPCM
    • Moving average bias

[Feature Req] 2A03 Envelope Editor?

Currently, hardware envelopes are set to effect EEx, and are largely unintuitive and are often not known about. I propose we could give the volume editor a toggle for hardware envelopes, since it both simplifies the workflow (no more manual decay instruments!) and allows one to further utilize the sound hardware.

[Feature Request] Default frame editor size

Currently, the default frame editor size is set to the number of 2A03 channels, which is also the minimum frame editor size. However, some people may find it quite inconvenient when it comes to expansion audio or multichip modules, due to having to re-expand the frame editor every time the module has to be opened.

Extending Vanilla Branch (Beta Builds) Compatibility

Beta 0.5 of FamiTracker (as well as it's April 2020 build) have successfully implemented automatic wave RAM allocation for the N163 expansion chip. While 0CC/forks do minimally support it, all it does is disregard the toggle for said dynamic allocation, instead forcing the user to manually allocate the wave RAM for the instrument. Finding a way to implement this feature would be very nice, and quite possibly extremely beneficial to many FT users, helping simplify the N163 workflow.
image

Now onto the second issue. The later April 2020 beta of Vanilla FT introduced a new module format, same for the pattern data copied to and from the clipboard as well. While I don't expect 100% compatibility with this version, being able to at least read this changed module format would be very useful, same with the "copied pattern data" issue.

There's also some other small quality of life changes to the tracker done in the 2020 beta that I'd personally love to see in Dn-FT at some point in the future (I wouldn't consider these as necessary or required changes):

  • Oscilloscope view has a "smoother" appearance (higher frame rate?)
  • Pattern Editor has a small horizontal line to indicate position within a pattern
    patterns
  • APU2 non-linear volume emulation even when channels are muted (the program seems to "mimic" APU2 delta counter changes even with DPCM/Tri/Noise muted)
  • "Group Instruments" Feature: Sorts instruments by their chip type in the instrument window (e.g.: VRC7 instruments are grouped together while 2A03 instruments are grouped together) while still being in numerical order (compared to other instruments for that chip)
    imageimage
  • "DPCM State" Viewer: displays the sample's current position and delta counter value in the bar above the register state view:
    image
  • "Effect Viewer": similar to register state but always viewable and available. also shows what effects are currently active on that pattern, even listing what frame they've started on.
    image
  • Beta version also has unused customization features for the volume meter's color (and gradient). (Possible to implement into Dn without a massive code rewrite?)

[image would go here, but it crashes amazingly]

[INFO] Deprecating Windows XP Support

Due to updates to Visual Code 2019, Dn-FamiTracker will be dropping Windows XP support for all new releases of Dn-FamiTracker.

While this may be sad to hear for some, we really can't keep supporting a deprecated operating system that is 7 years past it's extended support lifespan.

Despite this, the latest version as of writing (release 0.3.1.0) still supports XP. Consider this build the "legacy" compatible build for older systems. With the release of the next Dn version, 0.3.1.0 will be effectively "legacy" and/or deprecated. When 0.3.1.0 becomes obsolete, it too will become deprecated, and any bugs in that build will not get fixed unless it also affects all later builds of Dn-FamiTracker.

[Feature Request] An ability to hide tracks

This would be especially useful for expansion audio music creation if you want to hide channels your are not using lets say for example the stock NES Triangle channel or DPCM channel.

VRC7 Hardware Presets Reading Improperly

The jump to v0.3 was a warm welcome, what with its features, but I unfortunately found a somewhat annoying bug while messing with the VRC7 instrument presets. The presets play as intended (Patch 1 sounds exactly like Patch 1, Patch 2 sounds exactly like Patch 2, etc), but the instrument data that's read is completely different from their intended data. The preset data itself is read as follows:

1: $13 $41 $14 $0D $D8 $F6 $23 $12
2: $31 $61 $0C $07 $A8 $64 $61 $27
3: $02 $01 $06 $00 $A3 $E2 $F4 $F4
4: $23 $21 $22 $17 $A2 $72 $01 $17
5: $B5 $01 $0F $0F $A8 $A5 $51 $02
6: $71 $23 $11 $06 $65 $74 $18 $16
7: $61 $63 $0C $00 $94 $C0 $33 $F6
8: $01 $01 $18 $0F $DF $F8 $6A $6D
9: $05 $01 $00 $00 $F8 $AA $59 $55
A: $00 $00 $00 $00 $00 $00 $00 $00
B: $00 $00 $00 $00 $00 $00 $00 $00
C: $00 $00 $00 $00 $00 $00 $00 $00
D: $00 $00 $00 $00 $00 $00 $00 $00
E: $00 $00 $00 $00 $00 $00 $00 $00
F: $00 $00 $00 $00 $00 $00 $00 $00

These exact "bugged" presets are consistent throughout each and every patchset.

Improving the way note spellings are handled

First, I'd like to say I'm very glad that DN-Famitracker supports the ability to spell black piano keys as flats. It's a huge help when working in flat key signatures, and it's a feature most trackers lack. However, I think there is room for further improvement in the way note spellings are handled.

One major flaw in this scheme is that it must be manually changed when switching between a song with a sharp key and one with a flat key--or two different sections of a single song that changes keys. There are also times when you want both sharps and flats in a single key--for instance, Bb and C# in the key of D minor.

Additionally, it's not unheard of to see notes like E#, Fb, B#, Cb, or double sharps and double flats in sheet music. Ideally, I'd like all of those to be supported, but it'd be a lot of effort for something that is only rarely useful. It's probably reasonable to draw the line here, but I thought I'd mention it, at least.

Given what I've discussed above, I'd like to propose several different potential ways to address the handling of note spellings:

  • Just add a shortcut that toggles the global setting for how black keys are spelled, so that users can instantly switch between sharp and flat spellings on the fly. (A very simple change that mitigates MANY of the problems with the existing solution, and avoids much of the complexity of the following solutions.)
  • Add a per-song setting for whether to spell black keys as sharps or flats. (A significant improvement over the first solution, and not much more complicated to implement, but still has some deficiencies, and requires changing the save format of the song to support an additional global setting.)
  • Add an effect that changes the way black keys are spelled through the end of the song or until the next time that effect is used. Either "all sharp" or "all flat." (A minor improvement over the above, and wouldn't necessitate changing the save format.)
  • Add an effect that sets the key of the piece, and sets each note to the "most reasonable" spelling for that key. For instance, in D minor, this would involve the spellings Bb and C#. If you decide to pursue this solution, and you're not sure what I mean by "the most reasonable spellings," I'd be happy to explain further.
  • Allow the user to manually set the spelling of each note, perhaps with the shortcut keys Ctrl+F5 and Ctrl+F6. For example, C could be spelled as C, B#, or Dbb. (The most complex but most complete solution, but would involve significantly altering the save format, and would be overkill for most users.)

Thank you for your time and consideration. I have also submitted a similar request to BambooTracker. I mention this only because BambooTracker shares a lot of code with DN-Famitracker, and hopefully it is possible to avoid duplicated effort.

VRC7 audio produces unwanted noises on playback/stop

The VRC7 channels can produce unwanted noises when playing back/stopping a module.
Steps to reproduce the issue:

  1. Make a new VRC7 module and add an instrument with this patch - $00 $00 $00 $07 $80 $F0 $00 $08
  2. Play the instrument.
  3. Play/stop the module. You will hear noises each time, and the volume meters will recognise this. This behaviour will not stop until the sound is killed (F12).

Separate channel export function does not work.

image4

When I tick the "Separate Channel export" box in WAV export, I get the following error "Could not open the file!"
I have tried with 2a03 projects as well as others with expansion chips, but multichannel export is not working in any of them.

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.