Skip to content

Commit 50969fe

Browse files
authored
Merge pull request #2 from lanly-dev/3.0
3.0
2 parents 3db60ee + 3de38b8 commit 50969fe

19 files changed

+381
-168
lines changed

.eslintrc.json

Lines changed: 0 additions & 18 deletions
This file was deleted.

.vscode/settings.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
{
22
"cSpell.words": [
3+
"autoplay",
34
"codicon",
45
"codicons",
56
"flac",
67
"lanly",
8+
"seekbar",
79
"susres",
8-
"Typecheck",
10+
"treeview",
11+
"vscodeignore",
12+
"wavesurfer",
913
"webaudio"
1014
],
1115
"editor.rulers": [120],
12-
"explorer.sortOrder": "type"
16+
"explorer.sortOrder": "type",
17+
"terminal.integrated.defaultProfile.windows": "Command Prompt"
1318
}

.vscodeignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
.token
33
.vscode
44
**/*.map
5-
CHANGELOG.md
65
demo
76
jsconfig.json
87
lab

CHANGELOG.md

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,39 +4,48 @@ All notable changes to the "Spectrogram" extension will be documented in this fi
44
Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
55

66
## [Future Works]
7-
- [Display duration in explorer](https://code.visualstudio.com/api/extension-guides/tree-view#view-actions)
8-
- Generate spectrogram faster than real time, depend on Web Audio API?
9-
- New icon
10-
- More colors
117
- Real-time input mode/recorder
12-
- Seeker bar slider
13-
- [Support more audio codecs](https://code.visualstudio.com/updates/v1_71#_ffmpeg-codecs-support)
8+
- Generate spectrogram instead real-time - [Wavesurfer](https://wavesurfer.xyz/)
9+
1410
---
11+
## [3.0.0] - February 2025
12+
- Support WAV
13+
- Add seekbar
14+
- Add color RBG config
15+
- Add duration in treeview
16+
- New icon and logo
17+
18+
### Notes
19+
- Clicking treeview item some time able trigger playing the song, but due to the autoplay policy, most of the time you have to click play button inside the webview
20+
21+
### References
22+
- Treeview API https://code.visualstudio.com/api/extension-guides/tree-view#view-actions
23+
- VS Code support codecs https://code.visualstudio.com/updates/v1_71#_ffmpeg-codecs-support
1524

1625
## [2.0.0] - September 2022
17-
- Add seeking 5s back and fort buttons
26+
- Add seeking 5s back and forth buttons
1827
- Reduce extension size with Webpack
19-
- Support flac
28+
- Support FLAC
2029
- Switch to `main` branch
2130
- Use [Codicons](https://microsoft.github.io/vscode-codicons/dist/codicon.html)
2231
- Use resume/suspend methods
2332
- webpack 5.74.0 compiled with 1 warning in 9069 ms
2433
- 12 files, 278.85KB, 1.71.0
2534

2635
Known issues:
27-
- Webpack watch doesn't work as expect - it does rebuild but not each change-save
28-
- Vscode's debugging needs to click twice - run and restart in order to launch the app (maybe only for macOS)
36+
- Webpack watch doesn't work as expected - it does rebuild but not on each change-save
37+
- VS Code's debugging needs to click twice - run and restart in order to launch the app (maybe only for macOS)
2938

3039
Notes:
31-
- **Finally! This extension works on vscode stable version** 🙌🎊🎉🥳🥂
32-
- It turns out that vscode doesn't ship mp3 codec with its ffmpeg library (it probably got removed in the past since this extension worked before) and recently add it back in v1.71 - [Issue](https://github.com/microsoft/vscode/ssues/48494)
33-
- Put back resume/suspend since the issue got fixed for electron/chromium - [Issue1052747](https://bugs.chromium.org/p/chromium/issues/detail?id=1052747) | [Issue1018499](https://bugs.chromium.org/p/chromium/issues/detail?id=1018499)
34-
- Reduce extension size - it was funny to see previous version use webpack to minimize the 1 file - `controller.js`
35-
- All previous versions of this extension will not work in any recent vscode versions
40+
- **Finally! This extension works on VS Code stable version** 🙌🎊🎉🥳🥂
41+
- It turns out that VS Code doesn't ship MP3 codec with its FFmpeg library (it probably got removed in the past since this extension worked before) and recently added it back in v1.71 - [Issue](https://github.com/microsoft/vscode/issues/48494)
42+
- Put back resume/suspend since the issue got fixed for Electron/Chromium - [Issue1052747](https://bugs.chromium.org/p/chromium/issues/detail?id=1052747) | [Issue1018499](https://bugs.chromium.org/p/chromium/issues/detail?id=1018499)
43+
- Reduce extension size - it was funny to see the previous version use Webpack to minimize the 1 file - `controller.js`
44+
- All previous versions of this extension will not work in any recent VS Code versions
3645

3746
## [1.1.0] - December 2019
3847
- Display duration
39-
- Minor bugfixes
48+
- Minor bug fixes
4049
- Remove [Semantic](https://semantic-ui.com)
4150
- Switch method suspend/resume -> start/stop
4251
- Update CSS
@@ -58,8 +67,8 @@ References:
5867

5968
Notes:
6069
- Pumped up the VS Code requirement to 1.40 due to Web Audio API bug, probably from Chrome
61-
- Just right after the 1st release, the Web Audio API stops working on 1.30 to 1.39 of VS code (VS code 1.38 stable build is on Electron 4 | Chrome 69)
62-
- The extension works (except the pause/resume function - API bug again) on VS code exploration build 1.37 with ELectron 6 | Chrome 76
70+
- Just right after the 1st release, the Web Audio API stops working on 1.30 to 1.39 of VS Code (VS Code 1.38 stable build is on Electron 4 | Chrome 69)
71+
- The extension works (except the pause/resume function - API bug again) on VS Code exploration build 1.37 with Electron 6 | Chrome 76
6372
- This extension will not be working for a while 😥
6473
---
6574

README.md

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,31 @@
11
# Spectrogram
2-
This is an extension that play and display spectrogram of mp3 and flac audio files. So, are you now curious to see how your favorite songs' spectrogram looks like? 🦝🤪💭
2+
This is an extension that plays and displays spectrograms of mp3 and flac audio files. Are you curious to see how your favorite songs' spectrograms look? 🦝🤪💭
33

44
![Spectrogram2.0.0](media/vscodeignore/spec-sc3.png)
55

66
## Release Notes
77

8+
### 3.0.0
9+
- Added support for `WAV`
10+
- Added seekbar
11+
- Added color configuration
12+
- Fixed bugs
13+
- Improved treeview
14+
- New logo and icon
15+
816
### 2.0.0
9-
- Add `flac` support
10-
- Add 5s seeking buttons
11-
- Extension size greatly reduce
17+
- Added support for `FLAC`
18+
- Added 5-second seeking buttons
19+
- Greatly reduced extension size
1220

1321
### 1.1.0
14-
- Improve UI
15-
- Fix pause/resume
16-
- Fix minor bugs
17-
- Refactor code
22+
- Improved UI
23+
- Fixed pause/resume
24+
- Fixed minor bugs
25+
- Refactored code
1826

1927
### 1.0.1
20-
- Fix path issue for MacOS
28+
- Fixed path issue for macOS
2129

2230
### 1.0.0
2331
- Initial release of Spectrogram

eslint.config.mjs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import globals from 'globals'
2+
3+
export default [
4+
{ ignores: ['dist'] },
5+
{
6+
files: ['**/*.js', '**/*.mjs'],
7+
languageOptions: {
8+
globals: {
9+
...globals.commonjs,
10+
...globals.node,
11+
...globals.mocha,
12+
...globals.browser
13+
},
14+
ecmaVersion: 2022,
15+
sourceType: 'module'
16+
},
17+
rules: {
18+
'comma-dangle': ['error', 'never'],
19+
'constructor-super': 'warn',
20+
'eol-last': ['error', 'always'],
21+
'max-len': ['error', { code: 120 }],
22+
'no-const-assign': 'warn',
23+
'no-this-before-super': 'warn',
24+
'no-throw-literal': 'warn',
25+
'no-trailing-spaces': 'error',
26+
'no-undef': 'warn',
27+
'no-unreachable': 'warn',
28+
'no-unused-vars': 'warn',
29+
'quote-props': ['error', 'as-needed'],
30+
'valid-typeof': 'warn',
31+
curly: ['error', 'multi-or-nest'],
32+
eqeqeq: 'error',
33+
indent: ['error', 2],
34+
quotes: ['error', 'single', { allowTemplateLiterals: true }],
35+
semi: ['error', 'never']
36+
}
37+
}]

jsconfig.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"compilerOptions": {
33
"module": "commonjs",
4-
"target": "es6",
4+
"target": "ESNext",
55
"checkJs": true /* Typecheck .js files. */,
6-
"lib": ["es6", "dom"]
6+
"lib": ["ESNext", "dom"]
77
},
88
"exclude": ["node_modules", "dist"]
99
}

media/icon.svg

Lines changed: 1 addition & 0 deletions
Loading

media/spec.png

-16.5 KB
Loading

media/vscodeignore/spec.png

56.6 KB
Loading

0 commit comments

Comments
 (0)