- 14 Aug, 2023 2 commits
-
-
Robert Sprowson authored
The quick exit test on end% was using the xpos of the gate start, which would be the start of the bar to the left, when it should be using the rightmost note drawn (of the not-yet-complete bar). This meant if you placed a few notes they could be rubbed away with another window until the bar line was added. Ref: https://www.riscosopen.org/forum/forums/4/topics/18698 Version 2.20. Tagged as 'Maestro-2_20'
-
Robert Sprowson authored
The array GPn%() demarks completed bars so if at the end of the search be careful not to try to find the gate_xpos of an unassigned array entry. Due to BASIC not using lazy evaluation this must be tested for explicitly rather than just swapping the tests around. Ref: https://www.riscosopen.org/forum/forums/4/topics/18712
-
- 12 Mar, 2022 1 commit
-
-
Chris Wraight authored
- Expand Gate blocks to 8 bytes, and store x positions and widths in the main Gate bytestream - Remove PTYPE%(), PX%() and PW%() arrays from code - Remove check for max gates in file - files now limited only by available memory - Rewrite typesetting, printing and loading/saving routines to use the new Gate blocks - Update Notes documentation Version 2.19. Tagged as 'Maestro-2_19'
-
- 27 Oct, 2021 1 commit
-
-
Chris Wraight authored
Dynamically beam barbed notes (quavers, etc). Beams are added to score on loading a file, and updated as notes are edited. Only notes of the same orientation are beamed and notes in the same chord must be placed in the same column on the score. Version 2.18. Tagged as 'Maestro-2_18'
-
- 27 Mar, 2021 1 commit
-
-
Chris Wraight authored
A number of fixes following testing of recent changes: - PROCinsert_gate: Ensure pointers to music data are preserved when the Gate heap block is resized, to prevent possible corruption - PROCmove_note: Call to PROCSetupBarStarts is superfluous here, since it's called later on - PROCplay_notes: Fix calculation of tie lengths - PROCdraw_notes: Ensure dots are positioned correctly after staggered notes - A number of Maestro files tested have key signatures of 1/x. It's not clear how these were created (the interface has never allowed it) but since such signatures are technically legal, add sprites to display them correctly when encountered. Also extend the interface to allow them to be entered into scores. These bar lengths seem to cause the scrolling to become a little jerky but otherwise appear to work fine. Version 2.17. Tagged as 'Maestro-2_17'
-
- 13 Mar, 2021 1 commit
-
-
Chris Wraight authored
Detail: Each Maestro file is held in memory as nine blocks of bytes: one for 'Gate' data, and eight for Note information for each audio channel. Maestro reserved a very big WimpSlot of 720K, and merely divided the space between the end of the program and the end of the Wimpslot by 9 to get equally spaced pointers for each byte block. This was very wasteful (Maestro files are typically only 1-2K in size), and there's no checking to prevent writes from running off the end of the Wimpslot. These changes - Add new memory management routines - Place all program data in resizable heap blocks - Remove EnsureRMA check Admin: Tested on a variety of Maestro files. There's still plenty of inefficiency in the way Maestro handles its data but typically, even with Sprites11 loaded, the Wimpslot goes down to 380K. Version 2.16. Tagged as 'Maestro-2_16'
-
- 10 Feb, 2021 1 commit
-
-
Chris Wraight authored
Detail: Maestro doesn't have any concept of chords, so notes in the same x column are just overlaid on one another. In the case of notes with barbs (quavers, etc) this can result in messy or unintelligible layouts. 'Staggered' notes (where note heads are in too close proximity and need to be nudged) are just shifted right, with no proper algorithm to determine which note heads need to be moved or where they should go. To address this - Expand Note blocks to 1 word to make space to hold more data - Calculate Chord and Stagger data for Notes within Gates - Update typesetting routines to space and redraw chords accurately Admin: Tested with a variety of Maestro files Version 2.15. Tagged as 'Maestro-2_15'
-
- 04 Nov, 2020 1 commit
-
-
Chris Wraight authored
-Ties can be now be over or under the note. -Only notes in the current or next bar are checked for being tied to. -The tie sprite is scaled to match the gap between notes. -Ties can no longer be attached to rests. -Deleting the second note also deletes the tie. Version 2.14. Tagged as 'Maestro-2_14'
-
- 01 Jun, 2019 1 commit
-
-
ROOL authored
Detail: The vertical position of rests can now be set. As a consequence of this, you can now also put more than one rest on the same vertical column on a stave. A longstanding redraw bug has been fixed, meaning that multi-part scores shouldn't experience corruption when notes/rests are added or deleted in multi-part staves. Minor spacing tweaks made to barlines and rests. Admin: Submission from Chris Wraight. Version 2.13. Tagged as 'Maestro-2_13'
-
- 13 Apr, 2019 1 commit
-
-
ROOL authored
Detail: Readability improvements ahead of some other changes Admin: Submission from Chris Wraight. Version 2.12. Tagged as 'Maestro-2_12'
-
- 02 Feb, 2019 1 commit
-
-
ROOL authored
Detail: - Barline popup menu is now the right width for the title string - Toolbar opens at the right size if the main window is very wide on first open - MIDI channel menu handles ticks correctly - Audio output is only set when the dialogue box's Set button is clicked - Double barlines implemented in printing as well as on screen - Double barlines, key signatures and time signatures positioned and spaced more accurately - Tweaks to sprite handling to ensure correct alignment in all screen modes (sdsqu, sharp, squ, streble) Admin: Submission from Chris Wraight Version 2.11. Tagged as 'Maestro-2_11'
-
- 08 Dec, 2018 1 commit
-
-
ROOL authored
Detail: Largely rewritten interface, designed to be more Style Guide compliant, as well as enabling easy addition of new features. Key changes are: * New templates, sprites, messages and supporting Wimp code. Some bugs squashed. Menus and dialogue boxes redesigned * Keypresses and input focus added * Breve, semibreve and minim rests are now properly distinguished and given their own sprites and positions * Double barlines can be added * The only other functional change is that if MIDI is present Maestro no longer sends music to both the internal system and the MIDI device when playing. The user can select which one to use from the Instruments window, and there is a tidier method of selecting MIDI channels. Admin: Submission from Chris Wraight. Version 2.10. Tagged as 'Maestro-2_10'
-
- 22 Mar, 2018 1 commit
-
-
Jeffrey Lee authored
Detail: bas/!RunImage - Fix PreQuit blocking, HelpReplies, and DataLoadAcks to be sent to the task that sent the original message, instead of being broadcast to all tasks Admin: Tested on Raspberry Pi 3B+ Fixes issue reported on the forums which could lead to StrongED dereferencing a bad pointer: https://www.riscosopen.org/forum/forums/4/topics/9451 Version 2.05. Tagged as 'Maestro-2_05'
-
- 11 Jun, 2017 1 commit
-
-
Robert Sprowson authored
From https://www.riscosopen.org/forum/forums/4/topics/9336. Retagged as Maestro-2_04.
-
- 10 Jun, 2017 2 commits
-
-
ROOL authored
Detail: During a build Squish will look up OS and Wimp SWIs (and others), so remove the run time lookup. SendMessage->Wimp_SendMessage; OS_File->OS_File; GetWindowOutline->Wimp_GetWindowOutline; unused SetColour deleted. Version 2.04. Tagged as 'Maestro-2_04'
-
ROOL authored
Detail: * Time signatures are now displayed as sprites, both on screen and printed * Take the plunge and delete the sprites that are unused * Some minor positioning tweaks and updates to the sprite files Admin: Submission from Chris Wraight. Version 2.03. Tagged as 'Maestro-2_03'
-
- 27 May, 2017 1 commit
-
-
ROOL authored
Detail: Improve the visual appearance of scores by using blended graphics. Only the sprite set in use is now held in memory, previously unused sets were too, and add support for EX0 EY0 modes. Sprites updated based on bitmap captures of the PMS font by Richard Hallas, with kind permission. Admin: Submission from Chris Wraight. Version 2.02. Tagged as 'Maestro-2_02'
-
- 22 Nov, 2014 1 commit
-
-
Robert Sprowson authored
Having carefully reviewed the SYS calls, there's no good reason to RMEnsure UtilityModule 3.60. Tested on an A5000 with Wimp 3.16. Version 2.01. Tagged as 'Maestro-2_01'
-
- 19 Jan, 2014 1 commit
-
-
Robert Sprowson authored
Maestro was carefully parsing the file to load in the situation that it had been run because of the RunType alias, but not loading the file. This is because the load operation was deferred into the null poll case after Wimp_Poll, except that Maestro only uses null polls while playing. Also shuffled some of the init into FNinitialise. Version 2.00. Tagged as 'Maestro-2_00'
-
- 18 Dec, 2013 1 commit
-
-
Robert Sprowson authored
Maestro was using Wimp_ReadSysInfo 2 as a proxy for finding the current eigenfactors, but in builds supporting alpha blending this can now be non-numeric. The CASE statement only has a palette of 4 known combinations, so "A2" failed to set the sprite block variable. Even the sprite extension was purely numeric, the same fault would occur in (for example) EX2 EY1 mode for the same reason. Changed to read the eigenfactors from OS_ReadModeVariable. Tested on a Risc PC, now loads successfully. Version 1.99. Tagged as 'Maestro-1_99'
-
- 12 May, 2013 1 commit
-
-
Robert Sprowson authored
Removed the code where !Maestro (re)merged its sprites with the Wimp pool, aside from being unnecessary duplication, avoids needing to duplicate the Wimp's suffix searching algorithm. Version 1.98. Tagged as 'Maestro-1_98'
-
- 03 Apr, 2013 1 commit
-
-
Robert Sprowson authored
No longer needed with Squish 1.15. Version 1.97. Tagged as 'Maestro-1_97'
-
- 09 Oct, 2012 1 commit
-
-
Robert Sprowson authored
Unused variable QUITTING% was being tokenised to QUIT then the squished variable substitute for TING%. Version 1.96. Tagged as 'Maestro-1_96'
-
- 26 Sep, 2012 1 commit
-
-
Robert Sprowson authored
These all use the same sprite, but are placed horiztonally next to eachother so are hard to visually distinguish. Template adjusted to show their relative positions. Added score to a piece by Ed Welch. Version 1.95. Tagged as 'Maestro-1_95'
-
- 05 Sep, 2012 1 commit
-
-
Robert Sprowson authored
* ShostF7 is Fugue number 7 in A major from 24 Preludes and Fugues, opus 87 by Dmitri Shostakovich. Score entered by Richard Hallas, who provides it here in maestro format * Makefile adjusted to insert build version and date into messages file automatically * Sources reimported as text to allow easier diffing. For the full history, you'll need to look at "!RunImage,ffb" in the attic Tested briefly, info box is now right, and tunes are still played. Version 1.94. Tagged as 'Maestro-1_94'
-
- 14 Jan, 2012 1 commit
-
-
Steve Revill authored
Version 1.93. Tagged as 'Maestro-1_93'
-
- 24 Oct, 2009 1 commit
-
-
Jeffrey Lee authored
Version 1.92. Tagged as 'Maestro-1_92'
-
- 05 Nov, 2007 1 commit
-
-
Steve Revill authored
Detail: Fixed main window menu to conform with RO3 Style guide. Maestro no longer uses null polls when it's doing nothing. Admin: Tested on RiscPC RO402. Using !TaskUsage to check usage of null polls. Notes: Changes by James Lampard. Version 1.91. Tagged as 'Maestro-1_91'
-
- 22 Jan, 2007 1 commit
-
-
Steve Revill authored
Detail: Some changes were required in order for this component to build and install correctly. These changes are required for the ROOL 'Disc' build. Admin: Tested in Iyonix 'Disc' build using ROOL 'BuildEnv' build environment NOTE: the filer needs to have seen !Printers for this component to build! Version 1.90. Tagged as 'Maestro-1_90'
-
- 21 Feb, 2003 2 commits
-
-
Steve Revill authored
2D templates and sprites23 nuked. Now determines size of private sprites at run time rather than a hardcoded 12k. Updated version number in Messages and Templates. Version 1.89. Tagged as 'Maestro-1_89'
-
Steve Revill authored
-
- 16 Dec, 1996 1 commit
-
-
Neil Turton authored
-
- 05 Nov, 1996 1 commit
-
-
Neil Turton authored
-