Giter VIP home page Giter VIP logo

osara's People

Contributors

azslow3 avatar cfillion avatar day-garwood avatar garthhum avatar gianlucaapollaro avatar glenrgordon avatar jcsteh avatar jennykbrennan avatar larssonnebo avatar leonardder avatar matejgolian avatar mulcahy1000 avatar rdmurray avatar scottchesworth avatar vick08 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

osara's Issues

say all tracks with record armed

This would allow one key to report which tracks were armed. Very useful in large projects, where multiple non-contiguous tracks are armed, which may happen when large interfaces are being used, or one forgets to unarm a previously recorded track.

Provide context sensitive feedback for cut, copy and paste

When copying/pasting currently with OSARA, there is no speech feedback.

More often than not, I'll be working in a project and try to cut an item or track and get unexpected results using the default copy/cut/paste behaviors. That plus no audible feedback, and it gets cripple pretty fast.

These OSARA cut/copy/paste actions should also be context sensitive. For example, I press downArrow to move to track5, and I want to cut it. When I press the keystroke to cut in OsARA, it should cut track5.
When I then move through items on a given track and perform a cut or copy, OSARA should cut/copy the items, not the entire track.
The number of items/tracks should be spoken as well. "2 items copied" or "1 track cut," etc.
Items/tracks should be spoken first, the action performed spoken last. More efficient.

Add Action to Report Start, End and Length of Time Selection

Hello,
it would be great if there was an action that would provide info on the time selection. It would be useful if Osara reported the selection start and end points as well as the length. It would be ideal if it followed the ruler time unit chosen in the view menu when doing this.
Currently there are 2 ways of checking the selection, but they aren't very efficient. The first is to press NVDA+B and hope that NVDA catches this info. This works if the info on the time selection is present on the screen, but this is dependent on the items one has enabled in the view menu and so this info might not always get spoken and even if NVDA catches it, one usually has to wait till NVDA gets to the rellevant part. The second method is to press [ and ] respectively. This works as well, but the problem is that it moves the cursor and so if you're for example working on something and use this method to check the start and end points of your time selection, you have to get back to the place you were before (more or less manually) after doing so.
I think that this addition would generally speed up the work flow and would give us an easy way to check if our time selections are exactly as we want them.

Finding out the mute, solo, record monitor and phase status of tracks in a project

At the moment it's possible to get a list of the armed tracks in a project spoken using the action "OSARA: report record armed tracks". Can more actions along this line be created to report which tracks are muted, soloed, have record monitor set to anything other than off, and have phase flipped? I'd ideally like if this info was given as track numbers and names, but understand if you'd want to hold off on adding track names to the announcement until we have some OSARA verbosity settings in place

Selecting contiguous items

Hi, selecting contiguous items on a track would be good. I did it using the sws actions select next item, keeping current selection (across tracks) and of course, select previous item, keeping current selection (across tracks). This works, but in rea-access we had the cursor moving to the selected item that therefore was playing, but more inportantly we had the number of selected items reported and spoken.
I think two new custom actions might be required
Thanks as always and keep up the good work

move and snap individual stretch markers to grid

I would like to be able to move a single stretch marker that I create or that gets created when using the split dynamic item dialog and sbnap it to the previous or next grid position. For now we can snap markers in a time selection to grid, but we can't decide where each of them is going, and reaper doesn't always do it right, especially when we're working with drums and 16th notes

FX Parameters dialog: Provide editable text field for numeric values

Some parameters has only few values such as on/off, but all sliders has 1000 positions. Other sliders is sometimes broken and you can not changing it's values. So if you try to change something and don't hear anything you don't know is this slider locked or may be it has only few values or anything else. Edit box with possibility to move by arrows allows to change something manually and fast or moving by arrows if we don't know what values this parameter can get. Another advantage is elastic range not only 1000 values. For example if you have filter with parameter "frequency" which can be from 1hz to 22khz and step by 1hz slider must have 22000positions. Pitshifter with step 1 semitone and range from -24 to 24 semitones must have only 48 positions. Another advantage is fast entering value by keyboard in edit box if we know exactly what value we wan't to have.

