Closed
Bug 1007345
Opened 11 years ago
Closed 11 years ago
Redesign AudioNode view
Categories
(DevTools Graveyard :: Web Audio Editor, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
Firefox 32
People
(Reporter: jsantell, Assigned: jsantell)
References
Details
Attachments
(1 file, 3 obsolete files)
57.42 KB,
patch
|
jsantell
:
review+
|
Details | Diff | Splinter Review |
To handle more granular control for each audionode, and for future enhancements, like updating on property change, individual controls per node (muting, rerouting), and further interspection (list input/output nodes for current node), we need a way to make this usable.
Currently, all nodes are listed in a VariablesView, but new change makes selecting a node in the graph view open up an inspector view for just that audio node (with tabs for controls, parameters, automation, etc.,).
This is just for displaying parameters in an audio node inspector view. Other tools can come in the future.
Sketch of what the 'single node view' looks like: http://imgur.com/fD6RvSu
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → jsantell
Assignee | ||
Comment 1•11 years ago
|
||
Big patch.. revamping how the node inspector portion works, view only one node at a time, will provide more room for additional features per-node in a nice way, and much prettier to boot
Attachment #8419166 -
Flags: review?(vporof)
Assignee | ||
Comment 2•11 years ago
|
||
Assignee | ||
Comment 3•11 years ago
|
||
Still needs explicit tests for the InspectorView (hidden by default, test margins, test that it shows empty content message etc) but wanted to get this up for review as its pretty large
Assignee | ||
Comment 4•11 years ago
|
||
And this is looking lovely: http://i.imgur.com/It5YmGR.gif
Comment 5•11 years ago
|
||
While better than what we used to have before, I'm having a few concers with this redesign:
* The top toolbar is taking a lot of space for nothing (or, more accurately, for just one button)
* The huge blue "Parameters" tab doesn't really offer any additional information and it's just wasted space
* Nodes with no params should probably display "No parameters for this node" or something. Currently it feels like a bug when there's just an expanded "AudioParams" scope with no properties.
* Nodes still look bad on the light theme. Black text on very dark backgrounds are hard to read.
Postponing review until those issues are addressed.
Updated•11 years ago
|
Attachment #8419166 -
Flags: review?(vporof)
Assignee | ||
Comment 6•11 years ago
|
||
* The top toolbar will also have a config gear button
* Huge blue "parameters" tab is, I agree, a bit much, but this is where I'd like to add additional tabs: Context (bug 1007321), Connections, Controls (muting [bug 1007776], start/stop [bug 1006625], disabling [bug 1007778]), and an Automation tab for scheduled automation. That being said, this tab should remain to make room for the future features. The main point of this patch is to make the editor scalable, and shooting to have some of these things added by FF32. like: http://i.imgur.com/fD6RvSu.png
* Agreed on nodes with no audio params.
* we have a prettification bug for light theme that you filed bug 1006875, trying to keep this patch focused on just the structural redesign, rather than the aesthetics
Assignee | ||
Comment 7•11 years ago
|
||
try https://tbpl.mozilla.org/?tree=Try&rev=b95e485c5333
Added tests for the inspector view, and shows 'no audio params' when clicking on a node without audio params, like the destination for example
Attachment #8419166 -
Attachment is obsolete: true
Attachment #8419635 -
Flags: review?(vporof)
Assignee | ||
Comment 8•11 years ago
|
||
Failing on OSX 10.8, wxp, w7, w8, all non-debug builds:
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/devtools/webaudioeditor/test/browser_wa_params_view_edit.js | Test timed out
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/devtools/webaudioeditor/test/browser_wa_params_view_edit.js | Found a tab after previous test timed out: http://example.com/browser/browser/devtools/webaudioeditor/test/doc_simple-context.html
Return code: 1
Assignee | ||
Comment 9•11 years ago
|
||
Nevermind, wasn't the latest tbpl run. (https://tbpl.mozilla.org/?tree=Try&rev=b95e485c5333)
Assignee | ||
Comment 10•11 years ago
|
||
New patch to fix failures on try:
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/devtools/webaudioeditor/test/browser_wa_inspector.js | InspectorView shown once node selected.
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/devtools/webaudioeditor/test/browser_wa_params-view-edit.js | Test timed out
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/devtools/webaudioeditor/test/browser_wa_params-view-edit.js | Found a tab after previous test timed out: http://example.com/browser/browser/devtools/webaudioeditor/test/doc_simple-context.html
Return code: 1
new try: https://tbpl.mozilla.org/?tree=Try&rev=ed533e31de04
No longer blocks: 1006912
Assignee | ||
Comment 11•11 years ago
|
||
Attachment #8419635 -
Attachment is obsolete: true
Attachment #8419635 -
Flags: review?(vporof)
Attachment #8419808 -
Flags: review?(vporof)
Assignee | ||
Comment 12•11 years ago
|
||
Trying to track down last weird issue with VariablesView editing on all machines on try, but not locally, try: https://tbpl.mozilla.org/?tree=Try&rev=8b01829a13bf
Comment 13•11 years ago
|
||
Comment on attachment 8419808 [details] [diff] [review]
1007345-redesign-webaudioeditor-property-view.patch
Review of attachment 8419808 [details] [diff] [review]:
-----------------------------------------------------------------
::: browser/devtools/webaudioeditor/test/browser_wa_graph-click.js
@@ +38,5 @@
> + is(WebAudioInspectorView.getCurrentNode().id, nodeIds[2], "Clicking the same node again works (idempotent).");
> +
> + click(panel.panelWin, $("rect", findGraphNode(panelWin, nodeIds[3])));
> + is(WebAudioInspectorView.getCurrentNode().id, nodeIds[3], "Clicking on a <rect> works as expected.");
> +
Nit: some trailing whitespace in this file.
::: browser/devtools/webaudioeditor/webaudioeditor-view.js
@@ +10,5 @@
> +// Strings for rendering
> +const EXPAND_INSPECTOR_STRING = L10N.getStr("expandInspector");
> +const COLLAPSE_INSPECTOR_STRING = L10N.getStr("collapseInspector");
> +
> +const INSPECTOR_WIDTH = 300;
Why hardcode this? Wouldn't it be better to have a pref for it?
@@ +280,5 @@
> + this._inspectorPaneToggleButton = null;
> + this._tabsPane = null;
> + },
> +
> + toggleInspector: function (flags, index) {
Would be nice to have documentation for all these functions. What are flags? Index?
@@ +291,5 @@
> + if (flags.delayed == null)
> + flags.delayed = true;
> +
> + // Override callback so we can emit an event
> + flags.callback = () => window.emit(EVENTS.UI_INSPECTOR_TOGGLED, flags.visible);
It seems to me that toggleInspector should just take a single `visible` flag, since you're overwriting everything anyway.
@@ +309,5 @@
> + pane.selectedIndex = index;
> + }
> + },
> +
> + isVisible: function () {
Nit: docs.
@@ +317,5 @@
> + /**
> + * Takes a AudioNodeView `node` and sets it as the current
> + * node and scaffolds the inspector view based off of the new node.
> + */
> + setCurrentNode: function (node) {
This name could potentially be confusing without looking at the docs. Node as in DOM node, or audio node? How about `setCurrentAudioNode`?
@@ +325,5 @@
> + // view.
> + if (!node) {
> + $("#web-audio-editor-details-pane-empty").removeAttribute("hidden");
> + $("#web-audio-editor-tabs").setAttribute("hidden", "true");
> + window.emit(EVENTS.UI_INSPECTOR_NODE_SET, null);
Nit: you don't really need to pass `null` if there are no extra arguments.
@@ +333,5 @@
> + $("#web-audio-editor-details-pane-empty").setAttribute("hidden", "true");
> + $("#web-audio-editor-tabs").removeAttribute("hidden");
> + this._setTitle();
> + this._buildPropertiesView()
> + .then(() => window.emit(EVENTS.UI_INSPECTOR_NODE_SET, this._currentNode.id));
Oh, I guess you want to make it symmetric to this? Ok.
::: browser/devtools/webaudioeditor/webaudioeditor.xul
@@ +51,4 @@
> class="devtools-responsive-container"
> flex="1"
> hidden="true">
> + <vbox id="web-audio-content-pane" flex="1">
Is there really no way of removing this toolbar? It takes too much space, even with 2 buttons displayed at some point.
::: browser/locales/en-US/chrome/browser/devtools/webaudioeditor.dtd
@@ +21,5 @@
>
> <!-- LOCALIZATION NOTE (webAudioEditorUI.emptyNotice): This is the label shown
> - while the page is refreshing and the tool waits for a audio context. -->
> <!ENTITY webAudioEditorUI.emptyNotice "Waiting for an audio context to be created…">
> +
Nit: trailing whitespace.
::: browser/themes/shared/devtools/webaudioeditor.inc.css
@@ +141,5 @@
> +#inspector-pane-toggle:active {
> + -moz-image-region: rect(0px,32px,16px,16px);
> +}
> +
> +#body[layout=vertical] #web-audio-inspector {
Where is the "layout" attribute set? Did you verify this works?
Attachment #8419808 -
Flags: review?(vporof) → review+
Assignee | ||
Comment 14•11 years ago
|
||
Thanks for the review, Victor. Added documentation, changed some method names, made a bug for the width being stored as a preference, removed extraneous CSS. For the toolbar, I kinda want to leave it for now, and if it proves to be too much space for not enough benefit (want to add other information here), then we can remove it, but for now, I'd like to try it out.
Still tracking that test failure that consistently fails on all OS on try, but works flawlessly on my 512 MB VMs of every operating system.
Assignee | ||
Comment 15•11 years ago
|
||
Ugly test hack, try push: https://tbpl.mozilla.org/?tree=Try&rev=52786e52324e
Assignee | ||
Comment 16•11 years ago
|
||
Try up, last go, should've fixed the issue with variableView: https://tbpl.mozilla.org/?tree=Try&rev=f33089d37dd0
Assignee | ||
Comment 17•11 years ago
|
||
Attachment #8419808 -
Attachment is obsolete: true
Attachment #8422189 -
Flags: review+
Assignee | ||
Updated•11 years ago
|
Keywords: checkin-needed
Assignee | ||
Comment 18•11 years ago
|
||
Made embarrassing VariableView errors, now fixed on try finally. Ready to check in.
Comment 19•11 years ago
|
||
Keywords: checkin-needed
Whiteboard: [fixed-in-fx-team]
Comment 20•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 32
Updated•7 years ago
|
Product: Firefox → DevTools
Updated•6 years ago
|
Product: DevTools → DevTools Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•