Giter Site home page Giter Site logo

anobaka / insideworld Goto Github PK

View Code? Open in Web Editor NEW
341.0 6.0 11.0 53.02 MB

二次元老司机专用的本地媒体文件管理器,支持管理和处理音视频、本子、图集、小说、哔哩哔哩视频、游戏甚至mod等各类资源

Home Page: https://inside-world.anobaka.com/

License: GNU General Public License v3.0

JavaScript 10.80% TypeScript 38.69% CSS 0.29% SCSS 4.41% Handlebars 0.17% C# 43.12% HTML 2.53%
acg anime doushijin comic av medialibrary filemanager bilibili-download toolkit mod-manager

insideworld's Introduction

中文|English

Inside World 是一款离线媒体管理库,用于本地媒体快速处理、搜索、预览与播放。

目前支持动画、漫画、音声、本子、电影、图集等媒体的管理,老司机食用效果更加哦~

本项目源自于本人自用软件,喜欢本软件的话请右上角star,并大力推荐给自己的朋友,感谢大家的支持。

更多内容请访问项目首页

insideworld's People

Contributors

anobaka 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

insideworld's Issues

清空所有资源

Describe the solution you'd like
强制清空所有资源

Additional context
在资源列表界面增加该功能,同时删除临时文件(预览图等)

新增自定义分类解析器

Is your feature request related to a problem? Please describe.
#5
#14

Describe the solution you'd like
随着分析器文件选择器播放器种类增加,不再hardcode解析器,而是仅保留部分内置解析器,并且允许使用者自定义解析器

Describe alternatives you've considered
每个自定义解析器包含:

  • 名称
  • 分析器x1
  • 文件选择器x1
  • 播放器x1因为播放器不影响解析结果,故从解析器移出

媒体库增加多根目录支持

Describe the solution you'd like

  • 会将所有根目录的资源聚合到当前媒体库中
  • 暂不考虑将根目录信息显示在资源列表中

自定义播放器

背景

目前调用调起视频播放器的方式是通过注册表获取可执行文件地址,并根据StartFileSelector返回的内容构造m3u列表,再通过系统命令调用。因为不是所有播放器都有注册表通用的m3u加载方式,暂时仅支持PotPlayer。

需求

需要支持用户自定义播放器,不仅用于视频,还有图片、音声和文本等

实现步骤

  1. 增加CustomPlayer继承于IPlayer
  2. 每个播放器可配置以下属性
    1. 可执行文件路径
    2. 启动命令模板
      1. 提供files数组参数,规则待定
  3. Resolver可以与IPlayer绑定

可能的问题

实现步骤2可能会有兼容性问题和配置难度,待定

为标签增加颜色

  • 在创建/修改标签时可以设置标签颜色
  • 在资源界面里,标签会以各自的颜色展示

移除自定义分类解析器

Describe the solution you'd like
#17
为简化业务架构并增加后续扩展性,会移除自定义分类解析器,将各组件(分析器文件选择器播放器)直接与分类绑定

资源快捷搜索

Describe the solution you'd like
在资源名称分析完成后,针对不同的文字块增加一键搜索能力

Additional context