Sorry for my english.

problem with some file names

Hi, I encountered an issue concerning file names Using latest osara in both latest reaper 4 and reaper 5. If you insert any media item that has an accented character in its name, the whole reaper crashes, returning a runtime error. It doesn't happen with rea-access or when osara is not loaded. It started happening a couple of days ago

parameter name in the parameter dialogue not always spoken

Hi,
I noticed that when we have two parameters with the same name one next to the other, only the first one gets announced when we arrow. It happens with readelay and the parameter called "1 length".
Thanks and keep up the good work

Reaper feature request for fx

Hello. I have a question.

Is there a way to move fx around in a chain besides cutting and pasting them? I don't
mind that, but you have to sometimes do tricks to get things where
you want them.
I usually save chains when I get them the way I want them for later
use, but was just wondering if we had some hotkey that I was missing
out on.
Something like move selected fx up or down in the chain. If not, that
would be a cool feature to add..
Thanks.

GF

mute speech

I would like to be able to have a toggle which would allow the disabling of speech from osara. This is useful when I'm scrubbing or doing other edits where speech may not be necessary, or could be a distraction.

Deselect the First Standard Track when only the Master Track Has Focus

Hi,
I haven't tested the current (today's) build of Osara all that much yet, but I think that I found something that has to be addressed.
For testing I inserted a new track into an empty project and than enabled the master track. After that I navigated to the master track with the up arrow. Nothing but the master track was supposed to be selected, when I however tried to insert some new items (as if on the master track) just to see what happens, I found out that from Reaper's point of view the first track (track 1) was still selected. This is to say that the items got inserted on the first track eventhough the first track shouldn't have been selected in the first place. Imfact, in the above scenario nothing should have happened. I therefore came to the conclussion that the first track needs to be be deselected whenever just the master track has focus / is selected. As it is now, we might end up accidentally altering the first track.
Update 1:
From further testing it seems that it would be better to deselect all the standard tracks in the above case as in my second test I had 4 tracks and new items got inserted on the last (4th) track for some reason. Maybe the last track is the one that should be deselected in the end - not the first one. Please, investigate this issue.
Update 2:
This might actually be a Reaper error. I'm not sure, but right now it seems to me that when no tracks are selected, Reaper just inserts new items on the last track whenever an 'insert' action is invoked. Should this be the case you don't have to deal with this issue, of course.
Many thanks for taking a look at this issue.

add right click to the envelopes and envelope points to the applications key to open their context menu

Hi, it's all in the title. Can you make those context menus be clicked depending on focus? I discovered some interesting context menus concerning the envelopes and the envelope points that could help us a lot to choose which envelope I want to activate. When I select an envelope using the actions select next and select previous envelope, I have to use jaws cursor to right click them, I couldn't get NVDA's object nav to bring me where I needed to click. When I select a single envelope point instead using the sws action called move edit cursor to next (or previous) envelope point and select it, I can't get anything to click its context menu, that is different than the one that appears on the general envelope selection. So, to specify a bit more, The general context menu gives us the ability to choose other envelopes to be activated, like pan, volume, and others. The specific context for the points gives us the ability to change values of that selected point, very useful for the volume for example,.

action repeated when it shouldn't be

Hi,
This issue happens only when using jaws; here's how to reproduce it.
Create a track, put something on it and do whatever actions make osara say something, e.g. deleting the item. You will hear one item removed and that's fine. Then open a new project and say you don't want to save the old project by hitting enter on the no button. As soon as the new project opens, you will hear the message "one item removed" or whatever action you used, for a second time and this is unwanted.
I hope something can be done to fix it.
Thanks and keep up the good work

Improve preset combo box in REAPER FX dialog

Keyboard navigation in the preset combo box in REAPER's FX dialog is quite broken. You can't move to or past certain items. In some cases, you end up in loops. Page up/down, home/end or first letter navigation seem to help sometimes, but not always. Expanding the combo box doesn't help. In REAPER 5, it's better, but it's still broken. You can sort of work around this with NVDA object navigation, but it's very tedious at best.

