Commit graph

10272 commits

Author SHA1 Message Date
KungFuFurby 0549acc1d9 Correct a typo where the wrong effect ID was used for vibrato waveform
E4x is the correct ID, not E3x, for MOD and XM.
Additionally, updated the coding style for MOD to be more consistent with the
pre-existing code, namely by not using hex for the effect IDs being checked.
2025-09-10 00:18:45 -05:00
KungFuFurby 6252843ade Add envelope enable/disable and high nibble sample offset for IT
Fine print:
- Enabling and disabling panning envelopes take up two effect columns instead of
  one due to the macro being split into left and right sides.
2025-09-09 22:29:05 -05:00
KungFuFurby 0660e25f06 Add vibrato waveform import support for S3M, XM, MOD and IT
Fine print:
- OpenMPT hacks are not implemented here for MOD and XM for random waveform
- Retrigger/Continuous setting is not handled for MOD, XM and S3M
-- For S3M, I can't confirm if the setting even existed:
   I'm pretty sure it got cut out of Impulse Tracker.
- Your waveform may sound different here than in the original player

If tremolo and panbrello waveforms are implemented in Furnace, then their
corresponding conversions can be implemented. For now, though, they can't make
the cut since there is no corresponding effect to change those waveforms from
the default setting.
2025-09-09 22:29:05 -05:00
KungFuFurby 3df67fb1b3 Add some commentary for special series of effects in S3M, XM and IT 2025-09-09 22:29:05 -05:00
tildearrow 7a7d381889 restore scroll text debug 2025-09-08 18:13:33 -05:00
tildearrow 17420d5d23 QSound: fix loop end being used as sample end
even if loop is disabled
2025-09-08 02:32:24 -05:00
tildearrow 7cf66b56ee GUI: load fallback fonts in header font
issue #2400
2025-09-07 18:22:14 -05:00
tildearrow fb35e6f993 GUI: add a compressed font cache
reduce memory usage by not loading the same font twice
2025-09-07 18:13:57 -05:00
tildearrow c75f363453 XM import: actually consider pattern data size
issue #2681
2025-09-07 17:14:24 -05:00
freq-mod 9734c2ebaa
Correct comparison of Game.com to Nintendo Game Boy 2025-09-07 14:37:01 +02:00
tildearrow 3a66e0ceee T6W28: actually fix the phase reset issue
issue #2665
2025-09-07 04:34:59 -05:00
tildearrow d0c4fb0b42 IT import: comments, channel names and pat names
the latter two are MPT extensions

