Arturia V Collection の database

いつの頃からか Arturia V Collection のファクトリープリセットが二重に出てくるようになっていました。アンインストールの後、再インストールしても解消されません。どうやらプリセットを記録しているデータベースに関しては、アンインストール時に手を付けられていない様子です。

結局のところ、ファクトリープリセットが保存されているディレクトリーを別のところに退避してから再インストールすることで、二重に表示されることはなくなりました。つまりはデータベースの再構築です。

データベース自体は SQLite なので中を見れます。退避させていたデータベースは sqlite3 で開こうとしても開けないようで、なにやら腐っていた様子。新規に作ったものは中を覗けますが。

というわけで、以下のような構造になっていましたというメモを残しておきます。

CREATE TABLE `Booleans`(
    `value` INTEGER NOT NULL,
    PRIMARY KEY(value) );

CREATE TABLE `Characteristics`(
    `key_id` INTEGER,
    `name` TEXT UNIQUE NOT NULL,
    PRIMARY KEY(key_id)
);

CREATE TABLE `Instruments`(
    `key_id` INTEGER,
    `name` TEXT NOT NULL,
    `version` TEXT NOT NULL,
    `category_id` INTEGER,
    PRIMARY KEY(key_id)
);

CREATE TABLE `Packs`(
    `key_id` INTEGER,
    `name` TEXT NOT NULL,
    `factory` INTEGER DEFAULT 0,
    PRIMARY KEY(key_id),
    CONSTRAINT uc_Pack UNIQUE(name, factory)
);

CREATE TABLE `Playlists`(
    `key_id` INTEGER,
    `name` TEXT NOT NULL DEFAULT '',
    `idx` INTEGER DEFAULT 0,
    `instrument_id` INTEGER DEFAULT 0,
    `factory` INTEGER DEFAULT 0,
    PRIMARY KEY(key_id)
);

CREATE TABLE `Preset_Characteristics`(
    `key_id` INTEGER NOT NULL,
    `preset_key` INTEGER,
    `characteristic_key` INTEGER,
    PRIMARY KEY(key_id),
    FOREIGN KEY(`preset_key`) REFERENCES Preset_Id(key_id),
    FOREIGN KEY(`characteristic_key`) REFERENCES Characteristics(key_id),
    CONSTRAINT uc_Preset_Char UNIQUE(preset_key, characteristic_key)
);

CREATE TABLE `Preset_Id`(
    `key_id` INTEGER,
    `name` TEXT NOT NULL,
    `type` INTEGER NOT NULL,
    `instrument_key` INTEGER NOT NULL,
    `sound_designer` INTEGER NOT NULL,
    `rating` REAL NOT NULL DEFAULT 0.0,
    `pack` INTEGER NOT NULL,
    `comment` TEXT NOT NULL DEFAULT '',
    `file_path` TEXT UNIQUE NOT NULL,
    `time_last_save` TEXT NOT NULL,
    `favorite` INTEGER DEFAULT 0,
    `instrument_variation_key_id` INTEGER DEFAULT 1,
    `featured_idx` INTEGER DEFAULT 10000,
    `mode` INTEGER DEFAULT 0,
    `hide_in_browser` INTEGER DEFAULT 0,
    `sample_duration` INTEGER DEFAULT 0,
    PRIMARY KEY(key_id),
    FOREIGN KEY(`instrument_key`) REFERENCES Instruments(key_id)
);

CREATE TABLE `Preset_Metadata`(
    `key_id` INTEGER NOT NULL,
    `preset_key` INTEGER NOT NULL,
    `name` TEXT NOT NULL,
    `value` TEXT NOT NULL,
    PRIMARY KEY(`key_id`),
    FOREIGN KEY(`preset_key`) REFERENCES Preset_Id(key_id),
    CONSTRAINT uc_Metadata UNIQUE(preset_key, name)
);

CREATE TABLE `Preset_Playlists`(
    `key_id` INTEGER NOT NULL,
    `preset_key` INTEGER DEFAULT - 1,
    `playlist_key` INTEGER,
    `idx` INTEGER DEFAULT 0,
    PRIMARY KEY(key_id),
    FOREIGN KEY(`preset_key`) REFERENCES Preset_Id(key_id),
    FOREIGN KEY(`playlist_key`) REFERENCES Playlists(key_id)
);

CREATE TABLE `Preset_ProductIds`(
    `key_id` INTEGER NOT NULL,
    `preset_key` INTEGER NOT NULL,
    `product_id` INTEGER NOT NULL,
    PRIMARY KEY(key_id),
    FOREIGN KEY(`preset_key`) REFERENCES Preset_Id(key_id),
    CONSTRAINT uc_Preset_ProductId UNIQUE(preset_key, product_id)
);

CREATE TABLE `Purchasable_Packs`(
    `product_id` INTEGER NOT NULL,
    `instrument_id` INTEGER DEFAULT 0,
    `name` TEXT NOT NULL,
    `buy_url` TEXT NOT NULL,
    `baseline` TEXT NOT NULL,
    `description` TEXT NOT NULL,
    `price` TEXT,
    `is_free` INTEGER DEFAULT 0,
    `preset_count` INTEGER DEFAULT 0,
    `icons_folder` TEXT NOT NULL DEFAULT '',
    `parents` TEXT NOT NULL DEFAULT '',
    `title_color` TEXT NOT NULL DEFAULT '',
    `bg_color` TEXT NOT NULL DEFAULT '',
    `base_price` TEXT DEFAULT '',
    `is_currently_free` INTEGER DEFAULT 0,
    `offer_label` TEXT NOT NULL DEFAULT '',
    `discount` TEXT NOT NULL DEFAULT '',
    PRIMARY KEY(`product_id`, `instrument_id`)
);

CREATE TABLE `Purchasable_Packs_Preview`(
    `key_id` INTEGER NOT NULL,
    `product_id` INTEGER NOT NULL,
    `instrument_id` INTEGER DEFAULT 0,
    `name` TEXT NOT NULL,
    PRIMARY KEY(`key_id`),
    FOREIGN KEY(`product_id`) REFERENCES Purchasable_Packs(product_id),
    FOREIGN KEY(`instrument_id`) REFERENCES Purchasable_Packs(instrument_id),
    CONSTRAINT uc_Pack_Preview UNIQUE(product_id, instrument_id, name)
);

CREATE TABLE `Sound_Designers`(
    `key_id` INTEGER,
    `name` TEXT UNIQUE NOT NULL,
    PRIMARY KEY(key_id)
);

CREATE TABLE `Status`(
    `name` TEXT NOT NULL,
    `value` TEXT NOT NULL,
    `timestamp` TEXT NOT NULL,
    PRIMARY KEY(name)
);

CREATE TABLE `Types`(
    `key_id` INTEGER,
    `name` TEXT UNIQUE NOT NULL,
    PRIMARY KEY(key_id)
);

CREATE TABLE `Variations`(
    `key_id` INTEGER,
    `name` TEXT NOT NULL,
    `variation_idx` INTEGER DEFAULT 0,
    `instrument_id` INTEGER DEFAULT 0,
    PRIMARY KEY(key_id),
    CONSTRAINT uc_Variation UNIQUE(variation_idx, name, instrument_id)
);

コメント

  1. I am very impressed with your post because this post is very beneficial for me and provide a new knowledge to me

    Waves 11 Full Bundle for Windows
    KORG Legacy Crack

    返信削除

コメントを投稿

このブログの人気の投稿

Roland U-220 の電池を交換した話

VPS Avenger の VMAN にログインできた話

TimewARP 2600 を手に入れたので ARP 2600 のことを少し調べてみた