UX%10EXWYC4MILCTWWEZ~2{F$V}R @Q1INBD)S7}JSW7@NZ$2{_DN~WU2{4RAK0XER416G81RT_7%9LYQZM2JKO

支持单文件资源

Describe the solution you'd like
针对散图文本等资源,可能会需要将单个文件视作一个资源

暂定统一规则:媒体库根目录下的一级文件/文件夹都将被同步操作解析为一个资源

增加封面查找器的配置

Describe the solution you'd like

  • 画师的封面图需要按照修改日期倒序取第一张
  • 本子的封面图需要取正序第一张
  • #37

Describe alternatives you've considered
需要考虑以下几种实现方案:

  • 将选取顺序以及附加选择方案(压缩包)作为封面选择器的配置
  • 将选取顺序以及附加选择方案作为封面选择器的规则之一,配置封面选择器时可自由搭配。 初期需求不明确,暂采用简易方案

Additional context
Add any other context or screenshots about the feature request here.

交互优化

分类

  • 固定组件排序
  • 组件设置错误提示
    image
  • 前置自定义组件
    image
  • 优化可用组件展示格式

媒体库

  • 增加可用空间提示
  • 通过系统自带的文件夹选择器选取根目录

自定义组件

  • 优化720p窗口布局
  • 弹窗可通过点击遮罩区域关闭
  • [可播放文件选择器PlayableFileSelector]现在识别成功的后缀将会显示在输入框下方
    image
  • [播放器Player]通过系统自带的文件选择器选取文件
    image

标签

  • 优化标签交互
    image
    image

资源

  • 调整部分组件间距
  • 上移标签筛选列表

系统配置

  • 移除暂未启用的配置
  • 中文化

如何删除资源/清空媒体库

因为一些原因,暂不支持任何与文件系统相关的修改与删除功能。
目前可通过以下方式清空媒体库:

  1. 修改目标媒体库的根目录
  2. 执行同步媒体库操作
  3. 将目标媒体库根目录还原

新增自定义文件查找器

Is your feature request related to a problem? Please describe.
#14

Describe the solution you'd like
新增自定义文件查找器,配合#17,减少发布频次

Describe alternatives you've considered
每个自定义文件查找器包含:

  • 一组文件后缀名
  • 最大匹配文件数量

增加标签功能

增加标签功能

  • 支持创建、删除、修改标签
  • 支持标签与媒体绑定
  • 支持按标签搜索媒体

删除当前预览图

Describe the solution you'd like
某些广告图可能会成为预览图

  • 增加单资源和多资源删除预览图功能
  • 需要同步删除数据目录原始目录的预览图
  • 删除后自动寻找下一个目标作为预览图
  • 需要增加字段保存原始目录的预览图,因为新版本查找到的预览图可能和老版本不一致,所以该字段不提供自动迁移功能,需要手动同步媒体库
  • 如果预览图是从压缩包提取出来的,则不删除原始目录的预览图
  • 如果预览图是单文件散图资源本身,则不删出原始目录的预览图

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

一键增量升级

Describe the solution you'd like
1. 新增Guardian,启动自动更新。
1. 获取版本信息
2. 如有更新,自动下载(支持断点续传)
3. 提供跳过更新直接使用的按钮
2. 反射加载主entry
1. 需要调整用到了ExecutingAssembly的代码

  1. 新增Updater,自动下载差异文件
  2. 下载完后提示重启更新
  3. 本次升级后,GUI版本不再更新,保持1.0.0,每次更新仅改动Core Dll版本

image

如何彻底删除程序产生的数据

InsideWorld会将一部分数据保存在App Data Path内,如图
https://user-images.githubusercontent.com/2888789/146113550-c2de1050-960c-4927-8c1c-2da6245235fc.png

该文件夹的路径为你的系统盘\Users\你的用户名\Roaming\Bakabase.InsideWorld.App

  • 如果你是通过Windows资源管理器逐级进入,需要显示隐藏文件夹才可以看到Roaming文件夹
  • 也可以通过直接在Windows资源管理器地址栏输入%APPDATA%\Bakabase.InsideWorld.App进入

这部分数据目前不会在卸载软件时自动删除,请在关闭程序的情况下,手动删除该文件夹即可

跨设备数据共享方案

背景

  1. 不同软件运行环境+同一批资源的环境下,可能需要跨设备共享数据,如标签等
  2. 同一个物理存储设备在不同软件运行环境下路径可能不同

方案

为资源创建nfo文件

每个meta文件包含以下信息

  • 唯一id
  • 版本号
  • 更新时间
  • 创建时间
  • 资源业务属性(名称、发售日、出版商/作者等)
  • 标签信息(标签名称列表)

nfo文件命名规则

  • 文件夹资源:{文件夹}/resource.nfo
  • 文件资源:{同级目录}/{文件名}.resource.nfo

读取

  • 在同步媒体库时,优先读取nfo文件,覆盖本地db数据
  • 根据标签名动态创建标签

写入

  • 同步媒体库时,如果没有nfo文件,则写入;
  • 调整资源与标签的关联时,更新对应资源nfo;
  • 更新资源信息时,更新对应nfo;
  • 变更标签名称时,更新全部资源nfo,此处可能会花费较长时间

nfo与本地数据冲突的情况

  • 在修改db数据时,优先更新nfo,nfo更新成功后再修改db数据;
  • 如果更新nfo文件失败(一般源自于本地硬盘不可读等情况),且db数据已被修改不可回滚的情况下,不进行任何修复,后续会有2种情况
    • 该资源继续被更新,那么此时会再次用该资源的最新信息尝试更新nfo文件;
    • 如果进行了媒体库同步操作,那么该nfo会覆盖当前db中的资源信息,此时需要人工再次在软件中修改该资源信息;

自动优化资源名称

背景

目前部分资源解析器具备一定的资源信息提取功能,但未将优化的名称保存至系统目录。

目标

在资源同步后,将优化后的名称应用到文件夹上

样例

如果使用了InsideWorld资源解析器,并且扫描到名称为

(C96)(Digital) [MIGNON WORKS (mignon)] JK×ONAKA #01 (阿姆斯特朗回旋炮汉化组)

的资源,将会在同步后自动将其变更为

[MIGNON WORKS(mignon)]JK×ONAKA #01[CN]

特殊情况

  • 文件夹在修改后可能同名
  • 特殊字符

新增文本资源解析器

Describe the solution you'd like
新增文本解析器,用于分析文本资源

Additional context

  • 新增文本文件查找器
  • 创建文本解析器并关联InsideWorld分析器以及文本文件查找器

增加资源列表展示模式

Describe the solution you'd like

  • 可以自由调整列数3-n
    • 单资源最小宽度unitWidth=140
    • max(n)=floor(clientWidth / unitWidth)

优化本地日志

  • 缩短日志保存时间至2周
  • 日志分块:100MB,最多保存10个文件
  • 启动失败时弹出本地日志文件夹
  • 增加打开本地日志文件夹的UI入口

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.