this may not work on songs with MIDI macro setup info
2025-09-06 17:46:16 -05:00
tildearrow 7709640aa0 GUI: possibly fix crash on audio export
issue #2672
2025-09-05 18:50:28 -05:00
KungFuFurby 710545e706 Add documentation for effect 16xy for FDS
Automatic modulation speed, using effect 16xy, was not documented for the
Famicom Disk System. This commit adds documentation. It was adapted from
pre-existing documentation for envelope speeds that says roughly the same
thing.
2025-09-05 18:32:09 -05:00
tildearrow 10e1579089 .......... 2025-09-05 14:12:00 -05:00
tildearrow 1e7bbf2045 PFD debug for issue #2670 2025-09-05 14:01:10 -05:00
tildearrow 0da42f18a6 T6W28: fix noise reset on all duty macro steps
issue #2665
2025-09-05 13:26:52 -05:00
tildearrow aa67f78d36 MMC5: fix typo in comment 2025-09-05 02:10:58 -05:00
tildearrow 67c7afd4cd MMC5: fix env mode not set after reset/forceIns
issue #2675
2025-09-05 01:01:27 -05:00
freq-mod d895a5724a
Clarify modulation description for two-tone mode 2025-09-04 23:12:10 +02:00
tildearrow 15d47cfe03 actually fix stage 20
comparison always was false
2025-09-04 16:00:33 -05:00
tildearrow 24e7338dc5 GUI: add visualizer to cmd stream player 2025-09-04 05:01:48 -05:00
tildearrow dcf5f3f0c7 fix stage 20 not being purple tanks 2025-09-03 04:01:47 -05:00
tildearrow 91965bca8c fix crash when converting to BRR with invalid loop end
issue #2671
2025-09-03 03:58:45 -05:00
cam900 779a8d8810 Add loop end hints for NDS in ADPCM, 8bit PCM 2025-08-29 16:55:53 +09:00
cam900 4ed40d37d6 Add sample limit in OPL4 PCM, Reduce duplicate
it has 512 (if header at 0x000000) or 128 (otherwise; first 384 sample is from bottommost area (ex: YRW801 ROM) in this case) sample limits
2025-08-27 21:02:51 +09:00
cam900 dcfd365cca Minor NDS warning fixes (more) 2025-08-20 17:57:40 -05:00
cam900 39b6eb9a70 Minor NDS warning fixes 2025-08-20 17:57:40 -05:00
cam900 44b2d3d037 QSound: Fix ADPCM Address and code style,
Add QSound ADPCM sample warning:
Because QSound ADPCM has twice long max sample length but start/end addresses are byte aligned, doesn't have loop and pitch (fixed to output rate / 3).
2025-08-20 17:57:40 -05:00
tildearrow ee64dd6a16 T6W28: fix noise emulation
thanks to Burnt Fishy and The Beesh-Spweesh! for information
2025-08-19 20:58:08 -05:00
tildearrow 3b37a5334a OPNA/B: fix SSG DAC/TFX not working with LLE core 2025-08-19 04:23:58 -05:00
tildearrow e9924aeb4b GUI: change resample target limit to 384000 2025-08-19 04:18:26 -05:00
tildearrow 7d9df63a39 GUI: prevent resampling under 100Hz 2025-08-19 04:15:20 -05:00
Eknous-P cfb47d8b06 fix (possible) zero division error and resample hang when resampleTarget<1 2025-08-19 03:36:40 -05:00
Eknous-P fa56ea10bc resample to size 2025-08-19 03:36:40 -05:00
cam900 70d0be5bfe Add sample warnings and loop hints related to sample format
Add/Fix missing warnings in:
YMZ280B: start/loop/end address are byte aligned in any sample format, Sample frequency limit is different at ADPCM and PCM
NDS: start/loop/length are 32 bit word aligned, loop length = loop start + sample length (see https://problemkaputt.de/gbatek.htm#dssound)
ES5506: each sample bank is 4MiB (2Misamples), excluding padding for looping
K007232: each sample bank is 128KiB
ADPCM-B: max sample rate is ((output rate * 65535) / 65536)
X1-010: Sample limit is only for with bankswitch (128KiB in Seta 2 hardware)
MSM6295: Sample frequency is only determined by input clock and frequency divider select pin (sample frequency = input clock / 33 / (4 or 5, determined at frequency divider select pin)).

Add loop point hints for NDS, YMZ280B(ADPCM)
2025-08-18 05:09:50 -05:00
freq-mod e6cb28da82
Merge pull request #2605 from tildearrow/doc-chips
Chip documentation work.
2025-08-18 09:59:40 +02:00
tildearrow a6173e7ee2 GUI: localize more ImGui strings 2025-08-17 19:42:27 -05:00
tildearrow 0dff606d67 GUI: loop start/end hints, part 3
fix loop region display being off by one
2025-08-17 19:42:08 -05:00
tildearrow 9ce9a84dde GUI: loop start/end hints, part 2 2025-08-17 15:26:53 -05:00
tildearrow fc889771b4 fix typo 2025-08-17 15:19:12 -05:00
tildearrow 4b3967039b update po files 2025-08-17 14:54:05 -05:00
tildearrow d597cbaa3b Merge remote-tracking branch 'Kagamiin/i18n/brazilian-portuguese'
pull request #2656
2025-08-17 14:52:27 -05:00
tildearrow ca8be1070c oh no 2025-08-17 14:49:54 -05:00
Kagamiin~ ef958ada2f pt_BR locale brought up to 70% completion 2025-08-17 09:58:19 -03:00
Kagamiin~ 703af243b4 Updating pt_BR translation file (64.95%) 2025-08-17 08:42:45 -03:00
tildearrow 4af768d280 GUI: loop start/end hints, part 1 2025-08-17 05:38:38 -05:00
tildearrow 72247f93fb GUI: prepare to display loop start/end hints
valid loop start/end positions, that is (for SNES, NES, Amiga and other
chips/systems with loop position restrictions)
2025-08-16 23:55:28 -05:00
tildearrow b52aed25dd GUI: optimize sample tex render
optimize background drawing
2025-08-16 17:19:54 -05:00
tildearrow 7b5167880f Revert "fix sample list right-click only working on name"
This reverts commit 43b369495b.
2025-08-16 16:35:39 -05:00