Giter Club home page Giter Club logo

sidfactory2's People

Contributors

chordian avatar kebby avatar micheldebree avatar polluks2 avatar rawpowerlaxity avatar thereallaxity 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

sidfactory2's Issues

Context window for order list editing

This is an old task imported from a notes.txt file where it was set as low priority.

Press Shift+Enter on a sequence index will open up a dialog box with a list of the sequences with info about use, comments, etc.

Uniquely identify build version

@micheldebree wrote the following in a workspace task:

The macOS build automatically sets the version number of the .app bundle and the dmg image to <date>.<svn revision>.

For example 20200829.342

This way the exact same source version can be retrieved for any binary, which helps dealing with bug reports.

[Now that we have migrated to] GitHub, the SVN commit can be replaced with the commit hash. Of course this needs an automatic building proces that does this for us.

We can out this version in the title screen so we can ask people to identify which exact build they have an issue with.

Ctrl+F on a table index pointer for next free spot

With the cursor on a table index pointer byte (i.e. in the commands or instruments table) hitting Ctrl+F could mirror the order list counterpart by automatically filling in the next free index value, then also place the cursor in the corresponding table (e.g. wave, pulse, filter) at that index row - ready to type in data.

Icon for the Windows version

Michel made an SVG icon for the macOS version, based on the yellow tuba from the splash screen. Maybe this can be used for the Windows version too?

logo

Quick save warning toggle - OR - remove quick save warning altogether

Suggesting two ways to do this:

quicksave_checkbox

  1. A check box in a dialog box. When ticked and accepting, the warning dialog never appears again. (That song only or forever? Not sure.)
  2. Don't change the dialog box but instead introduce the new SaveWarning: ON top banner option. When OFF the top header should write Saved for a second when quick saving. As an extra security measure, the warning is always ON when starting SF2 so that you're always conscious about turning it off.

[Driver] Converter-friendly driver with more detailed ADSR commands

This would help to avoid overflowing the command table when converting from other players. They don't need to be anything else than note-focused for this purpose.

I think this should be put in a different major version driver and not 11.xx as it's something that the converter needs. The existing ADSR commands might even be replaced.

One command could handle everything. XX then have bits for nibble or byte as well as AD, SR or A, D, S or R, and YY then has the value that corresponds to that.

Packer support for setting of zero page address usage

This is an old task imported from a notes.txt file where it was set as very high priority.

By the way, some competitor editors allow either setting zero page addresses or enable ghosting (i.e. saved and restored in the beginning and end of player update call). I imagine that the latter is not always worth the trouble, though.

Latest SDL2 might crash SF2 in e.g. Windows 7

Sourcë Gårrett in the Facebook group had his SF2 crashing in Windows 7. I tried SF2 in another Windows 7 with the same screen resolution as his, so it isn't a general problem.

However, Sourcë later found out that it was the SDL2.dll in build 20200718 that crashed SF2. He tried replacing it with an older, more stable 32-bit version from libsdl.org, and then SF2 worked fine on his computer.

ASID support

It may not seem important to us, but it should probably still be considered since a lot of users in the Facebook group actually requested it.

Add the missing key definitions in config.ini

There are still some key definitions that probably should be added to config.ini as they could be wanted elsewhere by users.

Some keys like e.g. Y/N in dialogs, Up/Down and Tab/Shift+Tab are not included. Also, I don't think we need to be as OCD perfect with this as with colors, we can add any additional stragglers in later builds if necessary.

  • Undo: Add Ctrl+Y as secondary along with Ctrl+X
  • Overlay: Move toggle key on F7 to F12 (after RegEdit hack)
  • New: Order list to/from sequence (currently Enter)
  • New: Table edit description (currently Enter)
  • New: Table go to index (currently Ctrl+Enter)
  • New: Table bit edit (currently Shift+Enter)
  • New: Table play last note (currently Space)
  • New: Table play last note with command (currently Ctrl+Space)
  • New: Song list go to position (currently Enter)
  • New: Song list play from position (currently Ctrl+Enter)
  • New: Bookmarks go to bookmark (currently Enter)
  • New: Bookmarks play from bookmark (currently Ctrl+Enter)
  • New: Bookmarks select bookmark (currently Alt+1-8)