It seems that the CB_GETCURSEL and CB_SETCURSEL messages do work as expected. Therefore, it should be possible to override the up and down arrow keys to forceably select the previous/next item using these messages. The tricky bit is reliably detecting when focus hits this control, since we certainly don't want this stuff happening anywhere else.

Requesting search field for FX Parameters dialog

Some plugins expose literally hundreds of automation parameters. Examples that spring to mind are Addictive Drums and Ozone. It would be mega useful if OSARA had a search field in its FX Parameters dialog which narrowed down the parameters displayed in the combobox in real time, so that once a user is familiar with how parameters are labeled in a given plugin, they'll be able to get to the parameter they need with fewer keypresses. I'd suggest that that the search field would be after the close button in the tabbing order, so that it's quick to tab or shift+tab from search to parameter list and back again.

Custom Actions Don't Trigger OSARA Actions

In Reaper, it is possible to set up one command to perform a string of individual commands. For instance, arm and monitor a track and then bypass effects on that track, all with one keypress.

OSARA commands do not run in custom actions. If you add an OSARA action that should provide speech, it's silent. When adding an action to bring up a window (like an Effect's parameters), nothing happens.

Notes: Using Reaper 4.67 x64. Also tested ReaAccess-specific actions and those definitely work.

View FX Chain for Master Track & Toggle FX Bypass for Mastertrack: Activate These with Commands for Standard Tracks

I don't know if this can be done, but could you make it so that the same keyboard commands that display the FX chain and toggle FX bypass for the current track would also work on the master track if it was focused using Osara?
Right now we have to use f and b in case of standard tracks & shift+f and shift+b in case of the master track. This approach could also be extended to the view i/o for current track and view i/o for master track actions as well as those dealing with FX parameters (Osara: View FX Parameters for Current Track & Osara: View FX Parameters for Master Track).

Action feedback when toggling FX bypass

There is currently no action feedback when toggling FX bypass on tracks or the master track. I'd like to hear confirmation that it's happened, and ideally to be notified that fx are bypassed on a given track when I navigate to it. With Derek and Gianlucas keymap, the following actions are being used:
Track: Toggle FX bypass for current track
Track: Toggle FX bypass for master track
Track: toggle FX bypass on all tracks
These are assigned to B, Shift+B, and CTRL+B respectively.

say current ripple state

There was an action, which was mapped to p in reaaccess, which would remind you of your current ripple editing state. Its tedious to cycle back around to see where you were.

echo undo and redo actions

Hi, I wanted to thank you for the work you've done for reaper and its accessibility. I'm working on a keymap and I assigned some more actions besides the ones you suggested. I wanted to report though that the undos and redos are not echoed and that would be a good thing to have, aswell as when something gets deleted, for example 1 item deleted or track deleted.
I thank you again,
Keep it up,
Best regards,
Gianluca from Italy

Track: Changing track status with tab and checkboxes

In Reaaccess, it is possible to navigate to a track and changing track Parameters with check boxes by pressing tab.
For example parameters like solo, mute, pan, vol, record...
But if i press the tab key, OSARA don't jump to this area.

Keyboard help

Hi Jamie, It would be nice to have a keyboard learn or keyboard help mode so that OSARA would report the assigned function of a given key-press. Thanks for your hard work!

Add Support for All the Ruler Time Units Selectable in the View Menu

Although the time ruler units supported by The Osara: Report Edit Cursor Position action at the moment are sufficient in most cases, it would be cool if Osara supported any unit one can select in the view menu. Some units are better than others for certain tasks (for example frames are useful when 'assembling' an audio CD). Having all these units available to us would be great, because we'd have access to the same information as sighted users do. Another thing is that full suport for time ruler units would in essence be a kind of verbosity control for the Osara: Report Edit Cursor Position action.
If adding support for all the units is too much, it would be great if at least support for hours:minutes:seconds:frames and absolute frames was added in the future.
Many thanks.

Add keystroke to speak position on timeline

There's no way to hear the cursor location quickly, and in the format you want.

When the Time Unit for Ruler is set to show MB/MS ("measures beats/ minutes seconds"), one press of this keystroke should announce the measure/beat, and a fast double press should announce minutes/seconds.

