scratchminer
ae8d45b1ff
move the two PowerNoise commands to the end
2024-01-22 14:54:27 -05:00
scratchminer
85997e55e7
add Power Noise support
2024-01-21 06:44:29 -05:00
tildearrow
b452641186
Merge branch 'macro-retrigger-effect-tildearow-version'
...
with rewritten retrigger- erm... RESTART function
2024-01-17 14:48:47 -05:00
LTVA1
7f94cdc930
port macro retrigger to orig Furnace
2024-01-17 15:28:29 +03:00
tildearrow
f8187b9a5f
dev191 - kind of remove DIV_ALWAYS_SET_VOLUME
...
it's useless crap I put during the Defle compat days
it serves nearly no purpose nowadays
also why is it a command?
2024-01-16 23:54:32 -05:00
tildearrow
88b42ddd58
update copyright year
2024-01-16 21:26:57 -05:00
Kagamiin~
13e45cfce2
Merge branch 'master' into feature/esfm
2023-12-17 08:31:16 -03:00
tildearrow
51b385a1ef
apply volExp on velocity input - PLEASE READ
...
DivDispatch::mapVelocity() now takes a float instead of an unsigned char
2023-12-16 19:52:37 -05:00
Kagamiin~
f42332f2c0
Merge branch 'master' into feature/esfm
2023-12-15 09:15:05 -03:00
tildearrow
69998e2c7e
prepare for MIDI velocity mapping
2023-12-13 20:44:32 -05:00
Kagamiin~
56d774bb3b
Merge branch 'master' into feature/esfm
2023-11-18 09:15:48 -03:00
Zeta
36804d7c9b
Add an option to round volumes up when applying linear scaling
...
This is secretly a FamiTracker compatibility mode, but it's useful
in many other contexts. With upwards rounding, if both the channel
and the macro volume are positive, then the computed result is
also positive, ie, it will never become 0, which is silent on many
chips.
Still needs UI changes to expose the setting, and save/load work
to persist it to file.
2023-11-14 03:27:03 -05:00
tildearrow
d8daeb1169
GUI: channel status, part 4
2023-10-27 18:08:37 -05:00
tildearrow
20a5d9c089
GUI: channel status, part 3
2023-10-27 04:23:35 -05:00
Kagamiin~
85db9ca16e
Merge branch 'master' into feature/esfm
2023-10-25 17:10:16 -03:00
tildearrow
6dddee40d5
C64: 20xy and 21xy for setting ADSR
...
dropping DefleJank
2023-10-23 13:49:03 -05:00
Kagamiin~
a1b7e52467
Implementing pattern effects, detune on FM preview, default instrument
2023-10-21 14:35:20 -03:00
tildearrow
43468653a0
prepare for pre-calculated pitch table
2023-10-10 20:15:58 -05:00
tildearrow
839dc3cd91
prepare to add channel pair and mode hints
2023-10-05 04:47:14 -05:00
tildearrow
cad63d8351
is this faster?
2023-09-20 00:24:55 -05:00
tildearrow
c9cbf133d6
Eknous please HELP ME
2023-08-23 17:25:05 -05:00
tildearrow
9d410dfe9c
add isVolGlobal to DivDispatch
...
do not key release on pendingNotes if so
issue #1325
2023-08-07 18:05:31 -05:00
tildearrow
ad88ce46ab
dev164 - Namco 163: improvements, part 4
...
- per-channel wave offset/length
- wave load position/length effects
- global wave load effects that actually make sense
- update doc
2023-07-21 19:54:35 -05:00
tildearrow
708c363635
FixedQueue, part 2
2023-07-13 04:09:20 -05:00
tildearrow
0c5e58fa3e
YM2612: implement 9xxx, part 1
...
does not work on VGM export yet
2023-07-09 15:12:45 -05:00
MooingLemur
a8a02b9ebb
Changed EFxx to EExx at request of tildearrow
2023-07-05 15:29:11 -07:00
MooingLemur
fba48149a5
VERA, ZSM Export: Add EFxx event as synchronization message, add sync message support in ZSM export
2023-07-05 15:07:44 -07:00
tildearrow
ef57ad531d
oh crap I did not commit
2023-06-22 03:24:39 -05:00
tildearrow
e759200ac6
NES: add L I N E A R C O U N T E R effect
2023-05-05 01:10:03 -05:00
tildearrow
b037b07c30
SNES: add global volume control effects
2023-05-04 16:49:47 -05:00
tildearrow
88654e26fc
command stream arps
2023-03-27 03:29:43 -05:00
tildearrow
f80a2b8864
GUI: make playing needles in sample editor work
...
currently only for YM2612 but I will implement more soon
2023-03-19 03:12:08 -05:00
tildearrow
e5ab3413cb
oh wow
2023-03-14 01:27:45 -05:00
cam900
f8b9901e4b
Fix command order
2023-02-05 10:04:31 +09:00
cam900
dd79ae401b
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2023-02-05 10:00:27 +09:00
tildearrow
43ba2ff8f2
OPZ: implement LFO2
...
issue #831
untested and I can't test now
2023-02-03 17:00:15 -05:00
cam900
3403e10b0b
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2023-01-24 08:14:29 +09:00
tildearrow
45faadd4c8
update copyright year
2023-01-19 19:18:40 -05:00
cam900
536c345763
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2023-01-12 23:31:56 +09:00
tildearrow
707bbb54ea
add effects for rear panning
2023-01-05 03:08:57 -05:00
tildearrow
08d2f12dbd
prepare new dispatch
...
will allow for more than 2 outputs
2023-01-01 19:46:08 -05:00
cam900
f992346772
Addressing comments
2022-12-25 18:51:23 +09:00
cam900
80fd78dcdd
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2022-12-17 16:53:19 +09:00
tildearrow
6f22ade69a
new arp strategy, part 1
2022-12-17 02:07:24 -05:00
tildearrow
3eb3d8a6f1
prepare for new arp strategy
2022-12-17 01:21:08 -05:00
cam900
429aed0ab1
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2022-12-17 15:00:44 +09:00
tildearrow
905329e1e4
help
2022-12-17 00:54:56 -05:00
tildearrow
9da46ee8ba
implement macro masking
2022-12-17 00:09:56 -05:00
cam900
b2e15a5967
Merge branch 'master' into es5506_alt
2022-12-13 14:48:50 +09:00
cam900
47574fdede
Move file into engine
2022-12-04 20:06:16 +09:00
cam900
18b87dcfaf
Fix build
2022-12-04 20:02:59 +09:00
cam900
2ec4237076
Reduce duplicates of channel struct
...
Add/Fix custom clock limit defines (for YMF278B)
2022-12-04 19:58:58 +09:00
cam900
2ec35d903f
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2022-12-04 16:53:54 +09:00
tildearrow
c6604ff581
add ability to select custom clock rates
2022-12-04 02:04:42 -05:00
tildearrow
b647d17b12
prepare for custom chip clock rates
2022-12-03 04:24:08 -05:00
cam900
7867b59580
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2022-11-30 17:39:43 +09:00
tildearrow
cf38680072
chip sample selection, part 4
...
partially works
2022-11-26 23:50:20 -05:00
tildearrow
3a9349d49a
chip sample selection, part 3
2022-11-26 22:11:49 -05:00
tildearrow
85cb64b227
chip sample selection, part 2
...
add functions to retrieve whether a sample was loaded in chip memory
eventually I'll put warning feedback on the sample list
2022-11-26 18:44:04 -05:00
cam900
792beeb409
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2022-10-29 20:33:36 +09:00
cam900
90ed617cf6
Prepare for split volume scaling macro to 'log volume only' macro and 'log volume if compatibility flag set' macro
2022-10-28 22:36:50 +09:00
cam900
13b2a72a01
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2022-10-26 12:28:24 +09:00
tildearrow
9a1447e392
NES: envelope and length counter effects
2022-10-25 00:43:03 -05:00
cam900
87cb3c49a4
Update ES5506:
...
Remove transwave for now
- It consumes high CPU usage, so possibly little headroom for anything else.
Fix per-voice OSC via git master
Fix default channel for ES5506
Fix macro order - Filter macro must be executed after key on
Add SSV preset
2022-10-22 17:19:39 +09:00
cam900
487607b6ae
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2022-10-22 10:17:00 +09:00
tildearrow
4723ed3972
VGM: experimental direct stream mode for YM2612
2022-10-17 14:25:30 -05:00
tildearrow
684b5a928b
VGM export: prepare for "direct stream mode"
...
this will eventually allow for DualPCM and MSM6258 export
DO NOT USE YET
2022-10-17 04:17:00 -05:00
tildearrow
c3e2e902af
prepare for possible DualPCM and MSM6258 VGM xprt
2022-10-16 21:35:25 -05:00
cam900
987cc113b4
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2022-09-30 20:01:21 +09:00
tildearrow
48db9a1d0c
chip flags rewrite, part 4 - DO NOT USE
...
the next part is to drop systemFlagsOld completely
and then to fix the GUI
2022-09-29 20:13:40 -05:00
cam900
5a6cde65ed
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2022-09-25 18:34:36 +09:00
cam900
0a49d4bfd0
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
2022-09-25 18:32:06 +09:00
tildearrow
01a592100f
SNES: define effects (they don't work yet)
2022-09-25 04:02:06 -05:00
cam900
54dbd0690c
Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro
...
# Conflicts:
# src/engine/fileOps.cpp
# src/engine/platform/lynx.cpp
# src/engine/platform/rf5c68.cpp
# src/engine/platform/su.cpp
# src/engine/platform/x1_010.h
# src/engine/platform/ym2610.cpp
# src/engine/platform/ym2610.h
# src/engine/platform/ym2610b.cpp
# src/engine/platform/ym2610b.h
# src/engine/sysDef.cpp
# src/gui/insEdit.cpp
Add effect command for ADPCM-A global volume, X1-010 Sample bank slot
2022-08-27 17:25:48 +09:00
cam900
4cc79fb49d
Prepare for split sample chip instrument
...
(MSM6258, MSM6295, QSound, Sega PCM, ADPCM-A, ADPCM-B, YMZ280B, RF5C68)
Instrument color and icons are placeholder.
different volume range, hard panned/soft panned and/or independent volume per output, chip-dependent features (global volume, echo, etc)
Allow use sample in instrument tab for chip with sample support
Prepare to support X1-010 Seta 2 style bankswitch behavior
Prepare to support AY89x0 PCM DAC
Support volume for PCE sample (DAC)
Fix Lynx, Y8950 sample pitch matches to sample preview
Support PCM DAC with backward and pingpong loop mode
Reduce some codes
Add Sega PCM, AY89x0, QSound, PCM DAC, Lynx per-channel debug support
2022-08-27 16:27:36 +09:00
Natt Akuma
7c42453422
Rewrite per-system effect handling ( #548 )
...
* Rewrite per-system effect handling
* fix build
* C64: fix fine cutoff regression
* fix some more crashes
Co-authored-by: tildearrow <tildearrow@protonmail.com>
2022-08-18 01:26:22 -05:00
tildearrow
09e32c7050
finish command dump hints
2022-08-04 15:14:29 -05:00
tildearrow
fce0371756
add "hint" commands
2022-08-03 17:21:47 -05:00
tildearrow
52c3b10373
add getWantPreNote()
...
currently only C64 system requires this
2022-08-03 16:21:30 -05:00
cam900
2b5bb91237
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
...
* 'master' of https://github.com/tildearrow/furnace : (55 commits)
GUI: get rid of these stupid icons
update to-do list
MSM6258: the final bits
MSM6258: clock/rate selection
MSM6258: prepare for rate changing
Update n163.md
YM2612: DualPCM per-channel osc
YM2612: more DualPCM muting fixes
YM2612: fix DualPCM muting
GUI: finish the blank ins up
GUI: add "blank new instrument" option
GUI: add mono/poly note preview button
PC speaker: don't use printf/perror
YM2612: CSM arpeggio and slides
YM2612: - C S M -
YM2612: half-working CSM
YM2612: earliest completely untested CSM work
delay collapse/expand pattern/song feature :<
GUI: much more stable osc view
YM2612: fix DAC output not visible in per-chan osc
...
# Conflicts:
# src/engine/platform/genesis.cpp
# src/engine/platform/genesis.h
# src/ta-utils.h
2022-06-26 00:36:36 +09:00
tildearrow
8bfcf00203
prepare for impl of the final compat flag
2022-06-01 16:35:39 -05:00
cam900
32152fd89b
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
...
* 'master' of https://github.com/tildearrow/furnace : (53 commits)
prepare for better backward writing
VGM export: fix oops
GUI: drag-and-drop ins/wave/sample loading
GUI: add "set loop" to sample editor
MSM6295: VGM export!
oops
MSM6295: add rate select effect (20xx)
update meteor shower
MSVC is better than GCC right?
update to-do list
door into summer
GUI: implement input for touch events
GUI: update SDL hints
fix Termux build
add another demo song
add demos/ecolove.fur
update to-do list
update demos/README.md
add new demo songs
dev99 - major Fractal system change
...
# Conflicts:
# src/engine/dispatch.h
# src/engine/platform/genesis.cpp
# src/engine/playback.cpp
# src/engine/song.h
# src/engine/vgmOps.cpp
2022-05-29 13:47:39 +09:00
tildearrow
0b7d27dc29
YM2612: add reverse sample playback
2022-05-27 02:47:44 -05:00
cam900
17881837ab
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
...
* 'master' of https://github.com/tildearrow/furnace : (64 commits)
finish wave synth!
update contributing guidelines
Namco WSG: make non-linear slides faster
wave synth work
SoundUnit: fix order of filter bits
GUI: add Namco arcade presets
implement some dual wave synth effects
Y8950: fix ADPCM VGM export
Namco WSG: finish it up
Namco WSG: 8 channel WSG (CUS30) now works
Namco WSG: muting
Namco WSG: 8 channel WSG (15xx) now works
Namco WSG: 3 channel WSG now works
YM2612: change key on/off strategy
GUI: fix scrollbars not working
Please enter the commit message for your changes.
shhhhhhhhhhhh
update to-do list
Whoops
it doesn't work (yet)
...
# Conflicts:
# src/engine/dispatch.h
# src/engine/platform/su.cpp
# src/engine/playback.cpp
# src/engine/sample.cpp
# src/engine/sample.h
# src/engine/song.h
# src/engine/vgmOps.cpp
# src/gui/presets.cpp
2022-05-25 00:52:00 +09:00
tildearrow
6ec8674072
SoundUnit: many fixes. implement effects
2022-05-19 04:36:26 -05:00
cam900
028adf2c8e
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
...
* 'master' of https://github.com/tildearrow/furnace : (70 commits)
whoops
GUI: AY8930 credits
GUI: fix inability to close subsongs
BANK
OPN: wire up ExtCh system
fix build failure
dev95 - multiple songs in a single file (READ)
DO NOT USE - THIS FAILS - WORK IN PROGRESS
enforce asset limits
old .dmf loading improvements
add AICA and YMZ ADPCM formats
allocate ID for YMZ280B
harden .fur file saver
Fix AY VGM output, Fix presets
preparations for UI improvements
GUI: add more presets
prepare for ExtCh OPN/OPNA
GUI: clarify that lock layout doesn't work yet
GUI: remember last state of order edit mode
GUI: store edit/followOrders/followPattern state
...
# Conflicts:
# src/engine/fileOps.cpp
# src/engine/platform/ym2610.cpp
# src/engine/platform/ym2610b.cpp
# src/engine/sample.cpp
# src/engine/sample.h
# src/engine/sysDef.cpp
# src/gui/doAction.cpp
# src/gui/sysConf.cpp
2022-05-18 03:09:55 +09:00
cam900
23f086fda6
Allow 8 bit filter write, Linear pitch support
2022-05-11 15:10:21 +09:00
cam900
0ab1f69c7c
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
...
* 'master' of https://github.com/tildearrow/furnace :
fix sample saving
add extra FM effects to effect post handler
dev91 - it's a breaking change
aaaaaa
AY8930: Fix tone and noise period in expanded mode.
OPL: fix possible crash
2022-05-04 10:31:15 +09:00
tildearrow
30e60f643c
add extra FM effects to effect post handler
...
see #38
the last thing left to do is to put these effects on the dispatch code
2022-05-03 17:37:17 -05:00
cam900
4021abe495
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
...
* 'master' of https://github.com/tildearrow/furnace :
YM2610: optimize oscilloscope fetch CPU usage
GUI: add audio load meter to statistics
GUI: put "OK" and "Cancel" buttons in the bottom
better FM chip names
sysDef refactor, part 3 - PLEASE READ
NO
Reduce unnecessary line
Debug improvements
AY8930: Fix VGM output.
# Conflicts:
# .gitignore
# src/engine/playback.cpp
# src/gui/debugWindow.cpp
2022-05-04 03:32:26 +09:00
cam900
e136db6d7a
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
...
* 'master' of https://github.com/tildearrow/furnace : (26 commits)
prepare for #38
NES: DPCM work!
fix bug caused by new renderSamples approach
NES: prepare for DPCM
OPZ: more fixed frequency mode fixes
OPZ: possibly fix fixed freq emulation
OPZ: fix muting
OPL: fix panning
damn it
per-channel oscilloscope, part 10
NES: NSFPlay per-channel osc
NES: NSFPlay muting
NES: now fix tri_mute
NES: finally
fix typo in playback engine
NES: wire up NSFplay
now fix it damn it
now move these files
add readme
convertir de Shift-JIS a UTF-8
...
# Conflicts:
# src/engine/engine.cpp
# src/engine/engine.h
# src/engine/platform/nes.cpp
# src/engine/vgmOps.cpp
# src/gui/stats.cpp
2022-05-03 11:07:50 +09:00
cam900
3f0c83eb45
Debug improvements
...
Add oscilloscope debug, Hideable sample debug
2022-05-03 10:20:20 +09:00
tildearrow
66f6ab4307
prepare for #38
2022-05-02 03:52:45 -05:00
tildearrow
5adc29906a
Merge pull request #410 from grauw/dispatch-render-samples
...
Move renderSamples() to DivDispatch implementations.
2022-05-02 00:25:58 -05:00
tildearrow
2c9bad3b3d
per-channel oscilloscope, part 9
...
work in progress!
2022-05-01 18:29:16 -05:00
Laurens Holst
7f0074511c
Move renderSamples() to DivDispatch implementations.
...
To prevent rendering samples for systems that are not in use.
Additionally, it gives the systems more flexibility to render the samples
according to their specific configuration.
2022-05-01 23:23:38 +02:00
cam900
5414213710
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
...
* 'master' of https://github.com/tildearrow/furnace :
maybe uninitialized
GUI: prepare for a per-channel oscilloscope?
GUI: add backdrop if system file picker is open
GUI: add ability to customize startup system
GUI: finally implement "don't scroll when moving c ursor" setting
new panning effects (80/81/82)
GUI: fix sample paste crash
GUI: implement sample scroll with mouse wheel
sysDef oopsie
# Conflicts:
# src/gui/guiConst.cpp
2022-05-01 00:25:21 +09:00
tildearrow
4197fa44fb
GUI: prepare for a per-channel oscilloscope?
...
currently supported systems:
- Amiga
- AY-3-8910
- Dummy System
- OPLL
- SegaPCM
no trigger supported yet!
2022-04-30 03:58:30 -05:00
tildearrow
2e8634626d
new panning effects (80/81/82)
2022-04-29 23:41:14 -05:00
cam900
72e8bb89a7
Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
...
* 'master' of https://github.com/tildearrow/furnace :
GUI: sample/macro zoom with ctrl-wheel
GUI: prevent division by zero
GUI: possibly fix an instrument saving issue
GUI: add chip randomizer button
update to-do list
oops
NES: add DMC write effect
SoundUnit: implement panning
QSound: implement panning macro - PLEASE READ
further improve channel allocation
update format.md for eventual ExtCh extra systems
improvements to swap/stomp channel
# Conflicts:
# src/gui/insEdit.cpp
2022-04-30 02:32:55 +09:00