[Driver 11] Volume command that can auto-fade

A simple version to just set the main volume $0 to $F was added in driver version 11.02.

A more complicated version could fade in or out, so you wouldn't have to type a ton of the simple commands.

Maybe the command ID could be the same, but the left byte then indicates whether it's a simple set volume or a more advanced fade, and what direction and speed is then used.

Support overlays and color schemes

@micheldebree:

Overlays and color schemes should be bundled in the .app so they can be used right away. Custom overlays and color schemes support is handled in #58.

  • Package color schemes and overlays in the .app
  • Set the right default paths

Include official linux distribution

Just a zip file with

  • A binary
  • The resources
  • Instructions for installation

TODO:

  • Include sf2converter
  • Fix loading of default resources

The source should also have instructions on how to build it yourself.
When unzipped, the resources should be found relatively to the executable.
The sf2 framework should be installed seperately -> refer to sf2 site in the instructions

Before releasing, put it in the CSDB forum to see if it works as expected for real Linux users and gather feedback.

Out of scope:

  • In general, distro dependent stuff like:
  • fancy installer packages
  • inclusion in public package manager repositories

[Driver] Colored rows in the command table

With e.g. 08, 0a and 0b commands it's sometimes easy to lose your bearings. Specific colors for specific commands in the command table would help a lot with that.

@TheRealLaxity actually tried adding colors a while back, when we first discussed it, but they were very LEGO™ and thus a bit much. Maybe more subtle colors need to be defined.

LEGO

Introduce internal ID bytes for all kinds of data tables

Currently, there are only ID bytes 0x80 for instruments and 0x81 for commands. Add ID bytes for all table types, even for those that don't exist in all driver types. (So maybe some error handling is needed too?)

This would be really useful to the converter. As it is now, the converter circumvents this problem by going for the actual table names, but it's not a pretty solution.

Merge the converter into the editor source codes

A big one. All source code for the converter should be merged into the editor solution, abandoning the use of a console.

Instead, loading with F10 should automatically try to detect the file format. If it's an SF2 source file, it loads that as usual. If not, it detects whether it's something that can be imported. If it is and it's converted without the need for outputting messages, it will feel the same as if you loaded an SF2 source file.

If messages are needed to be shown, a box pops up. If just notes and warnings, you may edit the tune when closing it. If errors, the tune is not loaded as you close the box.

A page (or dialog box) with settings

This is an old task imported from a notes.txt file.

Add an options screen for user configuration with key mapping, region mode, SID version, sound buffer size, etc.

A hotkey for filling between notes with +++

As the third fill +++ option, this hotkey could be used between notes to fill both up and down at the same time. If no previous or next note, to top or bottom of sequence.

Since we already have Ctrl+Shift+Up and Ctrl+Shift+Down, maybe the new one could use Ctrl+Shift+Enter.

Update cursor line in song list when using Ctrl+G

When you hit Ctrl+G to go to the spot in a orderlist/sequence in the blue tracks, the cursor line in the song list (previously known as the gray orderlist) should also go there and maybe also center its list.

Automatic analyze/optimization when packing

Run the analyzer when packing, and if the tune can be optimized then either show a dialog box about it or perhaps just do it.

Alternatively, you could always ask first when the packing option is selected, e.g. "would you like to optimize the song first?"

Undo crashes when saved as new song

@micheldebree:

On macOS:

  • Open a song
  • Edit something (I changed a value in the instrument table)
  • Save under a different name with F11
  • Undo = Crash

I guess saving it as a new song messes up the undo history.

Description labels for song list and bookmarks

Space has already been allocated for this.

Only the song list (previously known as the gray orderlist) should have actually editable descriptions.

In the bookmarks box, it should not be possible to edit the descriptions. Instead, a bookmark should display a description from the song list if it aligns to that spot and there is any. Updating a song list description that is also bookmarked should then also update the bookmark description copies.

The bookmarks descriptions should be slightly dimmed to make it obvious that you cannot edit them there.

Jump to bookmark immediately when selecting it

Tomas Unosson:

Alt+1-8 changes bookmark but does not move the cursor. Ctrl-G moves the cursor, but it's quite annoying to do that extra step. It seems like selecting the bookmark should also move the cursor.