In any other Time Unit for Ruler modes, one press would just report the information depending on which mode it's in. If in minutes/seconds, always report minutes and seconds. If in Hours/minutes/seconds/frames, report that instead. ETC.
No need to double press at that point.

Confusing time reporting when moving by both min/sec and measures/beats

(Originally reported by @GianlucaApollaro on a call.)

Str:

  1. Open a project which is at least 1 minute long.
  2. Set the time ruler unit to minutes:seconds.
  3. Go to end.
  4. Go back several measures (so it crosses the minute boundary). Do not use any other time commands while doing this.
  5. Go to end.
  • Expected: Minutes and seconds should be reported.
  • Actual: Only seconds are reported.

This occurs because the measure/beat and min/sec times are cached separately and only the one that is reported is updated. If the time unit is min/sec, we should always update the cached min/sec as well when moving by measure/beat.

Announcement of inserted FX when navigating to a track

It would be very useful to hear which FX are inserted onto each track as I move through the tracklist. This should be spoken last in line though, because it's probably the least pertinent status message. ReaAccess only speaks this info for the first insert. I'm not sure whether that was by design or due to an API limitation. I'd ideally like to hear more than the first effect here. It would be good if this behaviour could be configurable in the upcoming verbosity dialog that's been discussed.

Reaper crashes on Osara fx parameter changing for Waves IR plugin

I'm using Waves IR for impulse responses. It has several parameters which can be changed using a somewhat accessible gui. Using the osara parameter list however, as soon as I change one of the parameters, the vst host process crashes. Is there a way to rule out whether this is an Osara bug or not?

weird beep when navigating tracks

Hi, all in the title. Now the tracks select properly, but when I navigate to previous or next track I hear a little beep... Is that a known thing?
Thanks

Please allow Osara to interact with the master track

It will be cool if Osara could interact with the master track as Rea Access does. Specifically Rea Access allows to insert fx and it can provide access to the master track related parameters by pressing shift+tab.

Truncate excess zeros when announcing volume, pan and pixel values

In OSARA currently, when adjusting the volume of a track to -4 DB for example, OSARA reports "-4.00 db". It would be ideal to have any extra zeros trimmed to cut down on speech chatter, so instead it reports "-4 db".
This also occurs when zooming in/out of a project. OSARA might say "150.000 pixels" instead of "150 pixels".

However, if a value has non-zeros, report them. For instance, "-4.05 db" or "-4.11 db"

Report Number of Items when Navigating to a Track

It would be great if Osara reported the number of items for the current (touched) track - ideally when navigating to it. Sorry... I just can't be more eloquent. Hopefully it's self-understanding. :D

Make focusable volume/pan fader controls accessible

There are focusable volume and pan faders in some windows; e.g. Track I/O and Item Properties. With NVDA, these don't even get focus properly. Even if we hacked around this, there's still no useful info. It'd be nice to be able to access these, but it's low priority, since there are other reasonable ways to get at the value in each case.

These have a rather useless MSAA implementation which doesn't return the focused state and doesn't return an accValue.

Unfortunately, without hacking the WindowProc, we can't intercept WM_GETOBJECT and provide our own MSAA implementation. One option is to create a fake invisible window and do the accessibility there. I started experimenting with this approach, but it's time consuming and low priority as noted above, so I didn't complete it. For reference, here's the code I added to handleWinEvent to fake focus on this fake window:

    if (event == EVENT_OBJECT_FOCUS) {
        WCHAR className[15] = L"\0";
        GetClassName(hwnd, className, ARRAYSIZE(className));
        if (wcscmp(className, L"REAPERhfader") == 0) {
            HWND fake = CreateWindow(L"Static", NULL, WS_CHILD, 0, 0, 0, 0, hwnd, NULL, NULL, NULL);
            VARIANT state;
            state.vt = VT_I4;
            state.lVal = STATE_SYSTEM_FOCUSED;
            accPropServices->SetHwndProp(fake, OBJID_CLIENT, CHILDID_SELF, PROPID_ACC_STATE, state);
            NotifyWinEvent(EVENT_OBJECT_FOCUS, fake, OBJID_CLIENT, CHILDID_SELF);
        }
    }

After this, it'd be a matter of using dynamic annotation on the fake window to expose the right accValue.

The volume controls (REAPERhfader) respond to TBM_GETPOS. They have a range from 0 to 1000. I ahven't worked out the calculation for the value yet. It is affected by the volume fader maximum in Preferences. At the default of +12dB, 0dB seems to have a value of 716.

The situation is similar for pan faders (REAPERhpanfader), except the calculation is much simpler there: 500 is centre.

Make OSARA translatable

(Filed after a query from @GianlucaApollaro.)

Right now, OSARA is English only. It'd be good if it could be translated into other languages.

OSARA currently uses C++ iostreams for string formatting, which is unfortunately terrible for translation. We need to switch to something else which allows for replacement-based formatting while still allowing for C++ strings, easy concatenation, etc. A bit of research suggests C++ Format could be just the thing.

We then need to figure out how to use GNU gettext (or maybe something else, but I'm familiar with gettext) for OSARA:

  1. I'm not sure how to handle Unicode strings. I haven't found a definite answer, but this post suggests gettext always uses the local encoding. This is not ideal; I'd prefer to always use Unicode rather than converting all over the place.
  2. We need to store the .mo files somewhere, which is a bit tricky given that we're based in REAPER's plugins directory.

Alternatively, it's probably worth investigating what SWS uses.

Reporting and focus sensitivty for remove actions

Hi,
in rea-access by pressing the delete key we could have the item, the selected track, or the selection deleted when we pressed the delete key. In osara this doesn't happen, even if the action says it does. I think this is a focus issue; a sighted user when puts the mouse on a track selects that track and the focus gets to the track, same with items. When I use the delete keys with osara I can delete only items, for deleting tracks or removing the selection I have to use specific actions,. So It turned out I had to map the delete key with shift, ctrl, and both to get the wanted result
Thanks

Investigate Track I/O window behavior

In the Track I/O window (action: "Track: view I/O for current track"), you can't tell which delete button is for which send in your project when tabbing through. ReAccess must be doing something to get the track send name.
Moreover, some things that are visible using flat review/obj nav don't show up in the tab order.

Please investigate the dialog and see if there's a way to make some of these things speak. This includes pre/post fader, sending to other channels on a multichannel track.

Notes: with flat review, I can see which send goes to which track and the delete button, and tested it with success. There's a line above the delete button that says "send to track foo". If I hit the button below that line in flat review, the send going to foo goes away.

Once we know more about this dialog from a true screen reading/MSAA point of view, we can talk about working around it. I don't wanna go suggesting things that might be impossible or a lot of extra work if we can make the defacto stuff work better.

I also noticed that the old ReaAccess send to channel 1/2 >=1/2 stuff is in this dialog. With flat review I can change this, as well as the pre/post fader mode. It's far from practical for speedy use of Reaper, however.

Final thought: could the I/O dialog be hacked around through use of an appModule?

Thanks and apologies for the ramble :)

Problem in selecting the first track when it's the only track in the project

Hi,
I'm using latest osara and reaper 5.1.
Here's how to reproduce this issue:

  1. Open an empty project
  2. Without creating a track, insert an item on the project, thus the track will be automatically created and named with the item name.
  3. Make sure the master track is not visible
  4. Use the action go to previous track or go to next track.
    This track can't be selected, which is not what it was doing by default

say number of split items

There are times when I've made attempts to split items, and the result has failed. There are also other cases where I've accidentally created more items than I intended. It would be ideal to have osara report when items are split, and how many were created.

Weird interference between osara and midi editor

Here's what happens and how to reproduce it.

  1. Insert or record a midi item on a track.
  2. Select and open that item in either the built in midi editor or the in line midi editor.
  3. Try to select all events either through the edit menu or by pressing CtrlA.
    The item gets removed for no apparent reason and this happens only when Osara is loaded

bug in "Toggle record arming for current (last touched) track"

the armed state of the currently touched track is not reported when it's changed. The armed status of a track can be ascertained by going through a track list, but the lack of verbal feedback could lend itself to accidents on the part of the user.

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.