Driver support for sound effects

After having made support for sub tunes (see #37 about that), it might be nice to add support for sound effects too, so that SF2 can be used effectively for C64 games.

One (or more) channels in a driver could allow for starting individual sequences (maybe even a small sub tune) that runs completely independently from the music playing in the background via the other channels.

This is definitely a driver update (maybe it even warrants a separate driver) but I'm not sure the editor needs to be updated? Maybe you just need to know how to call the sound effects along with the music in your C64 game.

Hyperlinks in overlay image area

A hyperlink on the overlay image could be a hot spot that opens the web browser. SF2 just checks a small area at a specific X, Y coordinate and it's then the responsibility of the overlay to make sure something relatable (e.g. a hyperlink text) is located there.

Perhaps an even better method would be if SF2 can place its own small hyperlink text somewhere on top of the overlay area that it can react to directly.

Is any of this possible to do across platforms?

A "file has changed" star + skipping confirmation dialogs

Whenever a data has been changed in a file after loading or starting from scratch, a star is added in the window title bar. Apart from being able to see that you have made changes, it also affects many confirmation dialogs.

If nothing has been changed since load or start, the confirmation dialog for new load, quit program, etc. are not shown.

Editor and driver support for multispeed

Support for 2x, 3x, 4x... how high should we go?

Driver with one call for general maintenance and subsequent calls for updating effects only.

The multiplier value could be shown in the bottom right info area below the tables.

Marking part of a sequence for copy/paste or playing

Being able to mark part of a sequence with Shift and cursor keys, or marking with the mouse. The marking would be visible in all three tracks although more clearly/colorful in the currently edited sequence.

Things to do with such a marked block:

  1. Copy it for pasting into the same or another sequence. This might not be used much and could be moved to a different issue while only doing the next step.

  2. F2 now temporarily play-loops only this block. Cool while adjusting sounds for it. As soon as the block marked is cleared away, F2 returns to its usual behavior.

Hotkeys for duplicating sequences

As originally planned.

Could be especially nice if it automatically replaces the old sequence completely. So A005 becomes A02F in the same position without increasing or decreasing the orderlist, ready to make unique changes.

So, Ctrl+D is like Ctrl+C, Delete, Ctrl+F and Ctrl+V.

The target for the duplication should be the next empty and unused sequence, the same functionality as #47

A toggle button for negating hex numbers in tables

The negating hotkey is to be used on bytes that may add or subtract an effect.

For example, from 20 to E0 and back, or from 010 to FF0 and back. The player and meta data "knows" what nibbles in a row supports this when the hotkey is pressed.

Change hotkeys and order of loading tunes and drivers

As it is now, SF2 can load a driver with F10 and then you can hit Ctrl+F10 to import a song on top of it.

It might not be the most intuitive way of doing this.

A better way could be to load the song as always with F10, and then optionally apply a different driver to it with Ctrl+F10. If technically possible, I think it would make more sense.

Song list should also do follow-play

When activating follow-play and playing (blue tracks scroll along) the song list (previously known as the gray order list) should also update.

One way of doing it is to let the red marker move down to the middle of the song list after which it stays centered while the song list itself moves. When the song list can no longer scroll up, only the red marker itself moves down towards the absolute end.

MIDI support in the editor itself

Hooking up to MIDI equipment, play with SID instruments in the editor, transfer live music data, that sort of stuff.

This task was requested in the Facebook group.

macOS binaries built on Github are 10.15 only

The version build on Github doesn't work on 10.14, it says it is Catalina only
This means some people (including me) won't be able to use it.
When I build locally on 10.14, it produces a binary that works on previous versions of macOS aswell

Ctrl+Enter in a sequence to append more lines

Hitting Ctrl+Enter in the sequence itself could append a cluster of more lines in the bottom of it. The number of lines appended could correspond to whatever was typed in Shift+F5 earlier (the default could be $10 lines).

Overlay is black when no images found

Found in the linux version; because there are no overlay images for 'linux' platform, they cannot be loaded. The overlay does switch on and goes to black. On macOS it also flickers.
I would expect the overlay not to switch on, maybe an error message aswell.

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.